| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| permissions [Le 27/09/2025, 14:07] – [Gérer les droits d'accès (propriétés et permissions) des fichiers et répertoires] 193.143.65.36 | permissions [Le 15/12/2025, 17:24] (Version actuelle) – [[:permissions administrateur]] krodelabestiole |
|---|
| ====== Gérer les droits d'accès (propriétés et permissions) des fichiers et répertoires ====== | ====== 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 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> |
| === chgrp, pour changer le groupe === | === 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 : | 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'[[:permissions administrateur|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> | <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. | 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> | <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. | 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 [[:permissions administrateur]]. |
| </note> | </note> |
| |
| === chown, pour changer simultanément le propriétaire et le groupe === | === 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 : | 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'[[:permissions administrateur|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> | <code>chown nouveau_propriétaire:nouveau_groupe_propriétaire nom_du.fichier</code> |
| |
| <note tip> | <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. | 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 [[:permissions administrateur]]. |
| </note> | </note> |
| |
| Ce qui permet de faire toutes les combinaisons : | Ce qui permet de faire toutes les combinaisons : |
| <box> | <box> |
| * ''0'' : **''- - -''** (aucun droit) | * ''0'' : **''%%---%%''** (aucun droit) |
| * ''1'' : **''- - x''** (exécution) | * ''1'' : **''%%--x%%''** (exécution) |
| * ''2'' : **''- w -''** (écriture) | * ''2'' : **''-w-''** (écriture) |
| * ''3'' : **''- w x''** (écriture et exécution) | * ''3'' : **''-wx''** (écriture et exécution) |
| * ''4'' : **''r - -''** (lecture seule) | * ''4'' : **''%%r--%%''** (lecture seule) |
| * ''5'' : **''r - x''** (lecture et exécution) | * ''5'' : **''r-x''** (lecture et exécution) |
| * ''6'' : **''r w -''** (lecture et écriture) | * ''6'' : **''rw-''** (lecture et écriture) |
| * ''7'' : **''r w x''** (lecture, écriture et exécution) | * ''7'' : **''rwx''** (lecture, écriture et exécution) |
| </box> | </box> |
| | |
| | <note> |
| | La représentation ''rwx'' est une visualisation plus compréhensible pour les humains du [[wpfr>Système_binaire|binaire]] utilisé par la machine pour enregistrer les permissions, où chaque bit correspond à un droit accordé (''1'', correspondant à une lettre ''r'', ''w'' ou ''x'' en fonction de sa position) ou pas (''0'', noté ''-'' en notation symbolique ''rwx'').\\ |
| | ''111'' binaire est donc représenté ''rwx'' pour une meilleure compréhension, et ''000'' est noté ''%%---%%''. |
| | |
| | Mais pour simplifier la notation de ces 3 bits à un chiffre unique, on convertit aussi souvent le binaire (base 2) en [[wpfr>Système_octal|octal]] (base 8) : |
| | |
| | ^ symbolique ^ binaire ^ octal ^ |
| | | ''%%---%%'' | ''000'' | ''0'' | |
| | | ''%%--x%%'' | ''001'' | ''1'' | |
| | | ''-w-'' | ''010'' | ''2'' | |
| | | ''-wx'' | ''011'' | ''3'' | |
| | | ''%%r--%%'' | ''100'' | ''4'' | |
| | | ''r-x'' | ''101'' | ''5'' | |
| | | ''rw-'' | ''110'' | ''6'' | |
| | | ''rwx'' | ''111'' | ''7'' | |
| | |
| | Ceci permet, en 3 chiffres allant de ''0'' à ''7'', de noter 3 groupes de 3 droits indépendants (pour l'utilisateur, le groupe, et les autres), au lieu de 9 caractères ''rwxrwxrwx''. |
| | </note> |
| | |
| Reprenons le répertoire ''Documents''. Ses permissions sont : | Reprenons le répertoire ''Documents''. Ses permissions sont : |
| <file>drwxr-x---</file> | <file>drwxr-x---</file> |
| === 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. |
| chmod -R u-x,g-x,u+X,g+X monrep | 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>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 [[:permissions administrateur]].</note> |
| <note tip> | <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> | 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> |