Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

chmod – Changer le mode de fichier

Pour changer le mode (autorisations) d'un fichier ou d'un répertoire, le chmod la commande est utilisée. Soyez conscient que seul le propriétaire du fichier ou le superutilisateur peut changer le mode d'un fichier ou d'un répertoire. chmod prend en charge deux manières distinctes de spécifier les changements de mode : la représentation en nombre octal ou la représentation symbolique. Nous aborderons d'abord la représentation des nombres octaux.

image


Qu'est-ce que c'est que l'octal ?

Octal (base 8) et son cousin hexadécimal (base 16) sont des systèmes numériques souvent utilisés pour exprimer des nombres sur des ordinateurs. Nous, les humains, du fait que nous (ou du moins la plupart d'entre nous) sommes nés avec dix doigts, comptons en utilisant un système de numération en base 10. Les ordinateurs, en revanche, sont nés avec un seul doigt et font donc tout leur comptage en binaire (base 2). Leur système numérique n'a que deux chiffres, 0 et 1. Donc, en binaire, le comptage ressemble à ceci :

0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011...

En octal, le comptage se fait avec les chiffres de zéro à sept, ainsi : 0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21...

Le comptage hexadécimal utilise les chiffres de zéro à neuf plus les lettres « A » à « F » :

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10, 11, 12, 13...

Alors que nous pouvons voir le sens en binaire (puisque les ordinateurs n'ont qu'un doigt), à quoi servent l'octal et l'hexadécimal ? La réponse a à voir avec la commodité humaine. Plusieurs fois, de petites portions de données sont représentées sur les ordinateurs comme motifs de bits. Prenons par exemple une couleur RVB. Sur la plupart des écrans d'ordinateur, chaque pixel est composé de trois composantes de couleur : huit bits de rouge, huit bits de vert et huit bits de bleu. Un joli bleu moyen serait un numéro à 24 chiffres :

010000110110111111001101

Aimeriez-vous lire et écrire ce genre de chiffres toute la journée ? Je ne le pensais pas. Voici où un autre système de numérotation serait utile. Chaque chiffre d'un nombre hexadécimal représente quatre chiffres en binaire. En octal, chaque chiffre représente trois chiffres binaires. Ainsi, notre bleu moyen à 24 chiffres pourrait être condensé en un nombre hexadécimal à six chiffres :

436FCD

Étant donné que les chiffres du nombre hexadécimal « s'alignent » avec les bits du nombre binaire, nous pouvons voir que la composante rouge de notre couleur est 43, le vert 6F et le bleu CD.

De nos jours, la notation hexadécimale (souvent prononcée comme « hex ») est plus courante que l'octale, mais comme nous le verrons bientôt, la capacité de l'octal à exprimer trois bits de binaire sera très utile...


Avec la notation octale, nous utilisons des nombres octaux pour définir le modèle des autorisations souhaitées. Étant donné que chaque chiffre d'un nombre octal représente trois chiffres binaires, cela correspond bien au


schéma utilisé pour stocker le mode fichier. Ce tableau montre ce que nous entendons :


Tableau 9-4 : Modes de fichier en binaire et octal


Octal

binaire

Mode fichier

0

000

---

1

001

--X

2

010

-w-

3

011

-wx

4

100

r--

5

101

rx

6

110

rw-

7

111

rwx

En utilisant trois chiffres octaux, nous pouvons définir le mode de fichier pour le propriétaire, le propriétaire du groupe et

monde:



[moi@linuxbox ~]$ > foo.txt

[moi@linuxbox ~]$ ls -l foo.txt

-rw-rw-r-- 1 moi moi 0 2016/03/06 14:52 foo.txt [moi@linuxbox ~]$ chmod 600 foo.txt

[moi@linuxbox ~]$ ls -l foo.txt

-rw -------- 1 moi moi 0 2016/03/06 14:52 foo.txt

[moi@linuxbox ~]$ > foo.txt

[moi@linuxbox ~]$ ls -l foo.txt

-rw-rw-r-- 1 moi moi 0 2016/03/06 14:52 foo.txt [moi@linuxbox ~]$ chmod 600 foo.txt

[moi@linuxbox ~]$ ls -l foo.txt

-rw -------- 1 moi moi 0 2016/03/06 14:52 foo.txt


En passant l'argument « 600 », nous avons pu définir les autorisations du propriétaire en lecture et en écriture tout en supprimant toutes les autorisations du propriétaire du groupe et du monde. Bien que se souvenir du mappage octal au binaire puisse sembler gênant, vous n'aurez généralement qu'à en utiliser quelques-uns courants : 7 (rwx), 6 (rw-), 5 (rx), 4 (r--) et 0 (---).

chmod prend également en charge une notation symbolique pour spécifier les modes de fichier. La notation symbolique est divisée en trois parties : qui sera affecté par le changement, quelle opération sera effectuée et quelle autorisation sera définie. Pour spécifier qui est affecté, une combinaison des caractères « u », « g », « o » et « a » est utilisée comme suit :


Tableau 9-5 : notation symbolique chmod


Signification du symbole

Signification du symbole

u Abréviation de « utilisateur » mais désigne le propriétaire du fichier ou du répertoire.


image

g Propriétaire du groupe.


image


image

o Abréviation de « autres », mais signifie monde.


image

abréviation de « tous ». La combinaison de « u », « g » et « o ».


image


Si aucun caractère n'est spécifié, "all" sera supposé. L'opération peut être un « + » indiquant qu'une autorisation doit être ajoutée, un « - » indiquant qu'une autorisation doit être retirée ou un « =" indiquant que seules les autorisations spécifiées doivent être appliquées et que toutes les autres sont à supprimer.

Les autorisations sont spécifiées avec les caractères « r », « w » et « x ». Voici quelques exemples de notation symbolique :


Tableau 9-6 : Exemples de notation symbolique chmod


Notation Signification

Notation Signification

u+x Ajoute une autorisation d'exécution pour le propriétaire.


image

ux Supprimer l'autorisation d'exécution du propriétaire.


image

+x Ajoute une autorisation d'exécution pour le propriétaire, le groupe et le monde.

Équivalent à a+x.


image

o-rw Supprimer l'autorisation de lecture et d'écriture de toute personne autre que le propriétaire et le propriétaire du groupe.


image

go=rw Définit le propriétaire du groupe et toute personne autre que le propriétaire pour avoir l'autorisation de lecture et d'écriture. Si le propriétaire du groupe ou le monde disposait auparavant d'autorisations d'exécution, elles sont supprimées.


image

u+x,go=rx Ajouter une autorisation d'exécution pour le propriétaire et définir les autorisations pour le groupe et les autres à lire et à exécuter. Plusieurs spécifications peuvent être séparées par des virgules.


image


Certaines personnes préfèrent utiliser la notation octale, certaines personnes aiment vraiment la symbolique. La notation symbolique offre l'avantage de vous permettre de définir un seul attribut sans perturber les autres.

Jetez un oeil à la chmod page de manuel pour plus de détails et une liste d'options. Un mot d'avertissement concernant l'option « --recursive » : elle agit à la fois sur les fichiers et les répertoires, elle n'est donc pas aussi utile qu'on pourrait l'espérer car, nous voulons rarement que les fichiers et les répertoires aient les mêmes autorisations.


Meilleur système d'exploitation Cloud Computing chez OnWorks :