Introduction aux autorisations de fichiers Linux
Les permissions Linux, comment fonctionnent-elles ?
Le système d’autorisation Linux pour les fichiers peut sembler quelque peu déroutant pour les nouveaux utilisateurs de Linux. Il y a un système de lettres ou de chiffres tous mélangés dans un désordre apparemment désordonné.
En réalité, c’est assez simple, une fois que vous comprenez comment il se décompose.
Répertoires, liens, lecture, écriture et exécution
Commencez par aller dans un dossier de votre répertoire personnel. Le dossier Téléchargements est généralement une bonne option. Une fois que vous y êtes, exécutez ls -lah.
cd ~/Downloads
ls -lah
Vous verrez une liste de tous les fichiers et dossiers dans Téléchargements À l’extrême gauche se trouve une colonne de lettres et de tirets. Il s’agit de la notation pour les autorisations.
Cette boule de lettres et de tirets peut être décomposée en quatre sections distinctes. Les tirets signifient qu’il n’y a pas de valeur ou que cette autorisation particulière n’est pas activée.
La première section vous permet de savoir si le fichier est un dossier ou un lien symbolique. C’est aussi la seule section qui n’a qu’un seul personnage, le premier. Pour les fichiers ordinaires, le premier caractère est un tiret. Pour les dossiers, c’est un d, et pour les liens, c’est un l.
Les trois sections restantes de trois valeurs représentent les autorisations réelles. Le premier regroupement gère les autorisations du propriétaire du fichier. La deuxième section concerne les autorisations de groupe du fichier. Le dernier ensemble de trois est constitué des autorisations publiques du fichier.
Cela peut sembler quelque peu évident, mais chacune des sections d’autorisation a une valeur r, w et x ou un tiret signifiant que ce groupe n’a pas cette autorisation.
Bien sûr, r correspond à « lire », w signifie « écrire » et x signifie « exécuter ».
Pour une meilleure idée de son fonctionnement, jetez un coup d’œil à cette liste d’autorisations.
-rwxr-xr--Dans ce cas, il s’agit d’un fichier ordinaire. Le propriétaire peut lire, écrire et exécuter le fichier. Le groupe sait lire et écrire. Tous les autres utilisateurs ne peuvent que le lire.
Jetez un coup d’œil à un annuaire.
drwxr-xr-xPar défaut, les fichiers de ce répertoire peuvent être lus, écrits et exécutés par le propriétaire. Le groupe et n’importe qui d’autre peuvent lire et exécuter.
Modification des autorisations
L’utilitaire chmod peut modifier les permissions de vos fichiers et dossiers. Vous devez posséder les fichiers pour pouvoir les modifier avec chmod, à moins que vous ne l’utilisiez comme root ou avec sudo.
chmod utilise les options u, g et o pour modifier les permissions de l’utilisateur propriétaire, du groupe et des autres respectivement. Jetez un coup d’œil à son fonctionnement.
chmod g+w somefile.txtLa commande ci-dessus ajoute des autorisations d’écriture pour le groupe sur le fichier, somefile.txt.
chmod peut également supprimer des autorisations.
chmod o-wx somefile.txtCette commande supprime les autorisations d’écriture et d’exécution pour les autres utilisateurs.
Vous n’avez pas besoin d’ajouter ou de soustraire pour obtenir les autorisations souhaitées. Vous pouvez également définir les autorisations en fonction de vos besoins.
chmod w=rx somefile.txtIl existe également une option permettant d’appliquer une modification à tous les groupes simultanément.
Le système numérique
En plus d’utiliser des lettres pour représenter les autorisations, Linux dispose également d’un système numérique qui peut simplifier le processus. Le système attribue une valeur à chaque autorisation. Additionnez les chiffres pour obtenir la valeur totale d’autorisation de la section.
r = 4
w = 2
x = 1
Ainsi, pour définir les autorisations d’un fichier où le propriétaire dispose de toutes les autorisations, où le groupe dispose de la lecture et de l’écriture, et où tous les autres n’ont que la lecture, vous pouvez utiliser la commande linux suivante.
chmod 764 somefile.txtLe système numérique est souvent utilisé par les applications et les services d’hébergement web car il est plus concis que les lettres. Jetez un coup d’œil à cet exemple courant :
chmod 755 something.phpDans de nombreux cas, vous voudriez que le propriétaire écrive uniquement le fichier, mais que les serveurs Web puissent le lire et l’exécuter.
Réflexions finales
Une fois que vous avez une bonne compréhension des autorisations Linux, vous pouvez contrôler efficacement l’accès à tous les fichiers et répertoires de votre système. Vous pouvez améliorer votre sécurité et empêcher vos utilisateurs de commettre des erreurs potentiellement nuisibles.