Modifier l'autorisation du dossier et des répertoires sous Linux/Unix
- Propriété des fichiers dans un système Unix/Linux
- Afficher les autorisations de fichiers sous Linux
- Modifier les autorisations de fichiers dans un système Unix/Linux
- Changer de groupe et de propriétaire sous Linux
- Modification de la commande de propriété sous Linux
-
Utiliser le
chmod
en mode absolu sous Linux
Le système d’autorisations de fichiers est l’un des éléments de sécurité essentiels du système d’exploitation Linux.
Ces fonctionnalités nous permettent d’ajuster les autorisations de fichiers et les modes d’accès. Nous fournissons des autorisations basées sur des autorisations appropriées pour éviter d’éventuelles vulnérabilités lorsqu’un utilisateur ne dispose pas de l’accès approprié aux fichiers et dossiers.
Propriété des fichiers dans un système Unix/Linux
Dans un système Unix/Linux, il existe trois types de propriété pour les fichiers et les répertoires. Le propriétaire attribué au fichier a le pouvoir de le modifier en fonction des autorisations qu’il reçoit.
- Autorisation du propriétaire : les autorisations du propriétaire du fichier spécifient les fonctions que le propriétaire du fichier peut exécuter. Étant donné que l’utilisateur qui crée un fichier en devient le propriétaire, un utilisateur est également appelé propriétaire.
- Autorisations par groupe : les autorisations d’un groupe déterminent les activités qu’un utilisateur peut effectuer sur un fichier s’il est membre de ce groupe.
- Autorisations supplémentaires : les autorisations des autres utilisateurs définissent les actions qu’ils peuvent effectuer avec le fichier.
Chaque fichier avait trois options d’accès au début. Ils sont les suivants :
- Le
Read (r)
: Il permet de récupérer le contenu du fichier mais pas de l’écrire. Il vous permettra de recevoir une liste des fichiers et répertoires présents dans un répertoire. - Le
Write (w)
: il permet d’ajouter de nouvelles données aux fichiers ou de modifier ceux qui existent déjà, ainsi que de créer et de modifier des fichiers et des répertoires. - Le
Execute (x)
: si un programme n’a pas le drapeau d’exécution, il ne peut pas être exécuté. Cette propriété est définie pour tous les programmes et scripts. Le système l’utilise pour déterminer si oui ou non le fichier doit être lancé en tant que programme.
Afficher les autorisations de fichiers sous Linux
Bien sûr, vous pouvez utiliser un gestionnaire de fichiers sous Linux pour rechercher les autorisations de fichiers. Ils prennent tous en charge cette fonctionnalité, mais vous recevrez ainsi des informations partielles.
Utilisez la commande ls
avec l’argument -l
pour obtenir des détails complets sur tous les drapeaux. Tous les fichiers du répertoire seront affichés, ainsi que leurs propriétés et bits.
Exécutez la commande suivante dans le dossier où sont stockés les fichiers pour connaître les permissions sur un fichier Linux :
$ ls -l
J’ai créé un dossier et deux fichiers, test
et testfile
à l’intérieur.
Production :
total 0
-rw-rw-r-- 1 user user 0 Jan 14 01:00 test
-rw-rw-r-- 1 user user 0 Jan 14 01:00 testfile
La première colonne indique les différents modes d’accès ou les permissions associées à un fichier ou un répertoire. Ensuite, il y a des groupes de droits, d’abord pour le propriétaire, puis pour le groupe et tous les autres.
Examinons de plus près ce que signifient les valeurs conditionnelles des drapeaux d’autorisation :
---
- aucun droit du tout ;--x
- seule l’exécution de fichier est autorisée, en tant que programme, mais pas de modification ni de lecture ;-w-
- seules l’écriture et la modification du fichier sont autorisées ;-wx
- permet la modification et l’exécution, mais dans le cas d’un répertoire, vous ne pouvez pas voir son contenu ;r--
- droits de lecture seule ;rx
- lecture et exécution uniquement, pas d’accès en écriture ;rw-
- autorisations de lecture et d’écriture, mais pas d’exécution ;rwx
- tous les droits ;--s
- Lorsque le bitSUID
ouSGID
est activé, leSUID
du propriétaire est affiché dans le champ, tandis que leSGID
du groupe est affiché dans le champ;--t
- sticky-bit est défini, ce qui signifie que les utilisateurs ne peuvent pas supprimer ce fichier.
Modifier les autorisations de fichiers dans un système Unix/Linux
Le chmod
est une commande de mode de changement qui modifie les autorisations d’un fichier ou d’un répertoire. Les deux façons d’utiliser chmod
sont les modes symbolique et absolu.
Utiliser le chmod
en mode symbolique
Le mode symbolique est l’approche la plus simple pour un apprenant pour ajuster les autorisations de fichiers ou de répertoires.
À l’aide des opérateurs du tableau suivant, vous pouvez ajouter, supprimer ou spécifier le jeu d’autorisations souhaité avec des autorisations symboliques.
opérateur chmod |
la description |
---|---|
+ |
Les autorisations spécifiées sont ajoutées à un fichier ou un répertoire. |
- |
Supprime les autorisations spécifiées d’un fichier ou d’un répertoire. |
= |
Définit l’autorisation pour le ou les utilisateurs spécifiés. |
Prenons un exemple. Lorsque vous exécutez ls -l
sur le test, vous verrez que les autorisations sont les suivantes :
$ ls -l test
Production :
-rw-rw-r-- 1 user user 0 Jan 14 01:00 test
Exécutez ensuite chacun des exemples de commandes chmod
du tableau précédent sur le test, suivi de ls -l pour voir les modifications d’autorisation.
$ chmod o+wx test
$ ls -l test
Ici, o
désigne les autres utilisateurs, w
écrit et x
exécute. +
est utilisé pour ajouter des autorisations spécifiées à un fichier test
.
Production :
-rw-rw-rwx 1 user user 0 Jan 14 01:00 test
Nous pouvons voir les différences dans les deux sorties ci-dessus. -rw-rw-r--
est changé en -rw-rw-rwx
. La commande ci-dessus a ajouté les autorisations rw
aux autres
utilisateurs.
Changer de groupe et de propriétaire sous Linux
Lorsqu’ils créent un compte sur Unix, chaque utilisateur reçoit un identifiant de propriétaire et un identifiant de groupe. Toutes les autorisations ci-dessus sont également attribuées en fonction du propriétaire et du groupe.
Il existe principalement deux commandes pour changer les groupes et les propriétaires.
chown
: La commandechown
, qui signifiechange owner
, permet de changer le propriétaire d’un fichier.chgrp
: La commandechgrp
, qui signifiechange group
, permet de changer le groupe d’un fichier.
Les groupes d’autorisations utilisés sont :
- u – Propriétaire
- g – Groupe
- o – Autres
- a – Tous les utilisateurs
Modification de la commande de propriété sous Linux
La commande chown
est utilisée pour changer la propriété d’un fichier.
Voici la syntaxe de base :
$ chown [name] [filename]
Le nom d’un utilisateur système ou l’ID utilisateur (UID) d’un utilisateur système peut être utilisé comme valeur de l’utilisateur.
De même, pour changer le propriétaire du groupe du fichier :
$ chgrp [group_name] [filename]
Utiliser le chmod
en mode absolu sous Linux
Les autorisations de fichiers peuvent également être modifiées en code numérique. Les codes numériques équivalents pour le mode d’accès sont les suivants :
Nombres | Mode d’accès |
---|---|
0 | --- |
1 | -x |
2 | -w- |
3 | -wx |
4 | r- |
5 | r-x |
6 | rw- |
7 | rwx |
Par exemple, chmod 711 filename
donne au propriétaire tous les droits et à tous les autres utilisateurs uniquement le droit d’exécution.
Regardons les permissions du fichier testfile
.
$ ls -l testfile
Production :
-rw-rw-r-- 1 user user 0 Jan 14 01:00 testfile
Maintenant, en utilisant le code numérique avec chmod
.
$ chmod 711 testfile
$ ls -l testfile
Production :
-rwx--x--x 1 user user 0 Jan 14 01:00 testfile
Comme on le voit sur la sortie, l’autorisation du fichier est modifiée.