Interdire l'ajout et la modification de fichiers en interactif dans un dossier

Bonjour,
j’ai mis des images nécessaires au fonctionnement du plugin dans /data/images. Le but est que l’utilisateur puisse importer des images dans /data et utiliser pour son propre usage la banque d’images présentes dans /data/images.
Pour récupérer, ajouter et supprimer une image j’utilise le script jeedom :
index.php?v=d&plugin=’+pluginName+’&modal=modal.uploadImage
qui fait parfaitement le travail.

Cependant, l’utilisateur peut supprimer tous les fichiers de /data/images et je voudrais qu’il ne puisse ni supprimer ni ajouter.
J’ai essayé chmod mais ça ne fonctionne pas car l’utilisateur a les droits super utilisateur.
La seule chose que j’ai trouvé c’est :
sudo chattr +i -R $dir
et lors de la désinstallation ou de l’update du plugin :
sudo chattr -i -R $dir
Ca fait parfaitement le boulot en interdisant de supprimer/ajouter des fichiers.

Je pense que c’est un peu dangereux d’avoir un dossier inaccessible au super utilisateur et nécessite que le plugin soit fonctionnel pour rendre ce dossier accessible.

Avez-vous une autre idée ?

heu… pourquoi tu les mets immutable ?

relire le post.

ah tu as édité, ca n’indique pas pourquoi tu ne veux pas qu’ils soient modifiés :wink:

Je permet à l’utilisateur d’un jeedom de se servir des images du plugin. Elles ont été mises dans /data/images. Le script (uploadimages de Jeedom) qui fait de l’upload a les droits sudo et donc peut effacer ces images nécessaires au plugin. Je pourrais les dupliquer mais les images c’est une grosse partie du poids du plugin déjà très lourd.

voir ici (accessible uniquement aux développeurs) :

tu peux pas faire un /data/customImg ou il peut envoyer ses images perso comme ca il touche pas à celles de base que tu veux pas ecraser, après il écrase ses propres images, pas grave

1 « J'aime »

il faut que tu m’en dises plus

ok je déplace notre conversation sous ton autre sujet

voilà, donc si j’ai bien compris, tu as des images qui arrivent avec ton pplugin dans /data/images et tu donnes aussi la possibilité d’uploader les images perso et tu veux pas qu’en uploadant les images perso, les users ecrasent celles d’origine ?

oui à peu près.
/data : possibilité de charger/supprimer/utiliser des images
/data/images : uniquement possibilité d’utiliser ces images (celles qui viennent avec le plugin)
mais je peux réorganiser les fichiers autrement en évitant la duplication.

/data/mesImages : uniquement les images uploadées par l’utilisateur et s’il écrase ses propres images tant pis. et comme ca t’as pas besoin de passer /data/images en immutable puisque le script upload dans /data/mesImages

Ok mais c’est ce même script qui permet de sélectionner une image (uploadée ou native au plugin) pour l’attribuer à un périphérique du plugin.

ah donc tu dois mettre le meme path ?

oui c’est le même script qui upload supprime sélectionne (pour l’utiliser ailleurs)
le plugin fait 16Mo dont 8 d’images.

ok donc tu peux pas faire :
/data/imagesOrigine
/data/imagesUser pour uploader
et pointer ton script sur /data pour loader ?

1 « J'aime »

non ou alors un script pour l’upload et un autre pour le load mais c’'est pas terible du point de vue interface car le script loader aura tous les boutons supprimer/ajouter…

1 « J'aime »

ah ben voilà :wink:

je n’ai pas trouvé comment enlever de l’interface du script ci-dessus la possibilité d’uploader/supprimer.

peut être voir si @kiboost n’a pas une idée ? #interfaceMAN

d’où ma question ici.