Jouons avec les permissions
Comment gérer les permissions dans un système Linux ?
C'est un aspect essentiel de la sécurité sous Linux, alors restez concentrés !
Notions théoriques
Concepts des permissions sous Linux
Sous Linux, chaque fichier et dossier a un ensemble de permissions qui déterminent qui peut :
- lire,
- écrire
- ou exécuter un fichier.
Ces permissions sont divisées en 3 groupes:
- le propriétaire du fichier,
- le groupe du fichier
- et les autres utilisateurs.
Chaque permission est représentée par un caractère :
- 'r' pour lecture (read),
- 'w' pour écriture (write)
- et 'x' pour exécution (execute).
Si une permission n'est pas accordée, un '-' apparaît à la place du caractère correspondant.
Pour visualiser les permissions d'un fichier, utilisez la commande ls -l
.
Par exemple, un fichier avec les permissions -rwxr-xr--
- signifie que le propriétaire peut lire, écrire et exécuter le fichier,
- les membres du groupe peuvent le lire et l'exécuter,
- et les autres utilisateurs peuvent seulement le lire.
Pour modifier les permissions, on utilise la commande chmod
.
Par exemple, pour donner à tous les utilisateurs le droit de lire et d'écrire un fichier, on utiliserait
chmod a+rw nom_du_fichier
.
Cette méthode de gestion des permissions ne couvre pas toutes les situations en entreprise.
Les réseaux d'entreprises nécessitent l'attribut de droits pour plusieurs groupes.
Pour combler ce manque Linux propose un système permettant de faire une gestion plus fine des droits d'accès aux fichiers appelé : Access Control List (ACL).
Les ACL permettent de donner à n'importe quel utilisateur, ou groupe, un des trois droits (lecture, écriture et exécution), et cela sans limitation du nombre d'utilisateurs à ajouter.
Résumé
La commande chmod
est utilisée pour changer les permissions sur les fichiers et les répertoires dans les systèmes d'exploitation Unix/Linux.
Les lettres 'u', 'g', 'o' et 'a' sont utilisées pour spécifier à qui les permissions s'appliquent.
Lettre | Signification | Description |
---|---|---|
U | User | Le propriétaire du fichier. Les permissions définies avec 'u' affectent directement le propriétaire du fichier. |
G | Group | Le groupe du fichier. Les permissions définies avec 'g' affectent tous les utilisateurs qui font partie du groupe du fichier. |
O | Others | Les autres utilisateurs. Les permissions définies avec 'o' affectent tous les utilisateurs qui ne sont ni le propriétaire du fichier, ni membres du groupe du fichier. |
A | All | Tous les utilisateurs. Les permissions définies avec 'a' affectent le propriétaire du fichier, les membres du groupe du fichier et tous les autres utilisateurs. |
Exemple de mise en application
Imaginons que vous avez un fichier appelé mon_fichier.txt
et que vous voulez donner à tous les utilisateurs le droit de le lire et d'écrire dedans.
Vous pouvez le faire avec la commande suivante:
chmod a+rw mon_fichier.txt
Ensuite, si vous voulez vérifier que les permissions ont été modifiées correctement, vous pouvez utiliser ls -l
:
ls -l mon_fichier.txt
Cela devrait afficher quelque chose comme -rw-rw-rw-
, ce qui signifie que tous les utilisateurs peuvent maintenant lire et écrire dans le fichier.
Nous verrons plus tard comment changer le propriétaire d'un fichier ou d'un répertoire.
Test de mémorisation/compréhension
TP pour réfléchir et résoudre des problèmes
Pour ce TP, nous allons créer un dossier de partage et définir les permissions appropriées pour permettre à tous les utilisateurs de lire et d'écrire dans ce dossier.
- Connectez-vous à votre serveur Linux.
- Créez un nouveau dossier appelé
partage
dans votre répertoire personnel~
. - Donnez à tous les utilisateurs le droit de lire et d'écrire dans ce dossier.
- Vérifiez que les permissions ont été définies correctement.
Solutions possibles
ssh votre_nom_utilisateur@adresse_du_serveur
Voici les commandes que vous pouvez utiliser pour ce TP:
cd
mkdir partage
chmod a+rw partage
ls -l
ou
mkdir ~/partage
chmod a+rw ~/partage
ls -l ~/
La dernière commande devrait afficher drw-rw-rw-
, ce qui signifie que
tous les utilisateurs peuvent lire, écrire et entrer dans le dossier partage
.