Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
permissions [Le 25/08/2018, 00:01]
Roschan retrait d'une note obsolète
permissions [Le 29/02/2024, 12:03] (Version actuelle)
Amiralgaby ancienne révision (Le 04/08/2023, 15:33) restaurée
Ligne 24: Ligne 24:
  
 ^ Pour un fichier ^ Pour un répertoire ^ ^ Pour un fichier ^ Pour un répertoire ^
-| {{permissions_nautilus_fichier.png?​380}} | {{permissions_nautilus_répertoire.png?350}} |+| {{permissions_nautilus_fichier.png?​380}} | {{permissions_nautilus_dossier.png?400}} |
  
 Pour le **Propriétaire** et le **Groupe**, vous pouvez choisir dans le menu déroulant correspondant de donner les droits en **lecture et écriture** ou **lecture seule**.\\ Pour le **Propriétaire** et le **Groupe**, vous pouvez choisir dans le menu déroulant correspondant de donner les droits en **lecture et écriture** ou **lecture seule**.\\
Ligne 32: Ligne 32:
  
 Lorsqu'​il s'agit d'un répertoire,​ pour le **Propriétaire** et **Groupe** vous pouvez choisir entre **Création et suppression des fichiers**, **Accès aux fichiers**, et **Lister seulement les fichiers**.\\ Lorsqu'​il s'agit d'un répertoire,​ pour le **Propriétaire** et **Groupe** vous pouvez choisir entre **Création et suppression des fichiers**, **Accès aux fichiers**, et **Lister seulement les fichiers**.\\
-Pour les **Autres**, vous pouvez choisir entre **Création et suppression des fichiers**, **Accès aux fichiers**, **Lister seulement les fichiers** et **Aucun**+Pour les **Autres**, vous pouvez choisir entre **Création et suppression des fichiers**, **Accès aux fichiers**, **Lister seulement les fichiers** et **Aucun**.
  
 <note tip>La section suivante (en ligne de commande) détaille un peu plus les différentes possibilités de permissions.</​note>​ <note tip>La section suivante (en ligne de commande) détaille un peu plus les différentes possibilités de permissions.</​note>​
Ligne 48: Ligne 48:
 </​file>​ </​file>​
  
-Le premier symbole peut être « »« », soit « », entres autres ([[wpfr>​Permissions_UNIX#​Norme_POSIX|toutes les options sur la page permissions Unix sur wikipédia]])). Il indique la nature du fichier :+Le premier symbole peut être ''​-''​''​d''​, soit ''​l''​, entres autres ([[wpfr>​Permissions_UNIX#​Norme_POSIX|toutes les options sur la page permissions Unix sur wikipédia]])). Il indique la nature du fichier :
   * **-** : fichier classique   * **-** : fichier classique
-  * **d** : répertoire +  * **d** : //​directory// ​: répertoire 
-  * **l** : lien symbolique+  * **l** : //​link// ​: lien symbolique 
 +  * **c** : //​character//​ : périphérique de type caractère 
 +  * **b** : //block// : périphérique de type bloc 
 +  * **p** : //​[[wpfr>​Tube_nommé|pipe]]//​ : tube, tuyau ou file (d'​attente),​ (voir aussi [[wpfr>​File_(structure_de_données)|FIFO]]) 
 +  * **s** : //socket//
  
 Suivent ensuite 3 groupes de 3 symboles chacun, indiquant si le fichier (ou répertoire) est autorisé en lecture, écriture ou exécution. Les 3 groupes correspondent,​ dans cet ordre, aux droits du propriétaire,​ du groupe puis du reste des utilisateurs. Dans le paragraphe introductif,​ vous aurez remarqué des lettres en gras dans les termes anglais. Ce sont ces lettres qui sont utilisées pour symboliser lesdites permissions. Si la permission n'est pas accordée, la lettre en question est remplacé par « - ». Suivent ensuite 3 groupes de 3 symboles chacun, indiquant si le fichier (ou répertoire) est autorisé en lecture, écriture ou exécution. Les 3 groupes correspondent,​ dans cet ordre, aux droits du propriétaire,​ du groupe puis du reste des utilisateurs. Dans le paragraphe introductif,​ vous aurez remarqué des lettres en gras dans les termes anglais. Ce sont ces lettres qui sont utilisées pour symboliser lesdites permissions. Si la permission n'est pas accordée, la lettre en question est remplacé par « - ».
 Si l'on reprend les lettres données pour lecture/​écriture/​exécution (**r**ead/​**w**rite/​e**x**ecute),​ nous obtenons : **rwx**. Si l'on reprend les lettres données pour lecture/​écriture/​exécution (**r**ead/​**w**rite/​e**x**ecute),​ nous obtenons : **rwx**.
 +
 +<note tip>
 +Une autre commande très pratique permet de visualiser d'un coup les droits (et les propriétaires) de tous les répertoires parents (voir [[:​chemins]]) d'une ressource spécifique :
 +<​code>​namei -mo /​chemin/</​code>​
 +</​note>​
  
 === Explication par l'​exemple === === Explication par l'​exemple ===
Ligne 64: Ligne 73:
 </​file>​ </​file>​
  
-Il se traduit de la manière suivante : +Il se traduit de la manière suivante :
  
   * **d** : c'est un répertoire.   * **d** : c'est un répertoire.
   * **rwx** pour le 1er groupe de 3 symboles : son propriétaire peut lire, écrire et exécuter.   * **rwx** pour le 1er groupe de 3 symboles : son propriétaire peut lire, écrire et exécuter.
-  * **r-x** pour le 2nd groupe de 3 symboles : le groupe peut uniquement lire et exécuter le fichier, sans pouvoir le modifier.+  * **r-x** pour le 2e groupe de 3 symboles : le groupe peut uniquement lire et exécuter le fichier, sans pouvoir le modifier.
   * **r-x** pour le 3ème groupe de 3 symboles : le reste du monde peut uniquement lire et exécuter le fichier, sans pouvoir le modifier.   * **r-x** pour le 3ème groupe de 3 symboles : le reste du monde peut uniquement lire et exécuter le fichier, sans pouvoir le modifier.
  
-En pratique, en exécutant la commande suivante,+En pratique, en exécutant la commande suivante ​:
 <​code> ​ ls -l</​code>​ <​code> ​ ls -l</​code>​
  
Ligne 93: Ligne 102:
   * Le 1er caractère est **-** => c'est un fichier.   * Le 1er caractère est **-** => c'est un fichier.
   * Le premier groupe de 3 caractères est **rw-** => le propriétaire a le droit de lecture et écriture (mais pas d'​exécution) sur le fichier.   * Le premier groupe de 3 caractères est **rw-** => le propriétaire a le droit de lecture et écriture (mais pas d'​exécution) sur le fichier.
-  * Les 2 groupes suivants sont **r%%--%%** => Les utilisateurs du groupe et les autres n'ont que le droit de lecture (pas d'​écriture,​ ni d'​exécution)+  * Les 2 groupes suivants sont **r%%--%%** => Les utilisateurs du groupe et les autres n'ont que le droit de lecture (pas d'​écriture,​ ni d'​exécution) ​.
  
 ===== Modifier les permissions ===== ===== Modifier les permissions =====
  
-<note tip>Les informations ci-dessous sont très importantes pour la compréhension et la maîtrise des permissions. Cependant, si vous voulez calculer rapidement la valeur d'une permission des outils le font pour nous. Ex : [[http://​www.onlineconversion.com/​html_chmod_calculator.htm| CHMOD calculator]]</​note>​+<note tip>Les informations ci-dessous sont très importantes pour la compréhension et la maîtrise des permissions. Cependant, si vous voulez calculer rapidement la valeur d'une permission des outils le font pour nous. Ex : [[https://​www.onlineconversion.com/​html_chmod_calculator.htm| CHMOD calculator]]</​note>​
  
 ==== Graphiquement ==== ==== Graphiquement ====
Ligne 107: Ligne 116:
 Un fichier a un **propriétaire** et un **groupe**. Nous pouvons les changer. Un fichier a un **propriétaire** et un **groupe**. Nous pouvons les changer.
  
-=== chown ===+=== chown, pour changer le propriétaire ​===
 La commande ''​chown''​ (//​**ch**ange **own**er//,​ changer le propriétaire) permet de changer le propriétaire du fichier. Seuls le super-utilisateur ou le propriétaire actuel d'un fichier peut utiliser ''​chown''​. La commande s'​utilise de la façon suivante : La commande ''​chown''​ (//​**ch**ange **own**er//,​ changer le propriétaire) permet de changer le propriétaire du fichier. Seuls le super-utilisateur ou le propriétaire actuel d'un fichier peut utiliser ''​chown''​. La commande s'​utilise de la façon suivante :
 <​code>​sudo chown toto fichier1</​code>​ <​code>​sudo chown toto fichier1</​code>​
 Le fichier ''​fichier1''​ appartient maintenant à l'​utilisateur ''​toto''​. Le fichier ''​fichier1''​ appartient maintenant à l'​utilisateur ''​toto''​.
  
-**chown** permet aussi de changer en une seule commande le propriétaire et le groupe du fichier : +=== chgrp, pour changer le groupe ​===
-<​code>​ sudo chown toto:​lesPotes fichier1</​code>​ +
-Le fichier ''​fichier1''​ appartient alors à l'​utilisateur ''​toto''​ et au groupe ''​lesPotes''​. +
- +
-=== chgrp ===+
   ​   ​
 La commande **chgrp** (pour **ch**ange **gr**ou**p**) permet de changer le groupe auquel appartient le fichier. Tous les membres de ce groupe seront concernés par les permissions du groupe de la 2ème série de **rwx**. Encore une fois, seuls le super-utilisateur ou __le propriétaire actuel__ d'un fichier peut utiliser ''​chgrp''​ (un membre du groupe ne peut pas changer le groupe propriétaire). La commande s'​utilise de la façon suivante : La commande **chgrp** (pour **ch**ange **gr**ou**p**) permet de changer le groupe auquel appartient le fichier. Tous les membres de ce groupe seront concernés par les permissions du groupe de la 2ème série de **rwx**. Encore une fois, seuls le super-utilisateur ou __le propriétaire actuel__ d'un fichier peut utiliser ''​chgrp''​ (un membre du groupe ne peut pas changer le groupe propriétaire). La commande s'​utilise de la façon suivante :
Ligne 123: Ligne 128:
 //Quand l'​utilisateur actuel n'est pas le propriétaire actuel du fichier, il sera nécessaire de faire précéder la commande par ''​[[:​sudo]]'',​ puisqu'​elle devra être effectuée avec les droits d'​administration.//​ //Quand l'​utilisateur actuel n'est pas le propriétaire actuel du fichier, il sera nécessaire de faire précéder la commande par ''​[[:​sudo]]'',​ puisqu'​elle devra être effectuée avec les droits d'​administration.//​
  
-=== chown, pour changer simultanément le propriétaire et le groupe ​propriétaire ​===+=== chown, pour changer simultanément le propriétaire et le groupe ===
 Pour changer à la fois le propriétaire //et// le groupe propriétaire,​ une syntaxe particulière de la commande ''​chown''​ peut être utilisée. Encore une fois, seuls le super-utilisateur ou __le propriétaire actuel__ d'un fichier peut utiliser ''​chown''​ (un membre du groupe ne peut pas effectuer de changement de propriété). La commande s'​utilise de la façon suivante : Pour changer à la fois le propriétaire //et// le groupe propriétaire,​ une syntaxe particulière de la commande ''​chown''​ peut être utilisée. Encore une fois, seuls le super-utilisateur ou __le propriétaire actuel__ d'un fichier peut utiliser ''​chown''​ (un membre du groupe ne peut pas effectuer de changement de propriété). La commande s'​utilise de la façon suivante :
 <​code>​chown nouveau_propriétaire:​nouveau_groupe_propriétaire nom_du.fichier</​code>​ <​code>​chown nouveau_propriétaire:​nouveau_groupe_propriétaire nom_du.fichier</​code>​
Ligne 131: Ligne 136:
 <​code>​chown utilisateur2:​groupe2 foo.txt</​code>​ <​code>​chown utilisateur2:​groupe2 foo.txt</​code>​
  
-=== chmod ===+=== chmod, pour changer les droits ​===
  
-L'​outil ''​chmod''​ (//​**ch**ange **mod**e//, changer les permissions) permet de modifier les permissions sur un fichier. Il peut s'​employer de deux façons : soit en précisant les permissions de manière octale, à l'aide de chiffres((Quand on vous propose d'​effectuer un ''​chmod 777''​ sur un fichier, cette représentation des permissions est la manière octale. Chaque chiffre correspond à l'​ensemble des permissions attribuées à chacune des catégories d'​utilisateurs. Cette manière chiffrée est sans doute moins intuitive pour les néophytes.)) ; soit en ajoutant ou en retirant des permissions à une ou plusieurs catégories d'​utilisateurs à l'aide des symboles ''​r w et x'',​ que nous avons présenté ​plus haut. Nous préférerons présenter cette seconde façon ("​ajout ou retrait de permissions à l'aide des symboles"​),​ car elle est probablement plus intuitive pour les néophytes. Sachez seulement que les deux méthodes sont équivalentes,​ c'​est-à-dire qu'​elles affectent toutes deux les permissions de la même manière.+L'​outil ''​chmod''​ (//​**ch**ange **mod**e//, changer les permissions) permet de modifier les permissions sur un fichier. Il peut s'​employer de deux façons : soit en précisant les permissions de manière octale, à l'aide de chiffres((Quand on vous propose d'​effectuer un ''​chmod 777''​ sur un fichier, cette représentation des permissions est la manière octale. Chaque chiffre correspond à l'​ensemble des permissions attribuées à chacune des catégories d'​utilisateurs. Cette manière chiffrée est sans doute moins intuitive pour les néophytes.)) ; soit en ajoutant ou en retirant des permissions à une ou plusieurs catégories d'​utilisateurs à l'aide des symboles ''​r w et x'',​ que nous avons présentés ​plus haut. Nous préférerons présenter cette seconde façon ("​ajout ou retrait de permissions à l'aide des symboles"​),​ car elle est probablement plus intuitive pour les néophytes. Sachez seulement que les deux méthodes sont équivalentes,​ c'​est-à-dire qu'​elles affectent toutes deux les permissions de la même manière.
  
 == En gérant chaque droit séparément == == En gérant chaque droit séparément ==
Ligne 179: Ligne 184:
   * Pour **rw-**, on aura : 4+2+0 = 6   * Pour **rw-**, on aura : 4+2+0 = 6
   * Pour **r%%--%%**,​ on aura : 4+0+0 = 4   * Pour **r%%--%%**,​ on aura : 4+0+0 = 4
-Ce qui permet de faire toute les combinaisons :+Ce qui permet de faire toutes ​les combinaisons :
 <box> <box>
   * 0 : **''​- - -''​** (aucun droit)   * 0 : **''​- - -''​** (aucun droit)
Ligne 201: Ligne 206:
 === Récursivement === === Récursivement ===
  
-Pour chacune de ces commandes, on peut les lancer récursivement sur un répertoire. C'est à dire que l'​action sera effectuée sur le répertoire désigné et sur tous les fichiers ou répertoires qu'il contient. Ceci se fait en ajoutant l'​option **-R**+Pour chacune de ces commandes, on peut les lancer récursivement sur un répertoire. C'est à dire que l'​action sera effectuée sur le répertoire désigné et sur tous les fichiers ou répertoires qu'il contient. Ceci se fait en ajoutant l'​option **-R** ​.
  
 <note warning>​Attention! Un ''​chmod -R''​ mal employé peut rendre votre système définitivement inutilisable. <note warning>​Attention! Un ''​chmod -R''​ mal employé peut rendre votre système définitivement inutilisable.
Ligne 247: Ligne 252:
  
 <​note>​Deux autres options bien pratiques : <​note>​Deux autres options bien pratiques :
-  * Pour afficher un message si et seulement si les permissions ont changé : +  * Pour afficher un message si et seulement si les permissions ont changé :
 <​code>​chmod -c <​option>​ <​fichier>​ </​code> ​ <​code>​chmod -c <​option>​ <​fichier>​ </​code> ​
-  * Pour travailler récursivement sur tous les fichiers d'un répertoire et de ses sous-répertoires : +  * Pour travailler récursivement sur tous les fichiers d'un répertoire et de ses sous-répertoires :
 <​code>​chmod -R repertoire </​code>​ <​code>​chmod -R repertoire </​code>​
 </​note>​ </​note>​
Ligne 262: Ligne 267:
 -rwxr-sr-x ​ 1 root   ​ssh ​     284784 mai   ​12 ​ 2014 ssh-agent*</​code>​ -rwxr-sr-x ​ 1 root   ​ssh ​     284784 mai   ​12 ​ 2014 ssh-agent*</​code>​
  
-le bit Set-User-ID permet à un utilisateur d'​exécuter le programme avec les droits du propriétaire,​ c'est ainsi que sudo nous permet d'​exécuter des commandes en "//​root//" ​+le bit Set-User-ID permet à un utilisateur d'​exécuter le programme avec les droits du propriétaire,​ c'est ainsi que sudo nous permet d'​exécuter des commandes en "//​root//"​
  
-le bit Set-Group-ID idem que le User-ID mais par rapport groupe+le bit Set-Group-ID idem que le User-ID mais par rapport ​au groupe
  
 le bit restriction de suppression ou Sticky permet quant à lui de restreindre la suppression d'un fichier ou répertoire à son seul propriétaire. C'est le cas du répertoire /tmp : le bit restriction de suppression ou Sticky permet quant à lui de restreindre la suppression d'un fichier ou répertoire à son seul propriétaire. C'est le cas du répertoire /tmp :
Ligne 278: Ligne 283:
   * [[http://​www.math-linux.com/​spip.php?​article23|Droit et permission d'​accès aux fichiers]]   * [[http://​www.math-linux.com/​spip.php?​article23|Droit et permission d'​accès aux fichiers]]
   * [[http://​www.it-connect.fr/​la-commande-chmod/​|Gestion des droits avec CHMOD]] **(fr)**   * [[http://​www.it-connect.fr/​la-commande-chmod/​|Gestion des droits avec CHMOD]] **(fr)**
-  * [[http://​www.onlineconversion.com/​html_chmod_calculator.htm| Outils de calcul des permissions : chmod calculator]]+  * [[https://​www.onlineconversion.com/​html_chmod_calculator.htm| Outils de calcul des permissions : chmod calculator]]
   * [[http://​www.it-connect.fr/​la-gestion-des-groupes-sous-linux%ef%bb%bf/​|Gestion des groupes]] **(fr)**   * [[http://​www.it-connect.fr/​la-gestion-des-groupes-sous-linux%ef%bb%bf/​|Gestion des groupes]] **(fr)**
   * [[http://​www.it-connect.fr/​la-commande-chown/​|Gestion des propriétaires avec CHOWN]] **(fr)**   * [[http://​www.it-connect.fr/​la-commande-chown/​|Gestion des propriétaires avec CHOWN]] **(fr)**
-  * [[http://​www.it-connect.fr/​gestion-de-lumask-sous-linux/​|Gestion de l'​UMASK sous Linux]] **(fr)**+  * [[https://​www.it-connect.fr/​gestion-de-lumask-sous-linux/​|Gestion de l'​UMASK sous Linux]] **(fr)**
  
 ---- ----
  
 //​Contributeurs principaux : [[:​utilisateurs:​_Enchained]],​ [[:​utilisateurs:​mohican]]//​ //​Contributeurs principaux : [[:​utilisateurs:​_Enchained]],​ [[:​utilisateurs:​mohican]]//​
  • permissions.1535148077.txt.gz
  • Dernière modification: Le 25/08/2018, 00:01
  • par Roschan