Ca Marche ca fonctionne

Comment utiliser la commande chmod sous Linux

Contrôlez qui peut accéder aux fichiers, rechercher dans les répertoires et exécuter des scripts à l’aide de la commande chmod de Linux. Cette commande modifie les autorisations de fichiers de Linux, qui semblent compliquées à première vue mais sont en fait assez simples une fois que vous savez comment elles fonctionnent.

La commande chmod modifie les autorisations de fichiers

Sous Linux, les autorisations permettent de contrôler qui peut faire quoi à un fichier ou à un répertoire. Il existe trois jeux de permissions. Un jeu pour le propriétaire du fichier, un autre pour les membres du groupe du fichier, et un dernier pour tous les autres.

Les autorisations contrôlent les actions qui peuvent être effectuées sur le fichier ou le répertoire. Elles permettent ou empêchent la lecture, la modification ou, s’il s’agit d’un script ou d’un programme, l’exécution d’un fichier. Pour un répertoire, les permissions déterminent qui peut accéder au répertoire et qui peut créer ou modifier des fichiers dans le répertoire.

Vous utilisez la commande chmod pour définir chacune de ces autorisations. Pour voir quelles autorisations ont été définies sur un fichier ou un répertoire, on peut utiliser la commande ls.

Afficher et comprendre les autorisations de fichiers

Nous pouvons utiliser l’option -l (format long) pour que ls affiche les permissions des fichiers et des répertoires.

ls -l

Sur chaque ligne, le premier caractère identifie le type d’entrée qui est listé. Si c’est un tiret (-), il s’agit d’un fichier. S’il s’agit de la lettre d, il s’agit d’un répertoire.

Les neuf caractères suivants représentent les paramètres des trois ensembles d’autorisations.

  • Les trois premiers caractères indiquent les autorisations de l’utilisateur qui possède le fichier (autorisations de l’utilisateur).
  • Les trois caractères du milieu indiquent les autorisations pour les membres du groupe du fichier (autorisations du groupe).
  • Les trois derniers caractères indiquent les autorisations pour toute personne n’appartenant pas aux deux premières catégories (autres autorisations).

Il y a trois caractères dans chaque ensemble d’autorisations. Ces caractères sont des indicateurs de la présence ou de l’absence de l’une des autorisations. Il s’agit soit d’un tiret (-), soit d’une lettre. Si le caractère est un tiret, cela signifie que la permission n’est pas accordée. Si le caractère est un r, un w ou un x, cela signifie que l’autorisation a été accordée.

Les lettres représentent :

  • r : Permissions de lecture. Le fichier peut être ouvert et son contenu visualisé.
  • w : Droits d’écriture. Le fichier peut être édité, modifié et supprimé.
  • x : Droits d’exécution. Si le fichier est un script ou un programme, il peut être lancé (exécuté).

Par exemple :

  • — signifie qu’aucune autorisation n’a été accordée.
  • rwx signifie que toutes les permissions ont été accordées. Les indicateurs read, write et execute sont tous présents.

Dans notre capture d’écran, la première ligne commence par un d. Cette ligne fait référence à un répertoire appelé « archive ». Le propriétaire du répertoire est « dave », et le nom du groupe auquel le répertoire appartient s’appelle également « dave ».

Les trois caractères suivants sont les autorisations de l’utilisateur pour ce répertoire. Ils indiquent que le propriétaire dispose de toutes les permissions. Les caractères r, w et x sont tous présents. Cela signifie que l’utilisateur Dave a les droits de lecture, d’écriture et d’exécution pour ce répertoire.

Le deuxième ensemble de trois caractères correspond aux permissions du groupe, qui sont r-x. Ils indiquent que les membres du groupe dave ont les droits de lecture et d’exécution pour ce répertoire. Cela signifie qu’ils peuvent lister les fichiers et leur contenu dans le répertoire, et qu’ils peuvent cd (exécuter) dans ce répertoire. Ils n’ont pas les droits d’écriture, et ne peuvent donc pas créer, modifier ou supprimer des fichiers.

Le dernier ensemble de trois caractères est également r-x. Ces permissions s’appliquent aux personnes qui ne sont pas régies par les deux premiers ensembles de permissions. Ces personnes (appelées « autres ») ont des droits de lecture et d’exécution sur ce répertoire.

Donc, pour résumer, les membres du groupe et les autres ont des droits de lecture et d’exécution. Le propriétaire, un utilisateur appelé dave, a également des droits d’écriture.

Pour tous les autres fichiers (à l’exception du fichier script mh.sh), dave et les membres du groupe dave ont des propriétés de lecture et d’écriture sur les fichiers, et les autres ont des droits de lecture uniquement.

Pour le cas particulier du fichier script mh.sh, le propriétaire dave et les membres du groupe ont des droits de lecture, d’écriture et d’exécution, et les autres n’ont que des droits de lecture et d’exécution.

Comprendre la syntaxe des permissions

Pour utiliser chmod afin de définir des permissions, nous devons lui indiquer :

  • Qui : pour qui nous définissons des autorisations.
  • Quoi : Quelle modification apportons-nous ? Ajoutons-nous ou supprimons-nous une autorisation ?
  • Lequel : Lesquelles des permissions sommes-nous en train de définir ?
  • Nous utilisons des indicateurs pour représenter ces valeurs, et formons de courtes « déclarations d’autorisations » telles que u+x, où « u » signifie « utilisateur » (qui), « + » signifie ajouter (quoi), et « x » signifie l’autorisation d’exécution (laquelle).

Les valeurs de « who » que nous pouvons utiliser sont les suivantes :

  • u : Utilisateur, c’est-à-dire le propriétaire du fichier.
  • g : Groupe, c’est-à-dire les membres du groupe auquel appartient le fichier.
  • o : Autres, c’est-à-dire les personnes qui ne sont pas régies par les autorisations u et g.
  • a : Tous, c’est-à-dire toutes les personnes mentionnées ci-dessus.

Si aucune de ces valeurs n’est utilisée, chmod se comporte comme si « a » avait été utilisé.

Les valeurs « quoi » que nous pouvons utiliser sont :

  • : Signe moins. Supprime l’autorisation.
  • : Signe plus. Accorde l’autorisation. L’autorisation est ajoutée aux autorisations existantes. Si vous voulez que cette permission et seulement cette permission soit définie, utilisez l’option =, décrite ci-dessous.
    = : Signe d’égalité. Définit une permission et en supprime d’autres.
    Les valeurs « lesquelles » que nous pouvons utiliser sont :

r : La permission de lecture.
w : L’autorisation d’écriture.
x : L’autorisation d’exécution.

Définition et modification des autorisations

Supposons que nous ayons un fichier sur lequel tout le monde a les droits complets.

ls -l nouveau_ fichier.txt

Autres tutoriaux qui peuvent vous intéresser