Dans les systèmes basés sur Linux, les permissions permettent de contrôler qui peut accéder à quoi. Chaque fichier ou répertoire dispose de permissions associées à trois entités :
Les permissions définissent les actions autorisées pour chaque entité :
Les permissions sont visibles avec la commande ls -l, qui affiche une ligne par fichier ou répertoire :
-rwxr-xr-- 1 utilisateur groupe 12345 date fichier
rwx :
r (read) : permission de lire le contenu du fichier.w (write) : permission de modifier ou supprimer le fichier.x (execute) : permission d'exécuter le fichier, comme un programme ou un script.r (read) : permission de lister le contenu du dossier.w (write) : permission de créer, supprimer ou renommer des fichiers ou sous-dossiers à l'intérieur.x (execute) : permission de pénétrer dans le dossier (utiliser cd) et d'accéder aux fichiers à l'intérieur (si les permissions des fichiers le permettent).- pour un fichier, d pour un répertoire, etc.), suivi des permissions pour le propriétaire, le groupe et les autres.-rwxr-xr--rwx : permissions du propriétaire (lecture, écriture, exécution).r-x : permissions du groupe (lecture, exécution).r-- : permissions des autres (lecture uniquement).chmodLa commande chmod permet de modifier les permissions d'un fichier ou répertoire.
chmod [options] mode fichier
u : propriétaire (user).g : groupe.o : autres (others).a : tous (all).+ (ajout), - (retrait), = (définir).Exemple :
chmod u+x fichier # Ajoute l'exécution pour le propriétaire.
chmod u+rw fichier # Ajoute la lecture et l'écriture pour le propriétaire.
chmod g-w fichier # Retire l'écriture pour le groupe.
chmod a=r fichier # Donne uniquement la lecture à tous.
Exemple :
chmod 755 fichier # rwx pour le propriétaire, r-x pour les autres.
chmod 644 fichier # rw- pour le propriétaire, r-- pour les autres.
chownLa commande chown permet de changer le propriétaire ou le groupe d'un fichier ou répertoire.
chown [propriétaire][:groupe] fichier
Exemples :
chown alice fichier # Change le propriétaire en "alice".
chown alice:developers fichier # Change le propriétaire et le groupe.
chown :developers fichier # Change le groupe
chgrpLa commande chgrp modifie uniquement le groupe.
chgrp developers fichier
Certains fichiers ou répertoires peuvent avoir des permissions supplémentaires :
s au lieu de x dans les permissions du propriétaire.chmod u+s fichier
s au lieu de x dans les permissions du groupe.chmod g+s fichier
t au lieu de x dans les permissions des autres.chmod +t dossier
Les permissions sont essentielles pour la sécurité et la gestion d'un système Linux. En comprenant leur fonctionnement et leur manipulation, vous pouvez contrôler précisément l'accès à vos fichiers et répertoires. Cela contribue à prévenir les erreurs et à protéger les données sensibles.