Comprendre les autorisations Linux et l'utilisation de chmod

J'ai suivi un cours sur Linux au cours des derniers mois et un aspect de Linux qui m'a toujours déconcerté était le fonctionnement des autorisations. Par exemple, lors du téléchargement d'un fichier sur mon serveur Web une fois et de l'obtention d'une erreur, mon hébergeur m'a dit de modifier les autorisations de fichier sur 755.

Je n'avais aucune idée de ce que cela signifiait, même si la modification des autorisations résolvait le problème. J'ai maintenant réalisé que les autorisations Linux ne sont pas si compliquées, il suffit de comprendre le système. Dans cet article, je parlerai des autorisations Linux à un niveau élevé et vous montrerai comment utiliser la commande chmod pour modifier les autorisations des fichiers et des dossiers.

Autorisations et niveaux Linux

Sous Linux , il y a essentiellement trois autorisations dont vous devrez normalement vous soucier : lire, écrire et exécuter. Tous les trois sont assez explicites. Désormais, lorsque ces autorisations sont appliquées à un fichier, elles sont appliquées par niveaux.

Il existe trois niveaux de permissions sous Linux : propriétaire, groupe et autre. Le propriétaire est l'utilisateur qui possède le fichier/dossier, le groupe inclut d'autres utilisateurs dans le groupe du fichier et autre représente simplement tous les autres utilisateurs qui ne sont pas le propriétaire ou dans le groupe.

Lire(Read) , écrire et exécuter sont représentés sous forme de caractères symboliques ou de nombres octaux. Par exemple, si vous faites un ls -l dans un répertoire avec certains fichiers, vous verrez la représentation en caractères symboliques des autorisations.

Les permissions sont écrites comme suit : le premier bit est soit un tiret soit la lettre d. Dash signifie qu'il s'agit d'un fichier et d signifie répertoire. Notez que le premier bit peut aussi être un l si le nom du fichier est un lien. Ensuite, il y a trois groupes de trois bits. Le premier bit de chaque groupe est pour la lecture, le deuxième bit pour l'écriture et le troisième bit pour l'exécution. Les trois premiers bits sont pour le propriétaire, les trois seconds pour le groupe et les trois troisièmes pour les autres. Voici une explication plus visuelle.

Si vous voyez un tiret à la place d'une lettre, cela signifie que le propriétaire, le groupe ou tous les autres utilisateurs n'ont pas cette autorisation. Dans l'exemple ci-dessus, le propriétaire, le groupe et tous les autres ont des autorisations de lecture, d'écriture et d'exécution.

Si vous regardez la sortie de la commande ls -l, vous remarquerez que mon fichier texte d'exercice dispose des autorisations suivantes :

-rw-rw-rw-

Cela signifie que tout le monde n'a que des autorisations de lecture/écriture pour le fichier. Voici un autre exemple :

drwxr--r--

En regardant le premier bit, nous pouvons voir que les autorisations sont pour un répertoire. Le propriétaire dispose des autorisations de lecture/écriture/exécution, mais le groupe et les autres utilisateurs n'ont que l'autorisation de lecture.

Représentation des nombres octaux

C'est ainsi que les autorisations sont affichées sous Linux à l'aide de symboles. La deuxième façon de représenter les mêmes autorisations consiste à utiliser des nombres octaux. Lorsque nous utiliserons la commande chmod plus tard, vous verrez que vous pouvez modifier les autorisations à l'aide de symboles ou de nombres octaux.

Alors, comment Linux représente-t-il la lecture, l'écriture et l'exécution en utilisant des nombres octaux ? Fondamentalement, il attribue simplement un numéro à chaque autorisation, comme indiqué ci-dessous.

L'autorisation de lecture est représentée par 4, l'écriture par 2 et l'exécution par 1. Tout ce que vous avez à faire est de les additionner pour obtenir l'autorisation octale. Par exemple, prenons l'exemple ci-dessus où tout le monde a toutes les autorisations :

-rwxrwxrwx

Le propriétaire a rwx, nous allons donc ajouter 4 + 2 + 1 pour obtenir une valeur de 7. Nous faisons la même chose pour le groupe et la même chose pour les autres. La valeur octale finale est 777. Examinons l'exemple où nous n'avons accordé que des autorisations de lecture/écriture :

-rw-rw-rw-

Le premier nombre octal sera 4 + 2 puisque nous ajoutons la lecture et l'écriture. Le second sera le même que le troisième nombre octal. Ici, nous avons une valeur octale finale de 666.

Alors maintenant, essayons dans l'autre sens. Disons que nous voulons savoir ce que représentent les autorisations 755 ? Eh bien, c'est assez facile à comprendre si vous le décomposez en chiffres individuels. Le premier nombre est 7, que nous ne pouvons obtenir qu'en ajoutant 4 + 2 + 1, ce qui signifie que le propriétaire a l'autorisation de lecture/écriture/exécution. Cinq ne peut être obtenu qu'en ajoutant 4 + 1, ce qui signifie que le groupe et les autres utilisateurs ont des autorisations de lecture et d'exécution.

J'espère(Hopefully) que c'est une bonne explication sur la façon de représenter les autorisations sous Linux à l'aide de nombres octaux. C'est assez simple dans l'ensemble.

Utilisation de chmod pour modifier les autorisations

Maintenant que nous comprenons comment lire les autorisations, parlons de la façon dont nous pouvons les modifier. L'utilitaire le plus simple à utiliser à cette fin est la commande chmod. Voilà comment cela fonctionne. La meilleure façon d'expliquer la commande est de passer par un exemple.

Commençons par les autorisations dont nous avons parlé plus haut, à savoir :

-rw-rw-rw-

Si nous voulions ajouter l'autorisation d'exécution pour le propriétaire, le groupe et autre, nous pourrions procéder de deux manières. Nous pourrions utiliser la méthode des symboles ou la méthode octale. Pour la méthode des symboles, nous ferions ce qui suit, comme indiqué ci-dessous :

La commande exacte est

chmod a+x filename

La syntaxe est la suivante : la ou les lettres représentant le propriétaire ( u ), le groupe ( g ), l'autre ( o ) ou tous ( a ) suivi d'un + pour ajouter des autorisations ou d'un - pour supprimer des autorisations, puis la lettre pour la permission ( r pour lire, w pour écrire et x pour exécuter).

Dans l'exemple ci-dessus, j'ai ajouté l'autorisation d'exécution pour tous les utilisateurs. Le résultat, comme vous pouvez le voir dans la capture d'écran ci-dessus, est un x pour le propriétaire, le groupe et autre. Supposons maintenant que je veuille supprimer les autorisations d'écriture et d'exécution uniquement pour le groupe et les autres utilisateurs.

Comme vous pouvez le voir ici, j'ai utilisé la commande suivante pour accomplir ceci :

chmod go-wx filename

Puisque je veux changer les autorisations pour le groupe et autre, j'utilise la lettre g et la lettre o . Je veux supprimer les autorisations, j'utilise donc le signe - . Enfin, je souhaite supprimer les autorisations d'écriture et d'exécution, j'utilise donc w et x . Voici un petit tableau pratique pour l'utilisation des symboles :

C'est donc tout ce qu'il y a à faire avec la méthode des symboles. Parlons maintenant de la méthode octale, que je trouve un peu plus simple. Octal est agréable car vous pouvez ajouter ou supprimer des autorisations en une seule fois.

Si nous commençons avec les autorisations suivantes sur un fichier, voyons comment nous pouvons les modifier en utilisant la méthode octale :

-rw-rw-rw-

Ci- dessus(Above) , vous pouvez voir que j'ai utilisé la commande suivante :

chmod 744 filename

Cela signifie essentiellement que le propriétaire obtient l'autorisation de lecture/écriture/exécution et que le groupe et les autres obtiennent uniquement l'autorisation de lecture. Comme vous pouvez le constater, il est facile d'ajouter ou de supprimer des autorisations en une seule commande. Continuons et disons que je veux à nouveau modifier les autorisations.

Maintenant, j'ai utilisé la commande suivante, encore une fois très simple :

chmod 640 filename

Ici, nous avons donné au propriétaire des autorisations de lecture/écriture, au groupe une autorisation de lecture uniquement et à l'autre groupe aucune autorisation. Vous utilisez un zéro pour indiquer aucune autorisation. Assez simple, hein ?

En conclusion, il s'agit d'un aperçu très simple des autorisations Linux et cela peut devenir beaucoup plus compliqué que cela, mais pour les débutants, c'est un bon point de départ. Je publierai plus d'articles sur les autorisations plus avancées à l'avenir. Si vous avez des questions, n'hésitez pas à commenter. Profitez!



About the author

Je suis un technicien en informatique qui travaille avec Android et les logiciels bureautiques depuis de nombreuses années. J'enseigne également aux gens comment utiliser les Mac depuis environ 5 ans. Si vous cherchez quelqu'un qui sait comment réparer les choses sur votre ordinateur, je peux probablement vous aider !



Related posts