Linux

Comprendre les autorisations de fichiers Linux

Comprendre les autorisations de fichiers Linux

Sous Linux, les autorisations de fichiers, les attributs et la propriété contrôlent le niveau d'accès que les processus système et les utilisateurs ont aux fichiers. Cela garantit que seuls les utilisateurs et processus autorisés peuvent accéder à des fichiers et répertoires spécifiques.

Autorisations de fichiers Linux #

Le modèle d'autorisations de base de Linux fonctionne en associant chaque fichier système à un propriétaire et à un groupe et en attribuant des droits d'accès aux autorisations pour trois classes d'utilisateurs différentes :

La propriété du fichier peut être modifiée à l'aide de la chown et chgrp commandes.

Trois types d'autorisations de fichiers s'appliquent à chaque classe d'utilisateurs :

Ce concept vous permet de contrôler quels utilisateurs peuvent lire le fichier, écrire dans le fichier ou exécuter le fichier.

Pour afficher les autorisations de fichier, utilisez le ls commander:

ls -l nom_fichier
-rw-r--r-- 12 utilisateurs Linux 12.0K 28 avril 10:10 file_name |[-][-][-]- [------] [---] | | | | | | | | | | | | | +-----------> 7. Groupe | | | | | +-------------------> 6. Propriétaire | | | | +-----------------------------------------> 5. Méthode d'accès alternative | | | +-----------------------------> 4. Autres autorisations | | +--------------------------------> 3. Autorisations de groupe | +----------------------------------> 2. Autorisations du propriétaire +-------------------------------------------------> 1. Type de fichier 

Le premier caractère indique le type de fichier. Il peut s'agir d'un fichier normal (-), répertoire (), un lien symbolique (je) ou d'autres types de fichiers spéciaux. Les neuf caractères suivants représentent les autorisations de fichier, trois triplets de trois caractères chacun. Le premier triplet affiche les autorisations du propriétaire, le second les autorisations du groupe et le dernier triplet affiche les autorisations de tous les autres.

Dans l'exemple ci-dessus (rw-r--r--) signifie que le propriétaire du fichier a des autorisations de lecture et d'écriture (rw-), le groupe et les autres n'ont que des autorisations de lecture (r--).

Les autorisations de fichier ont une signification différente selon le type de fichier.

Chacun des trois triplets d'autorisation peut être composé des caractères suivants et avoir des effets différents, selon qu'il est défini sur un fichier ou sur un répertoire :

Effet des autorisations sur les fichiers

AutorisationPersonnageSignification au dossier
Lis-Le fichier n'est pas lisible. Vous ne pouvez pas afficher le contenu du fichier.
rLe fichier est lisible.
Écrivez-Le fichier ne peut pas être changé ou modifié.
wLe fichier peut être changé ou modifié.
Exécuter-Le fichier ne peut pas être exécuté.
XLe fichier peut être exécuté.
sS'il se trouve dans le utilisateur triplet, il fixe le setuid bit. S'il se trouve dans le grouper triplet, il fixe le setgid bit. Cela signifie aussi que X le drapeau est placé.
Quand le setuid ou alors setgid les indicateurs sont définis sur un fichier exécutable, le fichier est exécuté avec les privilèges du propriétaire et/ou du groupe du fichier.
SPareil que s, mais le X le drapeau n'est pas défini. Ce drapeau est rarement utilisé sur les fichiers.
tS'il se trouve dans le autres triplet, il fixe le collant bit.
Cela signifie aussi que X le drapeau est placé. Ce drapeau est inutile sur les fichiers.
TPareil que, t mais le X le drapeau n'est pas défini. Ce drapeau est inutile sur les fichiers.

Effet des autorisations sur les répertoires (dossiers)

Les répertoires sont des types spéciaux de fichiers qui peuvent contenir d'autres fichiers et répertoires.

AutorisationPersonnageSignification dans l'annuaire
Lis-Le contenu du répertoire ne peut pas être affiché.
rLe contenu du répertoire peut être affiché.
(e.g., Vous pouvez lister les fichiers à l'intérieur du répertoire avec ls.)
Écrivez-Le contenu du répertoire ne peut pas être modifié.
wLe contenu du répertoire peut être modifié.
(e.g., Vous pouvez créer de nouveaux fichiers, supprimer des fichiers… etc.)
Exécuter-Le répertoire ne peut pas être changé en.
XLe répertoire peut être parcouru en utilisant CD.
sS'il se trouve dans le utilisateur triplet, il fixe le setuid bit. S'il se trouve dans le grouper triplet, il définit le setgid bit. Cela signifie aussi que X le drapeau est placé. Quand le setgid flag est défini sur un répertoire, les nouveaux fichiers créés dans celui-ci héritent de l'ID de groupe de répertoires (GID) au lieu de l'ID de groupe principal de l'utilisateur qui a créé le fichier.
setuid n'a aucun effet sur les répertoires.
SPareil que s, mais le X le drapeau n'est pas défini. Ce drapeau est inutile sur les répertoires.
tS'il se trouve dans le autres triplet, il fixe le collant bit.
Cela signifie aussi que X le drapeau est placé. Lorsque le sticky bit est défini sur un répertoire, seul le propriétaire du fichier, le propriétaire du répertoire ou l'utilisateur administratif peut supprimer ou renommer les fichiers dans le répertoire.
TPareil que t, mais le X le drapeau n'est pas défini. Ce drapeau est inutile sur les répertoires.

Modification des autorisations de fichier #

Les autorisations de fichier peuvent être modifiées à l'aide de la chmod commander. Seul root, le propriétaire du fichier ou l'utilisateur avec des privilèges sudo peut modifier les autorisations d'un fichier. Soyez très prudent lorsque vous utilisez chmod, surtout lors de la modification récursive des autorisations. La commande peut accepter un ou plusieurs fichiers et/ou répertoires séparés par un espace comme arguments.

Les autorisations peuvent être spécifiées à l'aide d'un mode symbolique, d'un mode numérique ou d'un fichier de référence.

Méthode symbolique (texte) #

La syntaxe du chmod commande lors de l'utilisation du mode symbolique a le format suivant :

chmod [OPTIONS] [ugoa… ][-+=]perms… [,… ] FICHIER… 

Le premier ensemble de drapeaux ([ougoa… ]), les indicateurs d'utilisateurs, définissent les classes d'utilisateurs pour lesquelles les autorisations sur le fichier sont modifiées.

Lorsque le drapeau des utilisateurs est omis, il est par défaut une.

Le deuxième ensemble de drapeaux ([-+=]), les indicateurs d'opération, définissent si les autorisations doivent être supprimées, ajoutées ou définies :

Les autorisations (permanentes… ) sont explicitement définis à l'aide de zéro ou d'une ou plusieurs des lettres suivantes : r, w, X, X, s, et t. Utilisez une seule lettre de l'ensemble vous, g, et o lors de la copie des autorisations d'une classe d'utilisateurs à une autre.

Lors de la définition des autorisations pour plusieurs classes d'utilisateurs ([,… ]), utilisez des virgules (sans espaces) pour séparer les modes symboliques.

Voici quelques exemples d'utilisation du chmod commande en mode symbolique :

Méthode numérique #

La syntaxe du chmod commande lors de l'utilisation du mode symbolique a le format suivant :

chmod [OPTIONS] NUMERO DE FICHIER… 

Lorsque vous utilisez le mode numérique, vous pouvez définir les autorisations pour les trois classes d'utilisateurs (propriétaire, groupe et toutes les autres) en même temps.

Le numéro d'autorisation peut être un numéro à 3 ou 4 chiffres. Lorsqu'un nombre à 3 chiffres est utilisé, le premier chiffre représente les autorisations du propriétaire du fichier, le second le groupe du fichier et le dernier tous les autres utilisateurs.

Chaque autorisation d'écriture, de lecture et d'exécution a la valeur numérique suivante :

Le nombre d'autorisations d'une classe d'utilisateurs spécifique est représenté par la somme des valeurs des autorisations pour ce groupe.

Pour connaître les permissions du fichier en mode numérique, il suffit de calculer les totaux pour toutes les classes d'utilisateurs. Par exemple, pour donner des autorisations de lecture, d'écriture et d'exécution au propriétaire du fichier, des autorisations de lecture et d'exécution au groupe du fichier et uniquement des autorisations de lecture à tous les autres utilisateurs, procédez comme suit :

En utilisant la méthode ci-dessus, nous arrivons au nombre 754, qui représente les autorisations souhaitées.

Pour mettre en place le setuid, setgid, et peu collant drapeaux, utilisez un nombre à quatre chiffres.

Lorsque le numéro à 4 chiffres est utilisé, le premier chiffre a la signification suivante :

Les trois chiffres suivants ont la même signification que lors de l'utilisation d'un nombre à 3 chiffres.

Si le premier chiffre est 0, il peut être omis et le mode peut être représenté avec 3 chiffres. Le mode numérique 0755 est le même que 755.

Pour calculer le mode numérique, vous pouvez également utiliser une autre méthode (méthode binaire), mais c'est un peu plus compliqué. Savoir calculer le mode numérique à l'aide de 4, 2 et 1 est suffisant pour la plupart des utilisateurs.

Vous pouvez vérifier les autorisations du fichier dans la notation numérique en utilisant le statistique commander:

stat -c "%a" nom_fichier 

Voici quelques exemples d'utilisation du chmod commande en mode numérique :

Conclusion #

Sous Linux, l'accès aux fichiers est restreint à l'aide des autorisations, des attributs et de la propriété des fichiers. Pour modifier les autorisations du fichier, utilisez le chmod commander.

Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.

Comment télécharger et jouer à Civilization VI de Sid Meier sur Linux
Présentation du jeu Civilization 6 est une version moderne du concept classique introduit dans la série de jeux Age of Empires. L'idée était assez sim...
Comment installer et jouer à Doom sur Linux
Introduction à Doom La série Doom est née dans les années 90 après la sortie du Doom original. Ce fut un succès instantané et à partir de ce moment-là...
Vulkan pour les utilisateurs Linux
Avec chaque nouvelle génération de cartes graphiques, nous voyons les développeurs de jeux repousser les limites de la fidélité graphique et se rappro...