Résolu le 23-10-19 Aide commande CHMOD

Questions concernant les lignes de commandes
Répondre
mouth
Messages : 2
Enregistré le : ven. 18 oct. 2019 12:47

Aide commande CHMOD

Message 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 !

Avatar du membre
arghlub
Administrateur du site
Messages : 10421
Enregistré le : dim. 21 mai 2017 08:19
Localisation : Provence
Contact :

Re: Aide commande CHMOD

Message par arghlub »

Salut,

Code : Tout sélectionner

chmod -R 777 /chemin/vers/répertoire
ou

Code : Tout sélectionner

chmod -R a+rwx /chemin/vers/répertoire
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 :

Code : Tout sélectionner

ls -ld /chemin/vers/répertoire
ç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
;)
Tour1 (custom)CM MSI Z270 M3 | CPU Intel I7-7700K | CG Nvidia GTX 1080 | RAM 16Go | tripleBoot : Debian 11 | MXlinux 21 | LMint 19.3 | XFCE
Tour2 (custom)CM Gigabyte | CPU AMD Athlon 5200+ | CG Nvidia GTX 560 | RAM 6Go | FreeBSD 12.1 XFCE
Portable1 MSI GF75 Thin 9SC | CPU Intel I7-9750H | CG Nvidia GTX 1650 | RAM 32Go | dualBoot : LMint 20.2 | MXlinux 21 | XFCE
Portable2 MacBook Air A1466 (2015) | CPU Intel I5-5250U | CG Intel HD Graphics 6000 | RAM 8Go | dualBoot : macOS Sierra | MXlinux 21 XFCE
─────( pour une informatique libre ! -membre en stand-by de l' April.org────────────────

tescan
Messages : 388
Enregistré le : dim. 2 juil. 2017 08:53
Localisation : Comminges

Re: Aide commande CHMOD

Message 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
Intel i5-9400F, Nvidia GTX 1660ti, 16Go Ram
Mint 20.3 + Mint 21.1 Cinnamon

Avatar du membre
arghlub
Administrateur du site
Messages : 10421
Enregistré le : dim. 21 mai 2017 08:19
Localisation : Provence
Contact :

Re: Aide commande CHMOD

Message 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) :oops: :oops:
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 :

Code : Tout sélectionner

chmod -R 1777 /chemin/vers/répertoire
;)
Tour1 (custom)CM MSI Z270 M3 | CPU Intel I7-7700K | CG Nvidia GTX 1080 | RAM 16Go | tripleBoot : Debian 11 | MXlinux 21 | LMint 19.3 | XFCE
Tour2 (custom)CM Gigabyte | CPU AMD Athlon 5200+ | CG Nvidia GTX 560 | RAM 6Go | FreeBSD 12.1 XFCE
Portable1 MSI GF75 Thin 9SC | CPU Intel I7-9750H | CG Nvidia GTX 1650 | RAM 32Go | dualBoot : LMint 20.2 | MXlinux 21 | XFCE
Portable2 MacBook Air A1466 (2015) | CPU Intel I5-5250U | CG Intel HD Graphics 6000 | RAM 8Go | dualBoot : macOS Sierra | MXlinux 21 XFCE
─────( pour une informatique libre ! -membre en stand-by de l' April.org────────────────

mouth
Messages : 2
Enregistré le : ven. 18 oct. 2019 12:47

Re: Aide commande CHMOD

Message par mouth »

Merci pour votre aide !

Si je donne les droit :

Code : Tout sélectionner

chmod -R 1777 /repertoire
Les fichiers dans le répertoire auront également 777 non ?
Modifié en dernier par arghlub le mer. 23 oct. 2019 17:39, modifié 1 fois.

Avatar du membre
arghlub
Administrateur du site
Messages : 10421
Enregistré le : dim. 21 mai 2017 08:19
Localisation : Provence
Contact :

Re: Aide commande CHMOD

Message 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”.

Linuxement parlant, les répertoires/dossiers sont aussi des fichiers ... comme on dit : «sous Linux, tout est fichier» (même ton imprimante, ta souris, ton écran, etc... )
;)
Tour1 (custom)CM MSI Z270 M3 | CPU Intel I7-7700K | CG Nvidia GTX 1080 | RAM 16Go | tripleBoot : Debian 11 | MXlinux 21 | LMint 19.3 | XFCE
Tour2 (custom)CM Gigabyte | CPU AMD Athlon 5200+ | CG Nvidia GTX 560 | RAM 6Go | FreeBSD 12.1 XFCE
Portable1 MSI GF75 Thin 9SC | CPU Intel I7-9750H | CG Nvidia GTX 1650 | RAM 32Go | dualBoot : LMint 20.2 | MXlinux 21 | XFCE
Portable2 MacBook Air A1466 (2015) | CPU Intel I5-5250U | CG Intel HD Graphics 6000 | RAM 8Go | dualBoot : macOS Sierra | MXlinux 21 XFCE
─────( pour une informatique libre ! -membre en stand-by de l' April.org────────────────

Avatar du membre
yomane
Messages : 201
Enregistré le : mar. 16 août 2016 16:36
Contact :

Re: Aide commande CHMOD

Message 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.
Image
[/img]Discord : Invitation => https://discord.gg/HBWnGy3
"Jamais Souris ne confie a un seul trou sa Destinée"

Répondre