Commande Chmod Linux

Le chmod ( ch ange mod commande e) sous Linux est utilisé pour changer le mode d’accès d’un fichier, en fonction du type d’utilisateur qui accède au fichier et le type d’autorisation associée à l’ accès au fichier.

Autorisations De Fichiers Et Groupes D’utilisateurs

Pour comprendre quels sont les types de permissions et les types d’utilisateurs, revenons d’abord à la commande ls, qui peut lister tous les fichiers, ainsi que leurs permissions dans le répertoire courant.

Exemple d’autorisation de fichier Ls

Les Bits D’autorisation De Fichier

La première colonne de chaque fichier correspond à une séquence de 10 caractères (bits), comme vous pouvez le voir. Le premier bit sert à vérifier s’il s’agit d’un répertoire ou non (le bit d).

  • d -> Vérifie si le nœud est un répertoire ou non.

Les 9 bits suivants représentent l’autorisation de trois types de groupes d’utilisateurs, à savoir Owner , Group et Other .

Et pour chaque groupe d’utilisateurs, il y a 3 bits qui correspondent aux permissions des fichiers, dans cet ordre).

  • r -> Le groupe d’utilisateurs peut lire le fichier/répertoire.
  • w -> Le groupe d’utilisateurs peut écrire dans le fichier/répertoire.
  • x -> Le groupe d’utilisateurs peut exécuter le fichier/répertoire.
-rw-rr- 1 racine racine 66 18 décembre 2

Les trois premiers caractères représentent les autorisations du groupe d’utilisateurs Propriétaire . Le propriétaire est l’utilisateur qui a créé le fichier. Pour le fichier ListText, la séquence rw- signifie que le propriétaire peut lire et écrire , mais ne peut pas exécuter le fichier.

Les trois caractères suivants sont pour le propre groupe (tous les utilisateurs du même groupe que le fichier). Cela signifie que tout utilisateur de cette catégorie ne peut que lire le fichier, mais ne peut pas l’écrire ou l’exécuter.

Les trois caractères/bits suivants sont pour les autres . Comme il s’agit également de r-, tous les utilisateurs de cette catégorie ne peuvent que lire le fichier.

À partir des bits rwx , voyons maintenant comment les modifier en utilisant chmod.

Définition Des Bits D’autorisation De Fichier Via Chmod

Maintenant que nous savons quelles sont les autorisations de fichier, nous pouvons les définir et les modifier à l’aide de chmod. Voyons les moyens par lesquels nous pourrions les changer.

1. Modifier Les Autorisations De Fichier Absolues

Les bits d’autorisation de fichier rwx peuvent être représentés comme un caractère octal. Cela nous permet de définir l’autorisation de fichier absolue d’un fichier à l’aide de chmod.

Nous pouvons convertir le rwx en un caractère octal, en utilisant les règles ci-dessous :

  • r = 4 si le bit lu est défini. Sinon, r = 0
  • w = 2 si le bit d’écriture est défini. Sinon, w = 0
  • x = 1 si le bit d’autorisation d’exécution est défini. Sinon, x = 0
  • Le caractère octal est noté r + w + x

Cela signifie que le caractère octal du groupe Owner du fichier ListText est r + w + x = 4 + 2 + 0 = 6

Format : chmod 755 nom_fichier.txt

Ici, 755 correspondent à trois caractères octaux quelconques, correspondant aux 3 types de groupes d’utilisateurs.

Maintenant, rendons notre fichier ListText exécutable uniquement par tous les utilisateurs du groupe, en gardant les autres constants. Donc les bits absolus sont : rw-r-xr-, ce qui correspond aux caractères octaux 654. Par conséquent, notre commande doit être :

root@Ubuntu:~# chmod 654 ListText

Exemple de mode absolu de Chmod Linux

Comme vous pouvez le voir, notre fichier est désormais exécutable pour tous les utilisateurs du propre groupe.

Voyons maintenant une autre façon de modifier le mode de fichier via les autorisations relatives .

2. Définition Des Autorisations Relatives Aux Fichiers

Étant donné que la recherche des bits d’autorisation de fichier et le calcul de la valeur absolue deviennent fastidieux, il est parfois plus facile de travailler uniquement avec des bits d’autorisation de fichier relatifs lors de l’utilisation de chmod. Les opérateurs + et – sont utilisés à cet effet, pour définir et désarmer les modes de fichier par rapport au mode courant.

Pour modifier les autorisations relatives aux fichiers, nous utilisons la syntaxe suivante :

Format:

  • chmod +mode filename.txt définit les autorisations relatives pour l’utilisateur actuel.
  • chmod group+mode filename.txt définit les autorisations relatives pour le groupe

Le bit de groupe suit les règles suivantes :

  • u -> représente le groupe d’utilisateurs
  • g -> représente le propre groupe
  • o -> représente les autres
  • a -> représente tous les groupes d’utilisateurs

Maintenant que nous connaissons la syntaxe de base, définissons maintenant l’autorisation d’écriture pour le groupe d’autres pour notre ancien fichier ListText en utilisant des modes relatifs.

root@Ubuntu:~# chmod o+w ListText

Exemple d’autorisation relative Chmod Linux

De même, pour revenir au mode précédent, on utilise simplement :

root@Ubuntu:~# chmod ow ListText

L’opérateur – désactive le bit w pour les autres groupes.

De même, pour définir l’autorisation d’exécution pour tous les utilisateurs, utilisez simplement :

root@Ubuntu:~# chmod a+x ListText

NOTE : Il n’y a pas de changement si le bit était déjà défini. De même, si vous essayez de désactiver un peu déjà, il reste simplement désactivé. chmod ne modifie également jamais les autorisations des liens symboliques, de sorte que tous les liens symboliques créés (liens mous et durs) ne seront pas affectés

Options De Commande Chmod Linux

Bien qu’elles ne soient pas utilisées très souvent, certaines options associées à chmod sont répertoriées dans le tableau ci-dessous :

Conclusion

Dans cet article, nous avons découvert la commande chmod pour modifier les autorisations/modes de fichier. Ceci est utile si vous souhaitez restreindre/autoriser l’accès du fichier à n’importe quel groupe d’utilisateurs de particules. Nous avons également appris à modifier les bits d’autorisation de fichier absolus et relatifs, ce qui permet différentes manières de modifier les autorisations de fichier.