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 29/02/2024, 10:37]
185.85.224.51 créée
permissions [Le 06/04/2025, 20:00] (Version actuelle)
krodelabestiole mise en forme
Ligne 1: Ligne 1:
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee+{{tag>​droits sécurité fichier administration }} 
 + 
 +====== Gérer les droits d'​accès (propriétés et permissions) des fichiers et répertoires ====== 
 + 
 +Les systèmes d'​exploitation inspirés d'​[[wpfr>​UNIX]] (dont Linux fait partie) possèdent la capacité de définir de façon poussée la gestion de droits d'​accès aux divers fichiers de votre OS. 
 + 
 +Les **droits d'​accès** paramétrés sur les fichiers et répertoires ne sont pas immuables : ils peuvent être changés, afin d'​accommoder des nouveaux besoins apparaissant au fil du temps d'​utilisation de votre système Ubuntu. Le présent article explique les différentes manipulations pouvant être appliquées sur des fichiers et répertoires afin d'en changer les propriétaires et les permissions. 
 + 
 +===== Les droits d'​accès : qu'​est-ce que c'est ? ===== 
 + 
 +Les droits d'​accès définissent la possession d'un fichier ou d'un répertoire à un utilisateur et à un groupe d'​utilisateurs. Ils gèrent aussi quelles actions les utilisateurs ont le droit d'​effectuer sur les fichiers (lecture, écriture et exécution),​ selon qu'ils sont propriétaire du fichier, membre du groupe propriétaire du fichier ou ni l'un ni l'​autre. La possession et la gestion des permissions associées s'​effectue individuellement avec chaque fichier. 
 + 
 +<note tip>Voir la page //​[[:​droits|Droits d'​accès sous Linux : gérer les accès aux fichiers]]//​ pour une explication générale des propriétés et permissions sous Linux.</​note>​ 
 + 
 +<note important>​Le présent document expose les diverses manipulations pouvant être effectuées sur des fichiers et répertoires afin d'en modifier les divers droits d'​accès. Il tient compte de votre connaissance des catégories de propriétaires d'un fichier (utilisateur propriétaire,​ groupe propriétaire et "les autres"​) et des trois types de permissions (lecture, écriture et exécution) ; toutes ces informations sont regroupées dans le document d'​explications « [[:​droits|Droits d'​accès sous Linux : gérer les accès aux fichiers]] ». La description de ces attributs ne sera pas abordée ci-après ; aussi, prenez le temps de lire le document d'​explications avant de poursuivre la lecture du présent article.</​note>​ 
 + 
 +===== Voir les permissions ===== 
 + 
 +==== Graphiquement ==== 
 + 
 +Sous [[Nautilus]] (Ubuntu), faites un clic droit sur un fichier ou répertoire puis choisissez **propriétés**. Rendez-vous dans l'​onglet **permissions**. 
 + 
 +^ Pour un fichier ^ Pour un répertoire ^ 
 +| {{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 les **Autres**, vous pouvez choisir entre **lecture et écriture**,​ **lecture seule** et **aucun**. 
 + 
 +Vous pouvez choisir le groupe auquel appartient le fichier (par défaut, le groupe du propriétaire,​ sauf cas particulier). 
 + 
 +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**. 
 + 
 +<note tip>La section suivante (en ligne de commande) détaille un peu plus les différentes possibilités de permissions.</​note>​ 
 + 
 +==== En ligne de commande ==== 
 + 
 +Les droits des fichiers d'un répertoire peuvent être affichés par la commande 
 + 
 +  ls -l 
 + 
 +Les droits d'​accès apparaissent alors comme une liste de 10 symboles. : 
 + 
 +<​file>​ 
 +drwxr-xr-x 
 +</​file>​ 
 + 
 +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 
 +  * ''​d''​ : //​directory//​ : répertoire 
 +  * ''​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''​ : //​[[wpfr>​Berkeley_sockets|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 ''​-''​.\\ 
 +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 -l /​chemin/</​code>​ 
 +</​note>​ 
 + 
 +=== Explication par l'​exemple === 
 + 
 +Reprenons l'​exemple théorique précédent : 
 + 
 +<​file>​ 
 +drwxr-xr-x 
 +</​file>​ 
 + 
 +Il se traduit de la manière suivante : 
 + 
 +  * ''​d''​ : c'est un répertoire. 
 +  * ''​rwx''​ pour le 1er groupe de 3 symboles : son propriétaire peut lire, écrire et exécuter. 
 +  * ''​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. 
 + 
 +En pratique, en exécutant la commande suivante : 
 +<​code>​ls -l</​code>​ 
 + 
 +on obtient la liste du contenu du répertoire courant, par exemple : 
 +<​code>​ 
 +drwxr-xr-x ​  6 cyrille cyrille ​    4096 2008-10-29 23:09 Bureau 
 +drwxr-x--- ​  2 cyrille cyrille ​    4096 2008-10-22 22:46 Documents 
 +lrwxrwxrwx ​  1 cyrille cyrille ​      26 2008-09-22 22:30 Examples -> /​usr/​share/​example-content 
 +-rw-r--r-- ​  1 cyrille cyrille ​ 1544881 2008-10-18 15:37 forum.xcf 
 +drwxr-xr-x ​  7 cyrille cyrille ​    4096 2008-09-23 18:16 Images 
 +drwxr-xr-x ​  2 cyrille cyrille ​    4096 2008-09-22 22:45 Modèles 
 +drwxr-xr-x 267 cyrille cyrille ​   20480 2008-10-27 22:17 Musique 
 +drwxr-xr-x ​  2 cyrille cyrille ​    4096 2008-09-22 22:45 Public 
 +drwxr-xr-x ​  2 cyrille cyrille ​    4096 2008-10-26 13:14 Vidéos 
 +</​code>​ 
 + 
 +On retrouve dans la première colonne le groupe de 10 caractères permettant de connaître les droits pour chaque fichier. 
 + 
 +Ainsi, pour le fichier ''​forum.xcf'',​ on a : 
 +<​code>​-rw-r--r--</​code>​ 
 +  * 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. 
 +  * 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 ===== 
 + 
 +<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 ==== 
 + 
 +Dans Nautilus, il vous suffit de changer les valeurs des menus déroulants dans l'​onglet permissions (cf. ci-dessus) ou pas. 
 + 
 +==== En ligne de commande ==== 
 + 
 +Un fichier a un **propriétaire** et un **groupe**. Nous pouvons les changer. 
 + 
 +=== chown, pour changer le propriétaire === 
 + 
 +La commande ''​[[man>​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>​ 
 +Le fichier ''​fichier1''​ appartient maintenant à l'​utilisateur ''​toto''​. 
 + 
 +=== chgrp, pour changer le groupe === 
 +   
 +La commande ''​[[man>​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 l'​administrateur 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 : 
 +<​code>​sudo chgrp mesPotes fichier2</​code>​ 
 +Le fichier ''​fichier2''​ appartient maintenant au groupe ''​mesPotes''​. Tous les membres du groupe ''​mesPotes''​ auront accès à ce fichier selon les permissions du groupe. 
 + 
 +<note tip> 
 +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. 
 +</​note>​ 
 + 
 +=== 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 ''​[[man>​chown]]''​ peut être utilisée. Encore une fois, seuls l'​administrateur 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>​ 
 + 
 +<note tip> 
 +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. 
 +</​note>​ 
 + 
 +Imaginons le même fichier ''​foo.txt''​ possédé par //​utilisateur1//​ et appartenant au groupe propriétaire //​groupe1//​. Le propriétaire doit devenir //​utilisateur2//​ et la propriété de groupe de ce fichier doit passer au groupe //​groupe2//​. En étant connecté au compte //​utilisateur1//,​ l'​exécution de cette commande effectuera l'​opération demandée : 
 +<​code>​chown utilisateur2:​groupe2 foo.txt</​code>​ 
 + 
 +=== chmod, pour changer les droits === 
 + 
 +La commande ''​[[man>​chmod]]''​ (//​**ch**ange **mod**e//, changer les permissions) permet de modifier les permissions sur un fichier. Elle peut s'​employer de deux façons : soit en précisant les permissions de manière [[#​en_octal|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 == 
 + 
 +De cette façon, on va choisir : 
 +  - À qui s'​applique le changement 
 +    * ''​u''​ (//​**u**ser//,​ utilisateur) représente la catégorie "​propriétaire"​ ; 
 +    * ''​g''​ (//​**g**roup//,​ groupe) représente la catégorie "​groupe propriétaire"​ ; 
 +    * ''​o''​ (//​**o**thers//,​ autres) représente la catégorie "reste du monde" ; 
 +    * ''​a''​ (//​**a**ll//,​ tous) représente l'​ensemble des trois catégories. 
 +  - La modification que l'on veut faire 
 +    * ''​+''​ : ajouter 
 +    * ''​-''​ : supprimer 
 +    * ''​=''​ : affectation 
 +  - Le droit que l'on veut modifier 
 +    * ''​r''​ : //​**r**ead//​ -> lecture 
 +    * ''​w''​ : //​**w**rite//​ -> écriture 
 +    * ''​x''​ : //​e**x**ecute//​ -> exécution 
 +    * ''​X''​ : //​e**X**ecute//​ -> exécution, concerne uniquement les répertoires (qu'​ils aient déjà une autorisation d'​exécution ou pas) et les fichiers qui ont déjà une autorisation d'​exécution pour l'une des catégories d'​utilisateurs. Nous allons voir plus bas dans la partie des traitements récursifs l'​intérêt du ''​X''​. 
 + 
 +Par exemple : 
 +<​code>​chmod o-w fichier3</​code>​ 
 +enlèvera le droit d'​écriture pour les autres. 
 +<​code>​chmod a+x</​code>​ 
 +ajoutera le droit d'​exécution à tout le monde. 
 + 
 +On peut aussi combiner plusieurs actions en même temps : 
 +  * On ajoute la permission de lecture, d'​écriture et d'​exécution sur le fichier ''​fichier3''​ pour le **propriétaire** ; 
 +  * On ajoute la permission de lecture et d'​exécution au **groupe propriétaire**,​ on retire la permission d'​écriture ; 
 +  * On ajoute la permission de lecture aux **autres**, on retire la permission d'​écriture et d'​exécution. 
 + 
 +<​code>​chmod u+rwx,​g+rx-w,​o+r-wx fichier3</​code>​ 
 + 
 +etc. 
 + 
 +== En octal == 
 + 
 +En [[wpfr>​Systeme_octal|octal]],​ chaque « groupement » de droits (pour //user//, //group// et //other//) sera représenté par un chiffre et à chaque droit correspond une valeur : 
 +  * ''​r''​ (//​**r**ead//​) = ''​4''​ 
 +  * ''​w''​ (//​**w**rite//​) = ''​2''​ 
 +  * ''​x''​ (//​e**x**ecute//​) = ''​1''​ 
 +  * ''​-''​ = ''​0''​ 
 +Par exemple, 
 +  * Pour ''​rwx'',​ on aura : 4+2+1 = ''​7''​ 
 +  * Pour ''​rw-'',​ on aura : 4+2+0 = ''​6''​ 
 +  * Pour ''​r%%--%%'',​ on aura : 4+0+0 = ''​4''​ 
 +Ce qui permet de faire toutes les combinaisons : 
 +<​box>​ 
 +  * ''​0''​ : **''​- - -''​** (aucun droit) 
 +  * ''​1''​ : **''​- - x''​** (exécution) 
 +  * ''​2''​ : **''​- w -''​** (écriture) 
 +  * ''​3''​ : **''​- w x''​** (écriture et exécution) 
 +  * ''​4''​ : **''​r - -''​** (lecture seule) 
 +  * ''​5''​ : **''​r - x''​** (lecture et exécution) 
 +  * ''​6''​ : **''​r w -''​** (lecture et écriture) 
 +  * ''​7''​ : **''​r w x''​** (lecture, écriture et exécution) 
 +</​box>​ 
 +Reprenons le répertoire ''​Documents''​. Ses permissions sont : 
 +<​file>​drwxr-x---</​file>​ 
 +En octal, on aura **750** : 
 +     ​rwx ​       r-x        --- 
 +   ​7(4+2+1) ​  ​5(4+0+1) ​  ​0(0+0+0) 
 + 
 +Pour mettre ces permissions sur le répertoire on taperait donc la commande : 
 +<​code>​chmod 750 Documents</​code>​ 
 + 
 +=== 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** . 
 + 
 +<note warning>​Attention! Un ''​chmod -R''​ mal employé peut rendre votre système définitivement inutilisable. 
 +Voir ''​[[:​faq_forum#​ubuntu_ne_boot_plus_apres_un_sudo_chmod_-r_sur|chmod -R /​]]''</​note>​ 
 + 
 +Par exemple : 
 +<​code>​chmod -R 750 monRépertoire</​code>​ 
 +donnera tous les droits au propriétaire,​ les droits de lecture et exécution au groupe et aucuns droits aux autres... 
 + 
 +== Exemple d'​application traitant différemment les répertoires et les fichiers == 
 + 
 +En effet, si les répertoires doivent obligatoirement avoir la permission ''​x''​ pour pouvoir être ouverts, cette permission est inutile pour les fichiers non exécutables et peut être gênante pour les fichiers textes (txt, html...) car dans ce cas lorsqu'​on les ouvre on aura à chaque fois un message demandant si on veut les ouvrir ou les lancer (comme exécutable). Bref  le droit ''​x''​ est à réserver aux seuls fichiers qui sont vraiment des exécutables. 
 + 
 +**Application 1 :** 
 + 
 +Soit un répertoire monrep, contenant des sous-répertoires et des fichiers. Les droits sont ''​%%drwx------%%''​ (''​700''​) pour les répertoires et ''​%%-rw-------%%''​ (''​600''​) pour les fichiers. 
 + 
 +On veut ajouter récursivement les mêmes droits (respectivement ''​rwx''​ et ''​rw-''​) pour le groupe. C'est à dire qu'on veut aboutir à la situation suivante : ''​%%drwxrwx---%%''​ (''​770''​) pour les répertoires et ''​%%-rw-rw----%%''​ (''​660''​) pour les fichiers. 
 + 
 +Si on lance ''​chmod -R 770 monrep''​ : les fichiers vont avoir les droits d'​exécution -> mauvais :-( 
 + 
 +Si on lance ''​chmod -R 660 monrep''​ : les répertoires n'​auront plus les droits d'​exécution -> catastrophique m( 
 + 
 +Si on lance ''​chmod -R g+rwx monrep''​ : les fichiers vont avoir les droits d'​exécution -> mauvais :-( 
 + 
 +Si on lance ''​chmod -R g+rwX monrep''​ : seuls les répertoires (et les fichiers déjà exécutables) auront les droits d'​exécution -> bon :-) 
 + 
 +**Application 2 :** 
 + 
 +Imaginons que précédemment on ait lancé la commande ''​chmod -R 770 monrep''​. La situation est la suivante : les droits sont ''​%%drwxrwx---%%''​ (''​770''​) pour les répertoires et ''​%%-rwxrwx----%%''​ (''​770''​) pour les fichiers. 
 + 
 +On désire supprimer les droits d'​exécution uniquement sur les fichiers. C'est à dire qu'on veut aboutir à la situation suivante : ''​%%drwxrwx---%%''​ (''​770''​) pour les répertoires et ''​%%-rw-rw----%%''​ (''​660''​) pour les fichiers. 
 + 
 +Comme ''​chmod''​ s'​applique à la fois aux fichiers et répertoires,​ nous allons jongler avec ''​x''​ et ''​X''​. Il faut enlever ''​x''​ puis ajouter ''​X''​. 
 + 
 +Si on lance ''​chmod -R u-x+X,g-x+X monrep''​ cela n'aura aucun effet car ''​X''​ concerne à la fois les répertoires ET les fichiers qui ont un ''​x''​ quelque part. Donc si ''​u-x''​ enlève le premier ''​x''​ (ce qui donne ''​%%-rw-rwx---%%''​),​ la suite ''​+X''​ va aussitôt remettre un ''​x''​ car il reste un ''​x''​ (celui du groupe !). 
 + 
 +Donc il faut d'​abord enlever tous les ''​x''​ : ''​u-x,​g-x''​ avant de les remettre (sera fait uniquement pour les répertoires cette fois) 
 +ce qui donne finalement : 
 +  chmod -R u-x,​g-x,​u+X,​g+X monrep 
 + 
 +<note tip>Il est à noter que seuls le propriétaire du fichier ainsi que le super-utilisateur ont la possibilité de modifier les permissions sur un fichier. (Un membre du groupe propriétaire ne peut pas changer les permissions sur un fichier.) 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.</​note>​ 
 +<note tip> 
 +Notez aussi que pour modifier les propriétaires et les permissions sur un fichier qui lui appartient, un utilisateur doit absolument disposer de la permission d'​écriture sur ce fichier. S'il ne dispose uniquement que de la permission de lecture, il ne pourra effectuer aucun changement de droits d'​accès sur ce fichier.</​note>​ 
 + 
 +<​note>​Deux autres options bien pratiques : 
 +  * Pour afficher un message si et seulement si les permissions ont changé :<​code>​chmod -c <​option>​ <​fichier></​code>​  
 +  * Pour travailler récursivement sur tous les fichiers d'un répertoire et de ses sous-répertoires :<​code>​chmod -R repertoire</​code>​ 
 +</​note>​ 
 + 
 +===== Droits spéciaux ===== 
 + 
 +Les droits sont parfois spécifiés avec 4 chiffres, comme ''​file_mode=0777''​. Ce premier chiffre ajouté devant peut permettre de définir :\\ 
 +tapez en ligne de commande : 
 +<​code>​ls -l /​usr/​bin</​code>​ 
 +Vous devez voir dans la liste des noms de fichiers sur fond rouge ou jaune et des droits du type ci-dessous ou ''​s''​ (special((https://​www.gnu.org/​software/​coreutils/​manual/​html_node/​Numeric-Modes.html))) vient remplacer le ''​x''​ 
 +<​code>​-rwsr-xr-x ​ 1 root   ​root ​    ​155008 févr. 10  2014 sudo* 
 +-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-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''​ : 
 +<​code>​ls -ld /t*/ 
 +drwxrwxrwt ​  2 root root  4096 nov.  28 13:17 tmp/</​code>​ 
 +le ''​t''​ au lieu du ''​x''​ pour les autres utilisateurs nous informe que ce répertoire ne peut être supprimé que par l'​utilisateur ''​root''​. 
 + 
 +Comme pour les autres permissions,​ vous pouvez cumuler les activations en additionnant le code pour chacun, ainsi pour activer le //sticky bit// et le //GroupID// sur votre script ''​renomme_mes_photos.sh'',​ vous réalisez un : 
 +<​code>​chmod 3777 renomme_mes_photos.sh</​code>​ 
 + 
 +===== Voir aussi ===== 
 + 
 +  * [[wpfr>​Permissions_Unix|Les permissions UNIX]] 
 +  * [[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)** 
 +  * [[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-commande-chown/​|Gestion des propriétaires avec CHOWN]] **(fr)** 
 +  * [[https://​www.it-connect.fr/​gestion-de-lumask-sous-linux/​|Gestion de l'​UMASK sous Linux]] **(fr)** 
 + 
 +---- 
 + 
 +//​Contributeurs principaux : [[:​utilisateurs:​_Enchained]],​ [[:​utilisateurs:​mohican]]//​
  • permissions.1709199448.txt.gz
  • Dernière modification: Le 29/02/2024, 10:37
  • par 185.85.224.51
  • Actuellement bloqué par: 125.228.216.16,10.42.2.254