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

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 : 11563
Enregistré le : dim. 21 mai 2017 08:19
Localisation : Provence

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) CPU Intel I7-7700K | CG Nvidia GTX 1080 | RAM 16Go | tripleBoot : LMint 22.3 | Debian 12 | MX Linux | XFCE
Tour2 (custom) CPU AMD Athlon 5200+ | CG Nvidia GTX 560 | RAM 6Go | FreeBSD XFCE
Portable1 MSI GF75 Thin 9SC | CPU Intel I7-9750H | CG Nvidia GTX 1650 | RAM 32Go | dualBoot : LMint 22.1 | MX Linux | XFCE
Portable2 MacBook Air A1466 | CPU Intel I5-5250U | CG Intel HD Graphics 6000 | RAM 8Go | dualBoot : macOS Sierra | MX Linux XFCE
─────( pour une informatique libre ! )─────
tescan
Messages : 528
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
Desktop: i5-9400F, Nvidia GTX 1660ti, 16Go Ram, Mint 21.3 Cinnamon
Laptop: i5-10400H, Nvidia Quadro T1000 Mobile, 32 Go Ram, Mint 22.2 Cinnamon
Avatar du membre
arghlub
Administrateur du site
Messages : 11563
Enregistré le : dim. 21 mai 2017 08:19
Localisation : Provence

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) CPU Intel I7-7700K | CG Nvidia GTX 1080 | RAM 16Go | tripleBoot : LMint 22.3 | Debian 12 | MX Linux | XFCE
Tour2 (custom) CPU AMD Athlon 5200+ | CG Nvidia GTX 560 | RAM 6Go | FreeBSD XFCE
Portable1 MSI GF75 Thin 9SC | CPU Intel I7-9750H | CG Nvidia GTX 1650 | RAM 32Go | dualBoot : LMint 22.1 | MX Linux | XFCE
Portable2 MacBook Air A1466 | CPU Intel I5-5250U | CG Intel HD Graphics 6000 | RAM 8Go | dualBoot : macOS Sierra | MX Linux XFCE
─────( pour une informatique libre ! )─────
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 : 11563
Enregistré le : dim. 21 mai 2017 08:19
Localisation : Provence

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) CPU Intel I7-7700K | CG Nvidia GTX 1080 | RAM 16Go | tripleBoot : LMint 22.3 | Debian 12 | MX Linux | XFCE
Tour2 (custom) CPU AMD Athlon 5200+ | CG Nvidia GTX 560 | RAM 6Go | FreeBSD XFCE
Portable1 MSI GF75 Thin 9SC | CPU Intel I7-9750H | CG Nvidia GTX 1650 | RAM 32Go | dualBoot : LMint 22.1 | MX Linux | XFCE
Portable2 MacBook Air A1466 | CPU Intel I5-5250U | CG Intel HD Graphics 6000 | RAM 8Go | dualBoot : macOS Sierra | MX Linux XFCE
─────( pour une informatique libre ! )─────
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