GNU/Linux >> Tutoriels Linux >  >> Linux

Comment gérer les autorisations/propriétés des fichiers et des répertoires sous Linux

Propriété du fichier

Chaque fichier appartient à un utilisateur spécifique (ou UID) et à un groupe spécifique (ou GID). La commande chown peut être utilisée pour changer uniquement l'utilisateur ou l'utilisateur et le groupe d'un fichier. Voici un exemple de modification du propriétaire du fichier "file1" en "user" et de son "user" en users. Notez que l'utilisation de la commande ls -l est juste pour montrer le changement, et n'est pas une étape nécessaire pour changer la propriété du fichier :

# ls -l
total 8
-rw-r--r--. 1 root root  30 Feb 16 04:47 file1
-rw-r--r--. 1 root root 130 Feb 16 04:47 file2
# chown user:user file1
# ls -l
total 8
-rw-r--r--. 1 user user  30 Feb 16 04:47 file1
-rw-r--r--. 1 root root 130 Feb 16 04:47 file2

Le format de base de la commande chown est le suivant :

# chown user.group filename

Un deux-points (:) peut être utilisé à la place du caractère séparateur point (.).

# chown user:group filename

En outre, le nom de l'utilisateur ou du groupe peut être omis. Si le nom d'utilisateur est omis (mais que le caractère de séparation est présent), alors la commande chown se comporte comme le chgrp commande, et seule la propriété du groupe est modifiée. Si le nom du groupe est omis (mais que le caractère séparateur est présent, le groupe sera défini sur le groupe de connexion de l'utilisateur spécifié. Si le nom du groupe et le caractère séparateur sont omis, seul le nom d'utilisateur est modifié.

Par exemple, pour modifier uniquement le propriétaire, vous pouvez exécuter ce qui suit :

# chown user filename

Une autre commande pour modifier uniquement le groupe d'un fichier est la commande chgrp. Par exemple :

# chgrp group filename

La commande chgrp est couramment utilisée par les utilisateurs normaux pour modifier la propriété du groupe de leurs fichiers. La commande chown est normalement utilisée uniquement par l'utilisateur root.

Propriété du groupe par défaut

Chaque utilisateur peut être membre de plusieurs groupes (répertoriés dans le fichier /etc/group sous plusieurs groupes). Un seul groupe sera le groupe principal d'un utilisateur (répertorié dans l'entrée de l'utilisateur dans /etc/password). Lorsqu'un utilisateur crée un fichier, par défaut, le fichier appartient au groupe principal de l'utilisateur. S'ils souhaitent que le fichier appartienne à l'un de leurs autres groupes, ils doivent utiliser la commande chgrp pour modifier l'appartenance au groupe.

Un moyen plus pratique d'y parvenir consiste à se connecter temporairement à un autre groupe, faisant de ce groupe votre groupe principal de remplacement. De cette façon, tous les nouveaux fichiers que vous créez appartiendront automatiquement au groupe souhaité et vous n'aurez pas besoin de modifier manuellement l'appartenance au groupe. Examinez l'exemple ci-dessous et notez l'utilisation de newgrp commande.

$ id
uid=1001(user) gid=1001(user) groups=1001(user),10(wheel)
$ touch file1
$ ls -l file1
-rw-rw-r--. 1 user user 0 Feb 16 14:17 file1
$ newgrp wheel
$ touch file2
$ ls -l file2
-rw-r--r--. 1 user wheel 0 Feb 16 14:22 file2

Autorisations de fichiers et de répertoires

Vous trouverez ci-dessous un exemple de sortie de ls -l ; vous pouvez voir dès le premier caractère de chaque ligne que foo et bar sont des répertoires (indiqués par le d) et que meta est un fichier normal (indiqué par le -).

$ ls -l
drwxr-xr-x 2 user user    6 Jan  7  2015 Desktop
-rw-rw-r-- 1 user user    0 Feb 16 14:17 file1
-rw-r--r-- 1 user wheel   0 Feb 16 14:22 file2

Les neuf caractères suivants indiquent les autorisations du fichier pour l'utilisateur, le groupe et les autres (ou tout le monde) comme indiqué ci-dessous, avec des parenthèses ajoutées pour plus de clarté :

-(rw-) (r--) (r--) 1 user wheel   0 Feb 16 14:22 file2

Maintenant, le propriétaire a des autorisations de lecture et d'écriture (rw-), le groupe et tous les autres n'ont que des autorisations de lecture (r–). C'est ce qu'on appelle la représentation symbolique car des lettres telles que r, w et x sont utilisées pour indiquer les autorisations. Les permissions peuvent aussi être représentées numériquement :r =4; w =2 ; x =1

Ajoutez chaque section afin que les autorisations de la méta du fichier (de l'exemple ci-dessus) soient 664. Voici une autre façon de voir comment nous arrivons à ce nombre :

-(rw-)  (rw-)  (r--)
-(42-)  (42-)  (4--)
 6       6       4

L'ajout des nombres dans chaque section donne des autorisations de 664.

Modification des autorisations de fichiers

Le chmod La commande est utilisée pour modifier les permissions d'un fichier. Il peut être utilisé pour ajouter ou supprimer symboliquement des autorisations. Par exemple, pour ajouter des autorisations d'exécution pour le propriétaire d'un fichier que vous exécuteriez :

$ chmod u+x file_name

Ou, pour ajouter des autorisations de lecture et d'écriture pour le groupe propriétaire du fichier, vous exécuteriez :

$ chmod g+rw file_name

Au lieu d'ajouter des autorisations, la syntaxe symbolique de chmod peut également être utilisée pour soustraire ou définir une valeur absolue, comme indiqué dans ces exemples :

$ chmod o-w file_name
$ chmod u=rwx,g=rx,o= file_name

La commande chmod peut également définir explicitement des autorisations à l'aide d'une représentation numérique. Par exemple, pour définir les autorisations sur un fichier sur rwxrwxr–, vous exécuteriez :

$ chmod 774 file_name


Linux
  1. Comment rendre le fichier et le répertoire ineffaçables, même par racine sous Linux

  2. Comment gérer l'expiration et le vieillissement du mot de passe utilisateur sous Linux

  3. Comment copier les autorisations et la propriété des fichiers dans un autre fichier sous Linux

  4. Linux chmod et chown - Comment modifier les autorisations et la propriété des fichiers sous Linux

  5. Questions d'entretien Linux - Autorisations de base sur les fichiers et les répertoires

Comment copier des fichiers et des répertoires sous Linux

Autorisations de base du répertoire Linux et comment les vérifier

Gérer les autorisations de répertoire et de fichier avec chmod Recursive

Comment ajouter un utilisateur à un groupe sous Linux

Comprendre les autorisations de fichiers de base et la propriété sous Linux

Comment ajouter un utilisateur à un groupe Linux