Page 1 sur 1
Aide commande CHMOD
Posté : ven. 18 oct. 2019 12:52
par mouth
Bonjour !
Je recherche une commande chmod qui définit les autorisations d'accès à un répertoire afin que tous les utilisateurs puissent créer de nouveaux fichiers dans ce répertoire, mais seul le propriétaire d'un fichier du répertoire peut supprimer ce fichier.
Merci de votre aide !
Re: Aide commande CHMOD
Posté : ven. 18 oct. 2019 13:39
par arghlub
Salut,
ou
P'tite explication :
- l'option -R c'est pour faire du "récursif", c'est-à-dire appliquer aussi les droits aux sous-répertoires ;
- dans la 1ère commande, le "777" est une assignation en octal qui donne les permissions de lecture/écriture/exécution au proprio, à son groupe et aux autres ;
- dans la 2ème commande, qui est équivalente : a=all (tous les utilisateurs), r=read (lecture), w=write (écriture), x=exécution.
Le droit d'exécution est nécessaire sur le répertoire pour que l'on puisse le "traverser" et voir ce qu'il y a dedans.
──────────────────────────────
Un fois la commande lancée, tu peux vérifier que les permissions ont bien été appliquées avec cette commande :
ça devrait te retourner un truc du style :
Code : Tout sélectionner
drwxrwxrwx 2 ton_nom ton_groupe 4096 oct. 18 13:37 nom_répertoire/
Plus d'infos :
https://doc.ubuntu-fr.org/permissions#c ... les_droits
Re: Aide commande CHMOD
Posté : sam. 19 oct. 2019 10:51
par tescan
Bonjour,
oui mais... chmod 777 accorde tous les droits à tout le monde... y compris la suppression.
Pour ce que mouth désire, voir ici "Sticky-Bit":
https://fr.wikipedia.org/wiki/Permissio ... Sticky_Bit
Re: Aide commande CHMOD
Posté : sam. 19 oct. 2019 11:15
par arghlub
Salut
tescan,
ah oui pardon, j'avais mal saisi la question de
mouth (j'avais omis de lire la dernière phrase concernant la suppression)
merci
tescan de m'avoir repris
Donc effectivement pour que les autres puissent créer, lire, modifier des fichiers mais n'aient pas la permission de supprimer
(seul le proprio des fichiers pourra le faire), il faut effectivement y placer un “sticky bit”.
Pour cela :
Re: Aide commande CHMOD
Posté : mer. 23 oct. 2019 13:33
par mouth
Merci pour votre aide !
Si je donne les droit :
Les fichiers dans le répertoire auront également 777 non ?
Re: Aide commande CHMOD
Posté : mer. 23 oct. 2019 17:37
par arghlub
Oui, tous les fichiers auront les permissions 777
(écriture, lecture, exécution pour tout le monde) et tous les fichiers dans les sous-répertoires aussi
(grâce à l'option -R = mode “récursif”).
En plus, les fichiers et dossiers auront un “sticky bit”
(bit collant) : seuls les utilisateurs qui auront créé un fichier
(les propriétaires) pourront le supprimer.
Vu que toi, tu as le mot de passe “root”, tu pourras supprimer les fichiers des autres avec un “sudo”.
Re: Aide commande CHMOD
Posté : dim. 24 nov. 2019 11:14
par yomane
@mouth
Bonjour
Heu mettre tout un répertoire en 1777 est dangereux et spéciale. au même titre que les droits 666
N'oublie pas le rôle d'un fichier sous linux .
Expl: il peut être en txt, doc et devenir un excutable script après modification.
Donc l'interdiction de supprimer n'enlève pas le danger de le rendre exécutable en script malicieux ou pas ...
A savoir que les droits 777 sont a titre exeptionnel, certains répertoire web etc etc , et à 98% des cas pour du debug...
En pratique pour un dossier partagé on est sur du : 750, 751, 754, 755, .
Autre point, n'oublie pas ton UMASK. Car dans l'optique d'un dossier partagé, ceux qui vont crée des dossiers ou fichiers , seront overridé par l'UMASK même si tu as défini des droits 1777 a ton dossier
C'est à dire si tu as un UMASK 022
droit Récursif que tu as donné : 777
777 - 022 =755
Donc les nouveaux dossiers ou fichier crées auront des droits 755 et non 777 .
Les autres personnes ne pourront que Read (4) et Execute (1) les nouveaux dossiers ou fichiers créés.
Maintenant si c'est un dossier entre potes de confiance et que vous bosser sur un projet en local et non sur un dossier accessible par le web, why-not pour le 777, mais la règle de l'UMASK restera.