Maîtriser les autorisations des fichiers et répertoires Linux
S’il y a un aspect qui ressort de Linux par rapport à d’autres systèmes, comme Windows, c’est bien la sécurité. Et nous ne parlons pas seulement de vulnérabilités et de confidentialité, mais aussi de la manière dont il gère les fichiers personnels de ses utilisateurs. Chaque fichier et chaque dossier a des permissions définies, sans lesquelles personne ne peut accéder au fichier en question. Et, si nous apprenons à utiliser Linux , les autorisations sont l’un des aspects que nous devons connaître et apprendre.
Le système de fichiers utilisé par Linux est beaucoup plus avancé et en même temps simple que celui utilisé par d’autres systèmes, tels que Windows. Ceci est basé sur la spécification si le propriétaire, le groupe d’utilisateurs ou n’importe qui peut lire, écrire ou exécuter le fichier. Sans aucun doute, c’est un moyen très efficace de garder chaque utilisateur du système sous contrôle, en les empêchant d’accéder aux données des autres sans autorisation.
Il est vrai que ce système de permission peut paraître quelque peu compliqué. Mais, ci-dessous, nous expliquons sur quoi il est basé et comment nous pouvons modifier ces autorisations à notre guise.
Que signifient les «nombres» ou «lettres» dans les autorisations Linux?
Les autorisations sous Linux peuvent être reflétées à la fois par des lettres et des chiffres . Les deux méthodes sont correctes et tout aussi fonctionnelles. Cependant, les plus intuitives sont les lettres, car elles nous permettent de mieux comprendre de quelle permission il s’agit. Les nombres sont plus utilisés par les utilisateurs avancés, étant plus rapides à spécifier.
Chaque fichier ou dossier que nous trouvons lors de la liste du contenu d’un répertoire sera indiqué par un symbole:
- – indique qu’il s’agit d’un fichier.
- d indique qu’il s’agit d’un répertoire.
- l indique qu’il s’agit d’un lien (raccourci, par exemple).
Et chaque fichier ou répertoire a trois niveaux d’autorisation différents : un pour le propriétaire, un pour les utilisateurs du même groupe que le propriétaire et un pour les autres utilisateurs. À leur tour, chacun de ces niveaux peut avoir 3 valeurs différentes selon le degré de privilèges que nous spécifions dans le système. Ces valeurs peuvent être spécifiées par les lettres suivantes:
- r – autorisation de lecture (permet d’ouvrir, de copier, etc.).
- w – autorisation d’écriture (permet de le modifier, de le supprimer, etc.).
- x – autorisation d’exécution (si elle est binaire, elle permet de l’exécuter).
De cette façon, nous devons choisir les permissions (rwx) pour chaque niveau d’utilisateur (propriétaire, groupe et autres).
Par exemple, supposons que nous ayons un fichier appelé «softzone» sur notre disque dur Linux. Nous allons configurer que le propriétaire ait un contrôle total sur celui-ci (rwx), les membres du groupe en lecture seule (r–) et les autres utilisateurs n’ont aucune permission (-). Dans ce cas, les autorisations seraient les suivantes:
Type | Propriétaire | Groupe | Autres |
---|---|---|---|
Type – | Propriétaire RWX | Groupe r– | Autres — |
Fonctionnement des autorisations Linux par numéros
Si nous n’aimons pas les lettres, nous pouvons également utiliser le code numérique pour modifier les autorisations Linux . Ce code n’est rien de plus que la valeur du code binaire selon les permissions qui sont ou ne sont pas utilisées. Supposons que chacune des permissions occupe une position en binaire. Dans ce cas, rwx équivaudrait à 111 binaires, ce qui en décimal serait 7. r– serait 100 en binaire, ou ce qui est pareil, 4 en décimal. Et – serait 000 en binaire, 0 en décimal.
En suivant ces instructions, les autorisations dans l’exemple de cas précédent seraient 740. Le premier chiffre correspond au propriétaire du fichier, le second au groupe et le troisième à tous les autres. Les nombres de permis que nous pouvons trouver seront les suivants:
- 0 = –
- 1 = –x
- 2 = -w-
- 3 = -wx
- 4 = r-
- 5 = rx
- 6 = rw-
- 7 = rwx
Quelques exemples de ceci seraient:
Propriétaire | Groupe | Autres | Résultat | |
---|---|---|---|---|
Code lettre | Propriétaire RWX | Groupe r– | Autres — | Résultat rwxr —– |
Code numérique | Propriétaire 7 | Groupe 4 | Autres 0 | Résultat 740 |
— | Propriétaire | Groupe | Autres | Résultat |
Code lettre | Propriétaire r– | Groupe — | Autres — | Résultat r ——– |
Code numérique | Propriétaire 4 | Groupe 0 | Autres 0 | Résultat 400 |
— | Propriétaire | Groupe | Autres | Résultat |
Code lettre | Propriétaire r-x | Groupe rw- | Autres –x | Résultat r-xrw — x |
Code numérique | Propriétaire 5 | Groupe 6 | Autres 1 | Résultat 561 |
Les deux systèmes sont tout aussi efficaces et chacun a ses avantages et ses inconvénients. Alors que les lettres nous permettent de voir le niveau d’autorisation plus clairement, les chiffres sont beaucoup plus simples, même s’il faut réfléchir un peu plus.
Comment modifier les autorisations sous Linux
Pour changer les permissions sous Linux, vous devez utiliser la commande «chmod» . Cette commande doit être accompagnée du nouveau niveau de privilèges que nous voulons donner au nouveau fichier ou répertoire, ainsi que d’un «+» si ce que nous allons faire est de lui donner cette nouvelle permission, ou d’un «-» si quoi nous allons supprimer les autorisations. Nous pouvons également modifier les permissions «groupe» et «autres utilisateurs» en ajoutant respectivement les paramètres «g» et «o». Le propriétaire serait indiqué sans ce paramètre, ou avec un «u». Et si nous voulons changer les permissions pour tous en même temps, nous pouvons utiliser le paramètre «a».
À partir d’un fichier «softzone», voici quelques exemples pour modifier les permissions à l’aide du code alphabétique:
- chmod + rwx softzone -> ajouter la permission de lecture, d’écriture et d’exécution au propriétaire.
- chmod g + rwx softzone -> ajoute les droits de lecture, d’écriture et d’exécution au groupe de l’utilisateur propriétaire.
- chmod o + rwx softzone -> ajoute la permission de lecture, d’écriture et d’exécution aux autres utilisateurs.
- chmod -x softzone -> supprime l’autorisation d’exécution du propriétaire.
- chmod g-wx softzone -> supprime les autorisations d’écriture et d’exécution du groupe d’utilisateurs propriétaire.
- chmod o-rwx softzone -> supprime toutes les autorisations des autres utilisateurs.
- chmod a + r -> ajoute l’autorisation de lecture au propriétaire, au groupe et aux autres utilisateurs.
Nous pouvons également utiliser le code numérique pour modifier le niveau d’autorisation de n’importe quel fichier comme suit:
- chmod 777 softzone -> autorisation rwx pour le propriétaire, le groupe et les autres utilisateurs.
- chmod 700 softzone -> autorisation rwx pour le propriétaire, le groupe et les utilisateurs sans autorisation.
- chmod 327 softzone – autorisation d’écriture et d’exécution pour le propriétaire, écriture pour le groupe et rwx pour les autres utilisateurs.
Pour changer les privilèges d’un répertoire, les commandes sont les mêmes, à la différence qu’au lieu du nom de fichier, nous devrons spécifier le répertoire en question.
Changer le propriétaire ou le groupe d’un fichier ou d’un répertoire
En plus de changer les permissions des fichiers ou répertoires, si nous avons des problèmes, nous pouvons également changer le propriétaire ou le groupe auquel appartient l’un d’eux.
Par exemple, on peut changer le groupe d’un fichier (ou répertoire) en utilisant la commande «chgrp groupname file» (en changeant «groupname» par le nom du groupe que l’on veut ajouter, et «file» par le nom du fichier ou le répertoire correspondant).
Nous pouvons également changer à qui appartient un fichier. Pour ce faire, nous utiliserons la commande «chown» suivie du nom du nouveau propriétaire du fichier, et du nom du fichier ou du répertoire sur lequel effectuer la modification.