Utiliser Chmod et Chown sur Linux facilement

Utiliser Chmod et Chown sur Linux facilement

Introduction

Dans les systèmes d’exploitation Linux, chaque fichier est associé à une propriété de groupe et à un propriétaire. Une commande chown de Linux est une abréviation de « change owner » (changer de propriétaire). Elle peut être utilisée par le super-utilisateur sur n’importe quel système de type Unix. Vous découvrirez ici comment cette commande peut vous être utile, et comment l’utiliser.

Avec les options chown, on peut changer la propriété des fichiers, des répertoires et des liens. Si un utilisateur régulier souhaite apporter certaines modifications à un fichier, un super-utilisateur peut utiliser les commandes chown pour changer la propriété et les autoriser.

La commande chmod permet aussi  l’attribution de droits d’accès via le terminal de votre serveur Linux et et la configuration d’accès aux fichiers et aux répertoires.

Dans ce tutoriel, vous apprendrez à modifier les droits/permissions de fichiers/dossiers et les propriétaires sur Linux/Unix, via deux commandes de base que vous pouvez utiliser pour accomplir cette tâche : chmod et chown .

Ce dont vous aurez besoin

Avant d’apprendre à utiliser chown et chmod, assurez-vous d’avoir les éléments suivants :

  • Accès à la ligne de commande chmod

Étape 1 – Modification des autorisations de fichiers et de dossiers via la ligne de commande

Chmod – Cette commande permet de modifier les permissions d’un fichier ou d’un dossier. Chaque fichier a trois types d’utilisateurs qui peuvent interagir avec lui:

Type Explication propriétaire C’est l’utilisateur qui a créé et possède le dossier / répertoire.

groupe. Tous les utilisateurs qui sont membres d’un même groupe.

autres. Tous les autres utilisateurs, sur le système qui ne sont ni les propriétaires ni les membres du groupe.

La commande ls -l  , peut être utilisée pour voir les autorisations de fichier et les propriétaires. Par exemple, ls -l fichier1.txt  :

-rwxr-rw- 1 utilisateur utilisateur 0 Jan 19 12:59 fichier1.txt
  • « -rwxr-rw-«  – Cette partie de la ligne affiche les autorisations. Il y a 4 lettres qui existent dans cette partie: r, w, x, d. d signifie que le type du fichier est un dossier, dans notre exemple, il n’y est pas (ce serait la première lettre de la ligne, mais actuellement elle est vide ou plutôt a le symbole « -« , qui signifie « non ». La lettre x signifie l’autorisation d’exécuter un fichier / dossier (nous avons besoin de ce type d’autorisation pour entrer dans un dossier) La lettre w (write) signifie que l’on a la permission d’écrire dans un fichier / dossier (modifier le fichier, supprimer le fichier etc). Et la dernière lettre qui est r (read) qui dit que l’on a la permission de lecture. On peut lire le contenu du fichier, mais c’est tout, pas de montage ou d’exécution (par exemple, on peut lire le code d’un script, mais nous ne pouvons pas l’exécuter).
  • 1 – Un certain nombre de hardlink. Un hardlink est un nom supplémentaire pour un fichier existant.
  • utilisateur utilisateur : affiche le propriétaire et le propriétaire du groupe du fichier.
  • 0 – Affiche la taille du fichier.
  • Jan 19 12:59 – Affiche la date de la dernière modification.
  • fichier1.txt – Fournit le nom du fichier / dossier.

Revenons donc à la commande chmod. Cette commande nous permet de modifier les permissions d’un fichier ou d’un dossier. Nous allons vous apprendre comment faire cela simplement en ajoutant des nombres ensemble. Chaque type d’autorisation a son propre numéro :

  • R (lire) – 4
  • W (écrire) – 2
  • X (exécuter) – 1

Ainsi, par exemple, si nous voulons définir les permissions de fichier1.txt à celles-ci :

-rwxr-rw- 1 utilisateur utilisateur 0 Jan 19 12:59 fichier1.txt

Il faudrait écrire cette commande:

chmod 746 file1.txt

Chaque numéro de cette commande représente les autorisations pour un type d’utilisateur (propriétaire, propriétaire de groupe et autres). Donc le premier nombre est 7. Ce premier nombre définit les autorisations pour le propriétaire du fichier.  La seule façon d’obtenir le nombre 7 est d’additionner les nombres 4, 2 et 1 ce qui fait 4 + 2 + 1 = 7. Cela veut dire que le propriétaire a le droit de TOUT faire (lire, écrire et exécuter – rwx). Le deuxième nombre est 4, ce qui signifie juste r (lire). Ce nombre donne des autorisations de lecture au propriétaire du groupe . Le troisième nombre est 6. La seule façon d’obtenir ce nombre est en ajoutant 4 et 2, qui fait donc 4 + 2 = 6. Donc, nous donnons aux autres la permission de lire (4) et d’ écrire (2) le fichier. La troisième partie ( fichier1.txt ) de la commande est le nom du fichier. Nous écrirons le nom du fichier auquel nous voulons définir ces permissions.

Un autre exemple :

chmod 777 fichier2.txt.

Cette commande donne TOUTES les permissions pour TOUT type d’utilisateur (propriétaire, groupe et autre ).

Voici une liste des autorisations les plus courantes pour les fichiers :

ValeurValeur numériqueExplicationrw600Le propriétaire peut lire et écrire. Le groupe et les autres ne peuvent rien faire avec le fichier.-rw-r-r-644Le propriétaire peut lire et écrire, le groupe et les autres peuvent lire.-rw-rw-rw-666Le propriétaire, le groupe et les autres peuvent lire et écrire.-rwx–700Le propriétaire peut lire, écrire et exécuter. Le groupe et les autres ne peuvent rien faire avec le fichier.-rwx-x-x711Le propriétaire peut lire, écrire et exécuter. Le groupe et les autres peuvent exécuter.-rwxr-xr-x755Le propriétaire peut lire, écrire et exécuter. Le groupe et les’autres peuvent lire et exécuter.-rwxrwxrwx777Le propriétaire, le groupe et autres peuvent lire, écrire et exécuter.

Les autorisations communes pour les répertoires:

ValeurValeur numériqueExplicationdrwx–700Seul le propriétaire peut lire et écrire dans ce répertoire.drwxr-xr-x755Le propriétaire, le groupe et d’autres peuvent lire le répertoire, mais seul le propriétaire peut modifier son contenu.

Il existe d’autres façons de modifier les permissions du fichier à l’aide de la commande chmod. Mais nous vous recommandons d’apprendre déjà la numérotation, cela vous suffira dans un premier temps. Si vous souhaitez en savoir plus sur les autres moyens de modifier les autorisations, vous pouvez en savoir plus à ce sujet ici.

Étape 2 – Modification des propriétaires de fichiers et de dossiers via la ligne de commande

Chown – Cette commande permet de changer les propriétaires d’un fichier ou d’un dossier mais tout d’abord, vous devez vous connecter à votre VPS en utilisant SSH. Si vous avez besoin d’un rappel, voici un tutoriel qui couvre tout ce que vous devez savoir.

Avant d’utiliser la commande chown, nous devons confirmer les informations sur l’utilisateur et le groupe. Vous pouvez obtenir ces informations, en utilisant cd et en naviguant vers le répertoire requis.

Par exemple, si le chemin du fichier est /tmp/TestUnix, allez-y en utilisant la commande suivante :

cd /tmp/TestUnix

Ici, vous pouvez lister les fichiers du répertoire avec la commande suivante :

ls -l

Pour ce tutoriel, nous avons créé un fichier appelé chownSample.txt dans le répertoire. Le résultat de la commande ci-dessus sera :

-rw-r--r-- 1 root root 0 Feb 20 17:35 chownSample.txt

Ici, la première partie -rw-r-r-, représente les autorisations de fichiers. Le premier Root représente les informations de propriété et le second Root représente les informations de groupe. Dans l’exemple ci-dessus, chownSample.txt est propriétaire de Root et Root appartient au groupe Root.

Chown pour les fichiers

Pour changer le propriétaire d’un fichier, le format de base de la commande est :

chown utilisateur nom(s)_de_fichier

Pour le même fichier chownSample.txt, changeons la propriété de root à un autre utilisateur avec le nom whales. Un exemple de cette commande est présenté ci-dessous :

chown whales chownSample.txt

Pour vérifier le changement de propriétaire, vous pouvez à nouveau utiliser la commande ls -l. Vous obtiendrez alors le résultat indiqué ci-dessous :

-rw-r--r-- 1 whales root 0 Feb 20 17:45 chownSample.txt

La commande peut être modifiée pour changer de groupe. Le format de base pour changer de propriétaire et de groupe est le suivant :

chown utilisateur[:groupe] nom(s)_de_fichier

Si nous voulons changer le même fichier chownSample.txt en propriétaire whales et groupe aquatic, alors la commande sera :

chown whales:aquatic chownSample.txt

Pour vérifier le changement de propriétaire et de groupe, vous pouvez utiliser ls -l. Le résultat de cette commande est :

-rw-r--r-- 1 whales aquatic 0 Feb 20 17:50 chownSample.txt

Si seul le groupe doit être changé, on peut alors passer le propriétaire. Par exemple, vous pouvez taper ceci dans la ligne de commande :

chown :aquatic chownSample.txt

Chown accomplit des fonctions similaires à celles de chgrp lorsque les informations sur le propriétaire ne sont pas fournies. Cette commande peut également être utilisée avec plusieurs options.

Une structure générique de la commande chown avec options serait :

chown [OPTIONS] [UTILISATEUR] [:GROUPE] nom(s)_de_fichier

Chown pour les répertoires

Chown peut également être appliqué pour les répertoires. Celui-ci peut contenir uniquement des fichiers ou uniquement des répertoires ou une combinaison des deux.

Supposons que nous ayons un répertoire portant le nom TestUnix, nous pouvons utiliser la commande ls -l pour afficher les autorisations. Un exemple de ce résultat sera :

drwxr-xr-x 2 root root 4096 Feb 20 17:35 TestUnix

Ici, la première partie drwxr-xr-x, représente l’autorisation du répertoire. La première Root est l’information de propriété et la deuxième Root est l’information de groupe. Dans cet exemple, TestUnix a la propriété Root et le groupe Root.

Comme pour les fichiers, nous pouvons changer la propriété et le groupe pour les répertoires. Voici un exemple de cette commande :

chown whales /TestUnix

Pour changer le groupe uniquement, vous pouvez utiliser :

chown :aquatic /TestUnix

Pour changer le propriétaire et le groupe du répertoire, vous pouvez utiliser :

chown whales:aquatic /TestUnix

La même commande peut également être utilisée pour indiquer plusieurs fichiers ou répertoires. Un exemple de cette commande :

chown [OPTIONS] [UTILISATEUR][:GROUPE] fichier1 fichier2

Un exemple réel d’une telle commande est :

chown whales:aquatic /tmp/TestUnix/chownSample.txt /tmp/TestUnix

Chown pour les liens

La commande Chown de Linux peut être utilisée sur des liens symboliques. Un lien symbolique est une référence à un fichier physique existant. La commande ln est utilisée pour créer les liens symboliques. Pour un fichier chownSample.txt, un lien symbolique peut être créé comme :

ln -s chownSample.txt symlink

Pour vérifier les informations de propriété et de groupe, nous pouvons utiliser la commande ls -l. Cela produira les résultats indiqués ci-dessous :

-rw-r--r--  1 root root  0 Feb 19 22:01 chownSample.txt
lrwxr-xr-x  1 root root 5 Feb 19  7 22:01 symlink -> chownSample.txt

Il y a deux entrées affichées. L’une concerne le fichier physique et l’autre le lien symbolique. Pour cela, si nous essayons de changer la propriété en utilisant la commande ci-dessous :

chown whales symlink

La commande ci-dessus change la propriété du fichier chownSample.txt. Ainsi, le résultat de la commande ls -l pour ce fichier sera comme indiqué ci-dessous :

-rw-r--r--  1 whales root  0 Feb 19 22:01 chownSample.txt
lrwxr-xr-x  1 root root 5 Feb 19  7 22:01 symlink -> chownSample.txt

Si nous voulons changer le propriétaire du lien symbolique, nous devons utiliser l’option -h. La commande serait :

chown -h whales symlink

Ici, si nous utilisons la commande ls -l, le résultat sera comme indiqué ci-dessous, lorsque le propriétaire du lien symbolique a changé :

-rw-r--r--  1 whales root  0 Feb 19 22:01 chownSample.txt
lrwxr-xr-x  1 whales root  5 Feb 19 7 22:01 symlink -> chownSample.txt

Utilisation récursive de Chown

La commande Chown peut être utilisée sur des répertoires, cependant, nous pourrions avoir une structure de répertoire récursive et pourrions vouloir changer la propriété de tous les fichiers et répertoires.

L’utilisation récursive de la commande chown de Linux garantit que tous les répertoires et sous-répertoires peuvent avoir un changement de propriétaire ou de groupe.

Pour une opération récursive, nous devons utiliser l’option -R. Un exemple de cette commande serait :

chown -R [UTILISATEUR][:GROUPE] Répertoire

Si nous avons un répertoire sous le nom de TestUnix avec plusieurs sous-répertoires, alors la commande ci-dessous changera le propriétaire de tous les répertoires et sous-répertoires en utilisateur whales.

chown -R whales /TestUnix

Étape 3 – Utilisation d’options supplémentaires avec les commandes chmod et chown

Une des options principales qui fonctionne avec les deux commandes est- R , ce qui signifie récursif. Cette option vous permet de modifier les autorisations / propriétaires dans le dossier donné et tous les autres fichiers et dossiers à l’intérieur de ce dossier initial.

IMPORTANT! Soyez très prudent avec cette option. Si elle est utilisée de manière incorrecte, vous pouvez accidentellement modifier les autorisations ou les propriétaires de tous les fichiers de votre système, ce qui peut causer une erreur critique ou beaucoup de travail pour remodifier les permissions / propriétaires.

Autres options pour « chmod » et « chown »:

  • « -f » – Silencieux. Signifie force . Cela ne montrera pas la plupart des messages d’erreur.
  • « -v » – Vous donne un diagnostic de chaque fichier qui a été affecté par la commande.
  • « -c » – Semblable à -v , mais fournira seulement des informations au cas où les changements ont été réellement effectués.

Conclusion

Dans ce tutoriel, vous avez appris à modifier les autorisations et les propriétaires de fichiers et de dossiers via les deux lignes de commande Chmod et Chown. Ces compétences devraient rendre la gestion de votre hébergement ou serveur plus facile. Si vous voulez continuer à apprendre, consultez nos tutoriels. Nous espérons que cela vous aidera à gérer vos fichiers VPS de manière efficace et sécurisée.

Author
L'auteur

Ismail

Ismail est un spécialiste du référencement et de la localisation chez Hostinger. Il est passionné par la technologie et le développement web et possède des années d'expérience dans le domaine informatique. Ses passe-temps incluent les jeux vidéo et le football.