Android

Commande chown sous linux (propriété des fichiers)

Linux #12 - Les droits sur les fichiers : chmod chown chgrp

Linux #12 - Les droits sur les fichiers : chmod chown chgrp

Table des matières:

Anonim

La commande chown vous permet de modifier la propriété de l'utilisateur et / ou du groupe d'un fichier, d'un répertoire ou d'un lien symbolique donné.

Sous Linux, tous les fichiers sont associés à un propriétaire et à un groupe et attribués avec des droits d'accès pour le propriétaire du fichier, les membres du groupe et autres.

Dans ce tutoriel, nous allons vous montrer comment utiliser la commande chown travers des exemples pratiques.

Comment utiliser chown

Avant d'entrer dans la façon d'utiliser la commande chown , commençons par revoir la syntaxe de base.

Les expressions de commande chown prennent la forme suivante:

chown USER FILE(s)

USER est le nom d'utilisateur ou l'ID utilisateur (UID) du nouveau propriétaire. GROUP est le nom du nouveau groupe ou l'ID de groupe (GID). FILE(s) est le nom d'un ou plusieurs fichiers, répertoires ou liens. Les identifiants numériques doivent être préfixés par le symbole + .

  • USER - Si seul l'utilisateur est spécifié, l'utilisateur spécifié deviendra le propriétaire des fichiers donnés, la propriété du groupe n'est pas modifiée. USER: - Lorsque le nom d'utilisateur est suivi de deux points : et que le nom du groupe n'est pas donné, l'utilisateur devient le propriétaire des fichiers et la propriété du groupe de fichiers est remplacée par le groupe de connexion de l'utilisateur. USER:GROUP - Si l'utilisateur et le groupe sont spécifiés (sans espace entre eux), la propriété de l'utilisateur des fichiers est modifiée pour l'utilisateur donné et la propriété du groupe est modifiée pour le groupe donné. :GROUP - Si l'utilisateur est omis et que le groupe est préfixé par deux points:, seule la propriété du groupe des fichiers est remplacée par le groupe donné. : Si seulement deux points : est donné, sans spécifier l'utilisateur et le groupe, aucune modification n'est effectuée.

Par défaut, en cas de succès, chown ne produit aucune sortie et renvoie zéro.

Utilisez la commande ls -l pour savoir à qui appartient un fichier ou à quel groupe le fichier appartient:

ls -l filename.txt

-rw-r--r-- 12 linuxize users 12.0K Apr 8 20:51 filename.txt |- | | | +-----------> Group +-------------------> Owner

Seul root ou utilisateur avec des privilèges sudo peut changer la propriété du groupe d'un fichier.

Comment changer le propriétaire d'un fichier

Pour changer le propriétaire d'un fichier, utilisez la commande chown suivie du nom d'utilisateur du nouveau propriétaire et du fichier cible comme argument:

chown USER FILE

Par exemple, la commande suivante changera la propriété d'un fichier nommé file1 en un nouveau propriétaire nommé linuxize :

chown linuxize file1

Pour modifier la propriété de plusieurs fichiers ou répertoires, spécifiez-les en tant que liste séparée par des espaces. La commande ci-dessous change la propriété d'un fichier nommé file1 et du répertoire dir1 en un nouveau propriétaire nommé linuxize :

chown linuxize file1 dir1

L'ID utilisateur numérique (UID) peut être utilisé à la place du nom d'utilisateur. L'exemple suivant changera la propriété d'un fichier nommé file2 en un nouveau propriétaire avec un UID de 1000 :

chown 1000 file2

Si un propriétaire numérique existe en tant que nom d'utilisateur, la propriété sera transférée au nom d'utilisateur. Pour éviter ce préfixe l'ID avec + :

chown 1000 file2

Comment changer le propriétaire et le groupe d'un fichier

Pour changer à la fois le propriétaire et le groupe d'un fichier, utilisez la commande chown suivie du nouveau propriétaire et du groupe séparés par deux points (:) sans espaces intermédiaires et le fichier cible.

chown USER:GROUP FILE

La commande suivante changera la propriété d'un fichier nommé file1 en un nouveau propriétaire nommé linuxize et grouper les users :

chown linuxize:users file1

Si vous omettez le nom du groupe après les deux-points (:), le groupe du fichier est remplacé par le groupe de connexion de l'utilisateur spécifié:

chown linuxize: file1

Comment changer le groupe d'un fichier

Pour modifier uniquement le groupe d'un fichier, utilisez la commande chown suivie de deux points (:) et du nouveau nom de groupe (sans espace entre eux) et du fichier cible comme argument:

chown:GROUP FILE

La commande suivante changera le groupe propriétaire d'un fichier nommé file1 en www-data :

chown:www-data file1

Une autre commande que vous pouvez utiliser pour modifier la propriété de groupe des fichiers est chgrp .

Comment changer la propriété des liens symboliques

Lorsque l'option récursive n'est pas utilisée, la commande chown modifie la propriété du groupe des fichiers vers lesquels pointent les liens symboliques, et non les liens symboliques eux-mêmes.

Par exemple, si vous essayez de changer le propriétaire et le groupe du lien symbolique symlink1 qui pointe vers /var/www/file1 , chown changera la propriété du fichier ou du répertoire vers lequel le lien symbolique pointe:

chown www-data: symlink1

Il est probable qu'au lieu de modifier la propriété cible, vous obtiendrez une erreur «impossible de déréférencer« symlink1 »: autorisation refusée».

L'erreur se produit car par défaut sur la plupart des distributions Linux, les liens symboliques sont protégés et vous ne pouvez pas opérer sur les fichiers cibles. Cette option est spécifiée dans /proc/sys/fs/protected_symlinks . 1 signifie activé et 0 désactivé. Nous vous recommandons de ne pas désactiver la protection des liens symboliques.

Pour modifier la propriété du groupe du lien symbolique lui-même, utilisez l'option -h :

chown -h www-data symlink1

Comment changer récursivement la propriété du fichier

Pour opérer récursivement sur tous les fichiers et répertoires sous le répertoire donné, utilisez l'option -R ( --recursive ):

chown -R USER:GROUP DIRECTORY

L'exemple suivant changera la propriété de tous les fichiers et sous-répertoires du répertoire /var/www en un nouveau propriétaire et groupe nommé www-data :

chown -R www-data: /var/www

Si le répertoire contient des liens symboliques, passez l'option -h :

chown -hR www-data: /var/www

Les autres options pouvant être utilisées lors du changement récursif de la propriété du répertoire sont -H et -L .

Si l'argument passé à la commande chown est un lien symbolique qui pointe vers un répertoire, l'option -H fera traverser la commande. -L indique à chown de parcourir chaque lien symbolique vers un répertoire rencontré. En règle générale, vous ne devez pas utiliser ces options car vous pourriez gâcher votre système ou créer un risque pour la sécurité.

Utilisation d'un fichier de référence

L'option --reference=ref_file vous permet de modifier la propriété de l'utilisateur et du groupe des fichiers donnés pour qu'ils soient identiques à ceux du fichier de référence spécifié ( ref_file ). Si le fichier de référence est un lien symbolique, chown utilisera l'utilisateur et le groupe du fichier cible.

chown --reference=REF_FILE FILE

Par exemple, la commande suivante affectera la propriété utilisateur et groupe du file1 au file2

chown --reference=file1 file2

Conclusion

chown est un utilitaire de ligne de commande Linux / UNIX pour changer la propriété de l'utilisateur et / ou du groupe du fichier.

Pour en savoir plus sur la commande chown visitez la page man chown ou tapez man chown dans votre terminal.

terminal chown