Comprendre les autorisations Linux et l'utilisation de CHMOD

Comprendre les autorisations Linux et l'utilisation de CHMOD

Je prends un cours sur Linux depuis quelques mois et un aspect de Linux qui m'a toujours confondu était la façon dont les autorisations fonctionnaient. Par exemple, lors du téléchargement d'un fichier sur mon serveur Web une fois et d'avoir obtenu une erreur, mon hôte Web m'a dit de modifier les autorisations de fichier en 755.

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

Table des matières

    Permissions et niveaux Linux

    Dans Linux, il y a essentiellement trois autorisations dont vous aurez normalement à vous soucier: lire, écrire et exécuter. Ces trois sont assez explicites. Maintenant, lorsque ces autorisations sont appliquées à un fichier, elles sont appliquées en niveaux.

    Il y a trois niveaux d'autorisations dans Linux: propriétaire, groupe et autres. Le propriétaire est l'utilisateur qui possède le fichier / le dossier, le groupe comprend d'autres utilisateurs du groupe du fichier et d'autres représentent simplement tous les autres utilisateurs qui ne sont pas le propriétaire ou le groupe.

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

    Si vous voyez un tableau de bord à 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 tout le monde ont lu des autorisations d'écriture et d'exécution.

    Si vous regardez la sortie de la commande ls -l, vous remarquerez que mon fichier texte de pratique a les autorisations suivantes:

    -RW-RW-RW-

    Cela signifie que tout le monde a uniquement 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 a des autorisations de lecture / écriture / exécute, mais le groupe et les autres utilisateurs n'ont qu'une autorisation de lecture.

    Représentation du nombre octal

    C'est ainsi que les autorisations sont affichées dans Linux en utilisant des symboles. La deuxième façon de représenter les mêmes autorisations est en utilisant des nombres octaux. Lorsque nous utilisons la commande chmod plus tard, vous verrez que vous pouvez modifier les autorisations en utilisant des symboles ou des nombres octaux.

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

    L'autorisation de lecture est représentée par 4, écrivez par 2 et exécutez 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 de 777. Jetons un coup d'œil à l'exemple où nous n'avons donné que des autorisations de lecture / écriture:

    -RW-RW-RW-

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

    Alors maintenant, essayons-le dans l'autre sens. Dites que nous voulons savoir quelles autorisations 755 représente? Eh bien, il est assez facile de comprendre si vous le décomposez par des numéros individuels. Le premier numéro est 7, que nous ne pouvons obtenir qu'en ajoutant 4 + 2 + 1, ce qui signifie que le propriétaire a la permission de lire / écrire / exécuter. Cinq ne peuvent être obtenus qu'en ajoutant 4 + 1, ce qui signifie que le groupe et les autres utilisateurs ont lu et exécuté des autorisations.

    Espérons que c'est une bonne explication sur la façon de représenter les autorisations dans Linux en utilisant des 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 changer. L'utilité le plus simple à utiliser à cet effet est la commande chmod. Voici 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é ci-dessus, à savoir:

    -RW-RW-RW-

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

    La commande exacte est

    Nom de fichier CHMOD A + X

    La syntaxe est la suivante: la lettre ou les lettres représentant le propriétaire (u), groupe (g), autre (o) ou tous (un) suivi d'un + pour ajouter des autorisations ou un - pour avoir retiré les autorisations et ensuite la lettre pour l'autorisation (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 autres. Disons maintenant que je voulais supprimer les autorisations d'écriture et d'exécuter uniquement le groupe et les autres utilisateurs.

    Comme vous pouvez le voir ici, j'avais l'habitude de la commande suivante pour accomplir ceci:

    Nom de fichier CHMOD GO-WX

    Puisque je veux modifier les autorisations de groupe et d'autres, j'utilise la lettre g et la lettre o. Je veux supprimer les autorisations, donc j'utilise le - signe. Enfin, je veux supprimer les autorisations d'écriture et d'exécution, donc j'utilise w et X. Voici une petite table pratique pour l'utilisation des symboles:

    C'est donc tout ce qu'il y a à utiliser la méthode de symbole. Parlons maintenant de la méthode octale, que je trouve un peu plus facile. Octal est sympa car vous pouvez ajouter ou supprimer les autorisations en une seule fois.

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

    -RW-RW-RW-

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

    Nom de fichier CHMOD 744

    Cela dit essentiellement que le propriétaire obtient une autorisation de lecture / écriture / exécute et que le groupe et l'autre obtiennent une autorisation de lecture uniquement. Comme vous pouvez le voir, il est facile d'ajouter ou de supprimer les autorisations dans une commande simple. Continuons et disons que je veux changer à nouveau les autorisations.

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

    Nom de fichier CHMOD 640

    Ici, nous avons donné au propriétaire des autorisations de lecture / écriture, l'autorisation de lecture du groupe uniquement et l'autre groupe aucune autorisation. Vous utilisez un zéro pour ne considérer 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 des autorisations plus avancées à l'avenir. Si vous avez des questions, n'hésitez pas à commenter. Apprécier!