GNU/Linux >> Tutoriels Linux >  >> Linux

Introduction à la commande Linux chown

Chaque fichier et répertoire d'un système Linux appartient à quelqu'un, et le propriétaire a le contrôle total pour modifier ou supprimer les fichiers qu'il possède. En plus d'avoir un utilisateur propriétaire , un fichier a un groupe propriétaire .

Vous pouvez afficher la propriété d'un fichier à l'aide de ls -l commande :

[pablo@workstation Downloads]$ ls -l
total 2454732
-rw-r--r--. 1 pablo pablo 1934753792 25 juillet 18:49 Fedora-Workstation-Live-x86_64-30-1.2.iso

Les troisième et quatrième colonnes de la sortie sont l'utilisateur et le groupe propriétaires, qui ensemble sont appelés propriété . Les deux sont pablo pour le fichier ISO ci-dessus.

Les paramètres de propriété, définis par le chmod commande, contrôle qui est autorisé à effectuer des actions de lecture, d'écriture ou d'exécution. Vous pouvez changer de propriétaire (un ou les deux) avec le chown commande.

Il est souvent nécessaire de changer de propriétaire. Les fichiers et les répertoires peuvent vivre longtemps sur un système, mais les utilisateurs peuvent aller et venir. La propriété peut également devoir changer lorsque des fichiers et des répertoires sont déplacés dans le système ou d'un système à un autre.

La propriété des fichiers et répertoires de mon répertoire personnel est mon utilisateur et mon groupe principal, représentés sous la forme utilisateur :groupe . Supposons que Susan gère le groupe Delta, qui doit modifier un fichier appelé mynotes . Vous pouvez utiliser le chown commande pour changer l'utilisateur en susan et le groupe à delta :

$ chown susan:delta mynotes
ls -l
-rw-rw-r--. 1 susan delta 0 1er août 12:04 mynotes

Une fois que le groupe Delta a terminé avec le fichier, il peut me être réattribué :

$ chown alan mesnotes
$ ls -l mesnotes
-rw-rw-r--. 1 alan delta 0 1er août 12:04 mynotes

L'utilisateur et le groupe peuvent m'être attribués en ajoutant deux-points ( : ) à l'utilisateur :

$ chown alan :mesnotes
$ ls -l mesnotes
-rw-rw-r--. 1 alan alan 0 août  1 12:04 mynotes

En ajoutant deux-points au groupe, vous pouvez modifier uniquement le groupe. Maintenant membres du gamma groupe peut modifier le fichier :

$ chown :gamma mesnotes
$ ls -l
-rw-rw-r--. 1 alan gamma 0 1er août 12:04 mynotes

Quelques arguments supplémentaires à chown peuvent être utiles à la fois sur la ligne de commande et dans un script. Comme beaucoup d'autres commandes Linux, chown a un argument récursif (-R ) qui indique à la commande de descendre dans le répertoire pour opérer sur tous les fichiers qu'il contient. Sans le -R flag, vous modifiez uniquement les autorisations du dossier, en laissant les fichiers qu'il contient inchangés. Dans cet exemple, supposons que l'intention est de modifier les autorisations d'un répertoire et de tout son contenu. Ici, j'ai ajouté le -v argument (verbeux) pour que chown signale ce qu'il fait :

$ ls -l . conf
.:
drwxrwxr-x 2 alan alan 4096 5 août 15:33 conf

conf:
-rw-rw-r-- 1 alan alan 0 5 août 15:33 conf.xml

$ chown -vR susan:delta conf
modification de la propriété de 'conf/conf.xml' de alan:alan à  susan:delta
changement de propriétaire de 'conf' de alan:alan à  susan:delta

Selon votre rôle, vous devrez peut-être utiliser sudo pour changer le propriétaire d'un fichier.

Plus de ressources Linux

  • Aide-mémoire des commandes Linux
  • Aide-mémoire des commandes Linux avancées
  • Cours en ligne gratuit :Présentation technique de RHEL
  • Aide-mémoire sur le réseau Linux
  • Aide-mémoire SELinux
  • Aide-mémoire sur les commandes courantes de Linux
  • Que sont les conteneurs Linux ?
  • Nos derniers articles Linux

Vous pouvez utiliser un fichier de référence (--reference=RFILE ) lors de la modification de la propriété des fichiers pour correspondre à une certaine configuration ou lorsque vous ne connaissez pas la propriété (comme cela peut être le cas lors de l'exécution d'un script). Vous pouvez dupliquer l'utilisateur et le groupe d'un autre fichier (RFILE , appelé fichier de référence), par exemple, pour annuler les modifications apportées ci-dessus. Rappelez-vous qu'un point (. ) fait référence au répertoire de travail actuel.

$ chown -vR --reference=. conf 

Signaler les modifications

La plupart des commandes ont des arguments pour contrôler leur sortie. Le plus courant est -v (--verbeux ) pour activer le verbeux, mais chown a aussi un -c (--modifications ) pour indiquer à chown de ne signaler que lorsqu'une modification est apportée. Chown signale toujours d'autres choses, comme lorsqu'une opération n'est pas autorisée.

L'argument -f (--silencieux , --silencieux ) est utilisé pour supprimer la plupart des messages d'erreur. Je vais utiliser -f et le -c dans la section suivante afin que seules les modifications réelles soient affichées.

Conserver la racine

La racine (/ ) du système de fichiers Linux doit être traité avec beaucoup de respect. Si une erreur est commise à ce niveau, les conséquences pourraient rendre un système complètement inutile. En particulier lorsque vous exécutez une commande récursive qui effectue tout type de changement ou pire :des suppressions. La commande chown a un argument qui peut être utilisé pour protéger et préserver la racine. L'argument est --preserve-root . Si cet argument est utilisé avec une commande chown récursive à la racine, rien n'est fait et un message apparaît à la place.

$ chown -cfR --preserve-root alan /
chown :il est dangereux d'opérer de manière récursive sur '/'
chown :utilisez --no-preserve-root pour outrepasser cette sécurité intégrée

L'option n'a aucun effet lorsqu'elle n'est pas utilisée conjointement avec --recursive . Cependant, si la commande est exécutée par l'utilisateur root, les autorisations de / lui-même sera modifié, mais pas les autres fichiers ou répertoires qu'il contient.

$ chown -c --preserve-root alan /
chown :changement de propriétaire de '/' :opération non autorisée
[root@localhost /]# chown -c --preserve-root alan /
changement de propriétaire de '/' de root à alan

La propriété est la sécurité

La propriété des fichiers et des répertoires fait partie d'une bonne sécurité des informations, il est donc important de vérifier et de maintenir de temps en temps la propriété des fichiers pour empêcher tout accès indésirable. La commande chown est l'une des plus courantes et des plus importantes de l'ensemble des commandes de sécurité Linux.


Linux
  1. Introduction à la commande Linux chmod

  2. Introduction à la commande alternatives sous Linux

  3. Une introduction à la commande diff

  4. 5 exemples pratiques de la commande dd sous Linux

  5. La commande locate sous Linux

Comment chown récursivement sur Linux

20 exemples pratiques de commande Chown sous Linux

Exemples essentiels de la commande ps sous Linux

Qu'est-ce que la commande kill sous Linux ?

Comprendre la commande time sous Linux

Utilisation de la commande grep sous Linux