Avez-vous déjà vous retrouvé pris au piège dans le monde déconcertant des permissions Linux? Si vous vous demandez toujours qui a le droit de lire, écrire ou exécuter quoi, eh bien, vous êtes au bon endroit. Démystifiez l’art complexe des permissions Linux, en mettant particulièrement l’accent sur le duo puissant : chmod
et chown
!
Dans ce tutoriel, vous vous équiperez des compétences nécessaires pour contrôler l’accès à vos fichiers et répertoires en toute confiance.
Maintenant, retroussez vos manches et domptez les permissions Linux comme un champion !
Prérequis
Avant de vous lancer dans cette plongée approfondie dans les permissions Linux, assurez-vous d’avoir une machine Linux pour maîtriser les commandes chmod
et chown
. Ce tutoriel utilise Ubuntu 22.04 LTS (Jammy Jellyfish).
Comprendre les commandes chmod
et chown
Dans le royaume des permissions Linux, les commandes chmod
et chown
détiennent un pouvoir significatif. Comprendre comment utiliser ces commandes efficacement est crucial pour tout utilisateur Linux, des débutants aux administrateurs chevronnés.
Les deux commandes offrent de nombreuses façons de contrôler votre système Linux, mais voici les bases de ce que chacune peut faire :
chmod
– Cette commande est la clé pour gérer les permissions des fichiers et répertoires dans Linux, vous permettant de spécifier qui peut lire, écrire et exécuter un fichier. En utilisant une combinaison de symboles et de codes numériques, vous pouvez accorder ou restreindre l’accès aux utilisateurs, groupes et autres.chown
– Avec cette commande, vous pouvez changer la propriété des fichiers et des répertoires. Cette commande est inestimable lorsque vous devez transférer le contrôle administratif ou modifier l’association entre un fichier et un utilisateur/groupe.
Que vous protégiez des données sensibles ou simplifiiez l’accès pour une équipe, ces commandes sont vos fidèles compagnons dans le monde des opérations de fichiers Linux.
Continuez à lire et plongez encore plus profondément dans les subtilités de ces commandes.
Listing des fichiers et visualisation des permissions
Avant de modifier les permissions et la propriété avec les commandes chmod
et chown
, la première étape est de lister les fichiers et de visualiser leurs permissions.
Comme trouver un livre dans une bibliothèque, sous Linux, vous aurez souvent besoin de consulter une liste de fichiers avec leurs permissions associées. Cette connaissance est cruciale pour une gestion de fichiers efficace.
Pour afficher les permissions d’un fichier ou d’un répertoire :
Ouvrez un terminal et exécutez la commande ls
suivante pour lister tous les fichiers et répertoires dans le répertoire de travail actuel dans un format long (-l
)
Le format long fournit des informations détaillées sur chaque fichier ou répertoire, comme indiqué ci-dessous.
Ces informations incluent les permissions, le nombre de liens, le propriétaire, le groupe, la taille et l’heure de modification. Mais votre attention est actuellement portée sur les permissions du fichier.

Trois autorisations clés régissent chaque fichier et répertoire : lecture (r), écriture (w) et exécution (x). Chacune dicte comment les utilisateurs interagissent avec le contenu de chaque fichier et répertoire.
De plus, chacune de ces autorisations est appliquée à trois catégories distinctes de propriété : propriétaire, groupe et autres (utilisateurs qui ne sont ni propriétaires ni membres du groupe).
Le texte suivant illustre chaque partie des autorisations de fichier :
- Le premier caractère indique un fichier (–) ou un répertoire (d).
- La première partie (rw-) – Fournit au propriétaire les autorisations de lecture et d’écriture, mais pas d’exécution.
- La deuxième partie (rw-) – Accorde au groupe les autorisations de lecture et d’écriture, mais pas d’exécution.
- La dernière partie (r–) – Autorise les autres à lire mais pas à écrire ou exécuter.

Modification des autorisations via la commande chmod
: Mode symbolique
En élargissant votre compréhension des autorisations de fichier, plongez dans un outil puissant pour les modifier. Imaginez ajuster qui peut accéder, modifier ou exécuter un fichier ou répertoire avec précision. La commande chmod
(changer le mode) vous donne le pouvoir de prendre le contrôle de votre système Linux.
Quand vous avez besoin d’une manière flexible et expressive de contrôler précisément l’accès à vos fichiers et répertoires, le mode symbolique fera l’affaire.
Pour modifier les autorisations avec la commande chmod
via le mode symbolique, suivez ces étapes :
1. Exécutez la commande who
ci-dessous pour créer un nouveau fichier (>
) appelé user.txt
en tant qu’utilisateur non privilégié, contenant une liste des utilisateurs actuellement connectés sur votre machine Linux.
Cette commande ne fournit pas de sortie dans le terminal, mais vous vérifierez les autorisations du fichier à l’étape suivante.
2. Ensuite, exécutez la commande ci-dessous pour afficher les autorisations du fichier user.txt
.
Vous pouvez voir ci-dessous les autorisations par défaut du fichier, le propriétaire, le jour et le mois de création, ainsi que le nom du fichier.
Prenez note de l’autorisation actuelle du fichier, car vous comparerez plus tard. Votre attention pour le moment est sur les autorisations de l’utilisateur (rw-).

3. Maintenant, exécutez la commande suivante pour supprimer (-
) l’autorisation d’écriture (w
) pour le propriétaire (u
), en laissant inchangée toute autre autorisation pour les autres catégories.
Le tableau suivant explique ce que chaque symbole représente :
User Symbol | Details | Operation Symbol | Details | Permission Symbol | Details |
---|---|---|---|---|---|
u | Owner | + | Add permissions | r | Read |
g | Group | – | Remove permissions | w | Write |
o | Others | = | Set permissions explicitly | x | Execute |
En cas de succès, la commande chmod
n’a aucune sortie dans le terminal, ce qui s’applique tout au long de ce tutoriel.
4. Après avoir modifié les autorisations, exécutez la commande ci-dessous pour voir les autorisations du fichier user.txt
.
Comparez les autorisations de fichier que vous avez notées à l’étape deux (rw-) avec celles ci-dessous. Remarquez que le propriétaire (u) a maintenant seulement l’autorisation de lecture (r–).

5. Maintenant, exécutez chaque commande ci-dessous pour effectuer les actions suivantes :
- Ajoutez (
+
), écrivez (w
), et exécutez (x
) les permissions pour le propriétaire (u
) sur le même fichieruser.txt
. - Consultez les informations du fichier
user.txt
pour vérifier les permissions modifiées.
Comme indiqué ci-dessous, l’utilisateur a maintenant les permissions de lecture, écriture et exécution (rwx) pour le fichier user.txt.

6. Au lieu d’ajouter, exécutez la commande chmod
ci-dessous pour supprimer (-
) ce qui suit :
- Permission d’exécution (
x
) pour le propriétaire (u
). - Permission d’écriture (
w
) pour le groupe (g
). - Toutes les permissions (
rwx
) pour les autres (o
).
Cette commande vous permet de supprimer simultanément des permissions de différentes catégories avec une seule commande.
Cette fois, l’option -v
indique à chmod
d’afficher un message sur les modifications apportées par l’opération.

7. Ensuite, exécutez la commande suivante pour effectuer les opérations suivantes :
- Ajoutez (
+
) des permissions de lecture (r
) à toutes les catégories. - Supprimez (
-
) les permissions d’écriture et d’exécution (wx
) pour toutes (a
) les catégories.
8. Maintenant, exécutez la commande ci-dessous pour voir les permissions mises à jour du fichier user.txt
.

? En outre, vous pouvez modifier la même autorisation pour les trois catégories (utilisateur, groupe et autres) avec les commandes suivantes :
chmod ugo-r
– Supprime (-
) les permissions de lecture (r
) pour les trois catégories (ugo
).
chmod ugo+r
– Ajoute (+
) les permissions de lecture (r
) pour les trois catégories (ugo
).
9. Enfin, exécutez les commandes ci-dessous pour effectuer les actions suivantes:
chmod
– Définit (=
) les permissions de lecture et écriture (rw
) pour le propriétaire et le groupe, et supprime les permissions des autres (o=
).
Le symbole=
vous permet de définir explicitement les permissions et de remplacer toutes les permissions existantes. Si aucune permission n’est spécifiée après le symbole=
, toutes les permissions pour cette catégorie sont supprimées.ls
– Visualisez les changements que vous avez apportés aux permissions du fichieruser.txt
.

Modification des droits d’accès en utilisant la commande chmod
: Mode octal
Imaginez avoir la capacité de définir rapidement et précisément les permissions pour vos fichiers sans les complexités de la notation symbolique. Le mode octal (notation en base huit) deviendra votre nouvelle méthode préférée pour gérer les permissions.
En mode octal (notation en base huit), les permissions sont représentées à l’aide d’un nombre à quatre ou trois chiffres, de 0 à 7. Chaque nombre correspond à un ensemble spécifique de permissions pour le propriétaire, le groupe et les autres, comme suit:
- Lecture (r) = 4
- Écriture (w) = 2
- Exécution (x) = 1
- Aucune permission (-) = 0
Pour voir comment le mode octal fonctionne dans la gestion des permissions de fichier, suivez ces étapes :
1. Exécutez la commande chmod
ci-dessous pour ajouter les autorisations suivantes (664
) au fichier user.txt
:
- Propriétaire – lecture (
4
) + écriture (2
) + exécution (0
) =6
- Groupe – lecture (
4
) + écriture (2
) + exécution (0
) =6
- Autres – lecture (
4
) + écriture (0
) + exécution (0
) =4
Lors de l’utilisation d’un nombre à quatre chiffres avec la commande chmod
pour les permissions de fichier sous Linux, le chiffre de tête (le plus à gauche) représente des permissions spéciales, telles que setuid, setgid et le bit collant. Les trois chiffres suivants représentent respectivement les permissions standard pour le propriétaire, le groupe et les autres.
Mais lors de l’utilisation d’un nombre à trois chiffres, le premier chiffre représente les permissions du propriétaire du fichier (u
), le deuxième pour le groupe du fichier (g
), et le dernier pour les autres (o
).
Dans de nombreux cas, surtout lorsque l’on ne traite pas avec des permissions spéciales, vous ne verrez peut-être que la notation à trois chiffres. Le zéro initial, qui indique la notation octale, peut être implicite et donc omis. Comme dans l’exemple ci-dessous, au lieu de 0664
, vous utilisez 664
.
2. Ensuite, exécutez la commande ci-dessous pour afficher les autorisations du fichier user.txt
.
Dans la sortie ci-dessous, vous pouvez voir les autorisations définies pour le fichier user.txt sont en mode symbolique, ce qui est équivalent à 664 en mode octal.

3. Maintenant, exécutez la commande stat
ci-dessous pour afficher un ensemble complet de statistiques sur le fichier user.txt
, y compris les autorisations en modes symbolique et octal.
Sur la propriété Accès, comme indiqué ci-dessous, vous verrez le mode octal et symbolique associé aux autorisations de fichier du fichier user.txt.
Avec ces informations, vous améliorez votre compréhension de l’ajustement des autorisations en utilisant le mode octal.

Changement de propriétaire de fichier avec la commande chown
Alors que les autorisations dictent quelles actions peuvent être effectuées sur un fichier ou un répertoire, vous pouvez spécifier qui a le droit de définir ou de modifier ces autorisations en changeant la propriété.
La commande chown
(changement de propriétaire) est la commande principale pour gérer la propriété des fichiers et des répertoires. Comme la commande chmod
, la commande chown
est une commande réservée au superutilisateur – seul l’utilisateur root peut changer la propriété d’un fichier ou d’un répertoire.
Pour gérer la propriété avec la commande chown
, suivez les étapes ci-dessous :
1. Exécutez les commandes ci-dessous pour créer un utilisateur (useradd
) nommé bill
et fournir un mot de passe fort.
Vous devez avoir plus d’un utilisateur sur votre machine locale autre que l’utilisateur par défaut, qui est vous, pour voir comment fonctionne le changement de propriété.

2. Ensuite, exécutez chaque commande ci-dessous pour écrire une liste des utilisateurs actuellement connectés (who
) dans un fichier appelé new.txt
en tant qu’utilisateur non privilégié, et affichez (ls
) son propriétaire et ses autorisations.
Ci-dessous, la sortie montre que le propriétaire du fichier est mercy.

3. Une fois le propriétaire vérifié, exécutez la commande chown
ci-dessous pour changer le propriétaire du fichier new.txt
en bill
.
Tout comme la commande chmod
, la commande chown
ne fournit pas de sortie, mais vous vérifierez le changement de propriétaire à l’étape suivante.
4. Maintenant, exécutez la commande suivante pour afficher (ls
) le nouveau propriétaire du fichier new.txt
.
La sortie ci-dessous confirme que vous avez changé avec succès le propriétaire du fichier new.txt en bill, qui a maintenant le contrôle et l’autorité sur ce fichier.

Enforcer la Commande chown
pour Modifier la Propriété de Groupe
Dans le système de fichiers Linux, chaque fichier et répertoire est associé non seulement à un propriétaire individuel, mais aussi à un groupe. Tout comme un seul instrument mal accordé peut perturber tout l’ensemble, une propriété incorrecte peut entraîner des problèmes potentiels.
Devriez-vous vous inquiéter ? Pas vraiment. L’association de groupe permet une approche en couches des autorisations de fichier. Cette approche permet à plusieurs utilisateurs de collaborer et de partager l’accès en fonction de l’appartenance au groupe.
Pour modifier la propriété du groupe, suivez les étapes suivantes :
1. Exécutez la commande ci-dessous pour afficher le groupe associé au fichier new.txt
.

2. Ensuite, exécutez les commandes ci-dessous, qui ne fournissent pas de sortie mais effectuent les actions suivantes :
- Créez un groupe (
groupadd
) appelédevelopers
. - Changez la propriété du groupe (
chown
) du fichiernew.txt
àdevelopers
.
? En option, au lieu d’une approche individuelle, utilisez les commandes suivantes pour changer récursivement le propriétaire et la propriété du groupe d’un fichier ou d’un répertoire entier.
sudo chown -R john:finance-group user.txt
sudo chown -R john:finance-group ~/Desktop
3. Maintenant, réexécutez la commande suivante pour afficher (ls
) la nouvelle propriété du groupe du fichier new.txt
.
Ci-dessous, la sortie confirme que vous avez changé avec succès la propriété du groupe du fichier new.txt en developers.

Modification de la propriété du fichier via les UID et GID numériques
Alors que les noms d’utilisateur et les noms de groupe offrent un moyen lisible par l’homme d’identifier les propriétaires de fichiers, chaque utilisateur et groupe est également associé à des identifiants numériques uniques.
Ces identifiants numériques uniques sont l’ID utilisateur (UID) et l’ID de groupe (GID). Ils fournissent une manière non ambiguë de définir la propriété du fichier dans des environnements avec des noms d’utilisateur ou de groupe qui se chevauchent ou sont similaires.
Pour changer la propriété en utilisant les UID et GID numériques, suivez ces étapes :
1. Exécutez la commande ci-dessous pour afficher les informations (ls
) sur le fichier new.txt
.
L’option -n
indique à la commande ls
d’afficher les UID et GID numériques au lieu de les résoudre en leurs noms d’utilisateur et de groupe correspondants.
Notez l’UID et le GID associés au fichier new.txt
, car vous en aurez besoin pour effectuer des comparaisons à l’étape suivante.

2. Ensuite, exécutez les commandes getent
suivantes pour obtenir l’UID et le GID de l’utilisateur et du groupe que vous souhaitez définir comme propriétaire de votre fichier.
Assurez-vous de remplacer les espaces réservés <username>
et <groupname>
par votre nom d’utilisateur et le nom de groupe souhaité.
Prenez note de l’UID (c’est-à-dire 1002) et du GID (c’est-à-dire 1005) dans la sortie suivante, car vous en aurez besoin pour changer la propriété à l’étape suivante.
Par défaut, lorsqu’un utilisateur est créé sous Linux, un groupe portant le même nom que l’utilisateur est également créé. Ce groupe sert de groupe primaire de l’utilisateur et est automatiquement ajouté à ce groupe primaire.
Ainsi, le GID de l’utilisateur john
diffère du GID du groupe finance
. À moins que l’utilisateur ne soit explicitement ajouté au groupe, leurs GIDs respectifs restent différents.

3. Ensuite, exécutez la commande suivante pour changer la propriété du fichier new.txt
ainsi que la propriété du groupe. Assurez-vous de remplacer 1002
et 1005
par ceux que vous avez notés à l’étape deux.
? Notez que l’utilisation d’UID et de GID numériques peut être moins lisible que les noms d’utilisateur et de groupe. Assurez-vous donc d’utiliser les bons numéros pour éviter des changements non intentionnels.
4. Enfin, réexécutez la commande ci-dessous pour afficher les informations (ls
) sur le fichier new.txt
et vérifiez les modifications apportées à la propriété du fichier.
Comparez l’UID et le GID que vous avez notés à l’étape un avec ceux ci-dessous. Remarquez que la propriété du nouveau fichier a été modifiée de 1001:1003 à 1002:1005.

Conclusion
Vous venez de vous lancer dans une exploration approfondie des permissions Linux, acquérant une maîtrise des commandes cruciales telles que chmod
et chown
. Tout au long de ce tutoriel, vous êtes devenu compétent dans la modification des permissions en utilisant les modes symboliques et octaux.
Vous avez également acquis les compétences nécessaires pour gérer la propriété des fichiers et les affectations de groupe, que ce soit par nom ou à travers les UID et GID numériques. Avec cette expertise nouvellement acquise dans chmod
et chown
, vous disposez désormais d’outils puissants pour régir l’accès et la propriété au sein de votre système Linux.
Mais pourquoi ne pas renforcer encore davantage votre compétence Linux ? Peut-être envisager d’approfondir les méthodes de contrôle d’accès avancées, y compris les listes de contrôle d’accès (ACL) ? Visez un contrôle encore plus précis sur les permissions de fichiers et de répertoires !