Présentation
Le chown
La commande modifie la propriété de l'utilisateur d'un fichier, d'un répertoire ou d'un lien sous Linux. Chaque fichier est associé à un utilisateur ou un groupe propriétaire. Il est essentiel de configurer correctement les autorisations de fichiers et de dossiers.
Dans ce tutoriel, apprenez à utiliser la commande Linux chown avec des exemples fournis.
Prérequis
- Système de type Linux ou UNIX
- Accès à un terminal/ligne de commande
- Un utilisateur avec des privilèges sudo pour changer la propriété. N'oubliez pas d'exécuter les commandes avec sudo pour les exécuter correctement.
Syntaxe de la commande Linux Chown
La syntaxe de base de la commande chown se compose de quelques segments. Le fichier d'aide affiche le format suivant :
chown [OPTIONS] USER[:GROUP] FILE(s)
- [OPTIONS] – la commande peut être utilisée avec ou sans options supplémentaires.
- [UTILISATEUR] – le nom d'utilisateur ou l'ID utilisateur numérique du nouveau propriétaire d'un fichier.
- [:] – utilisez les deux-points lors de la modification d'un groupe d'un fichier.
- [GROUPE] – la modification de la propriété du groupe d'un fichier est facultative.
- FICHIER – le fichier cible.
Les autorisations de superutilisateur sont nécessaires pour exécuter la commande chown.
Dans ce guide, nous avons testé les exemples de commandes avec le chown version 8.28 dans Ubuntu 18.04.2 LTS.
Pour vérifier la version de chown sur votre machine, saisissez :
chown --version
Le résultat ressemblera à ceci :
Comment vérifier la propriété d'un fichier sous Linux
Tout d'abord, vous devez connaître le propriétaire ou le groupe d'origine du fichier avant de modifier la propriété à l'aide de la commande chown.
Pour vérifier le groupe ou la propriété des fichiers et répertoires Linux à l'emplacement actuel, exécutez la commande suivante :
ls -l
Un exemple de sortie de ls
la commande ressemble à ceci :
Comment changer le propriétaire d'un fichier
Changer le propriétaire d'un fichier avec chown nécessite que vous spécifiiez le nouveau propriétaire et le fichier. Le format de la commande est :
chown NewUser FILE
La commande suivante change la propriété d'un fichier sample à partir de la racine au test utilisateur :
chown test sample
Utilisez le même format pour modifier la propriété des fichiers et répertoires .
Changer le propriétaire d'un fichier avec UID
Au lieu d'un nom d'utilisateur, vous pouvez spécifier un ID utilisateur pour changer la propriété d'un fichier.
Par exemple :
chown 1002 sample2
Assurez-vous qu'aucun utilisateur ne porte le même nom que l'UID numérique. Si c'est le cas, la commande chown donne la priorité au nom d'utilisateur, pas à l'UID .
Modifier la propriété de plusieurs fichiers Linux
Répertoriez les noms de fichiers cibles après le nouvel utilisateur pour modifier la propriété de plusieurs fichiers. Utilisez des espaces simples entre les noms de fichiers.
Dans l'exemple suivant, root sera le nouveau propriétaire des fichiers sample2 et exemple3 .
chown root sample2 sample3
Combinez les noms de fichiers et les noms de répertoires pour changer leur propriété avec une seule commande. Par exemple :
chown root sample3 Dir1
N'oubliez pas que les commandes sont sensibles à la casse.
Comment changer le groupe d'un fichier
Avec chown, vous pouvez modifier un groupe pour un fichier ou un répertoire sans changer l'utilisateur propriétaire. Le résultat est le même qu'avec la commande chgrp.
Exécutez le chown
commande en utilisant les deux-points et un nom de groupe :
chown :NewGroup FILE
L'exemple suivant change le groupe du fichier sample3 de grouptest à group3.
chown :group3 sample3
Répertoriez plusieurs noms de fichiers ou de répertoires pour effectuer des modifications groupées.
Modifier le groupe d'un fichier à l'aide de GID
Semblable à UID, utilisez un ID de groupe (GID) au lieu d'un nom de groupe pour modifier le groupe d'un fichier.
Par exemple :
chown :1003 sample
Changer de propriétaire et de groupe
Pour attribuer un nouveau propriétaire à un fichier et modifier son groupe en même temps, exécutez le chown
commande dans ce format :
chown NewUser:NewGroup FILE
Par conséquent, pour définir linuxuser en tant que nouveau propriétaire et groupe2 comme nouveau groupe du fichier sample2 :
chown linuxuser:group3 sample3
N'oubliez pas qu'il n'y a pas d'espace avant ou après les deux-points.
Changer de groupe en groupe de connexion d'utilisateurs
La commande chown attribue le groupe de connexion du propriétaire au fichier lorsqu'aucun groupe n'est spécifié.
Pour ce faire, définissez un nouvel utilisateur suivi de deux-points, d'un espace et du fichier cible :
chown NewUser: FILE
L'exemple suivant change la propriété du groupe en groupe de connexion de linuxuser :
chown linuxuser: sample3
Transférer la propriété et les paramètres de groupe d'un fichier à un autre
Plutôt que de changer la propriété d'un utilisateur spécifique, vous pouvez utiliser le propriétaire et un groupe d'un fichier de référence.
Ajoutez le --reference
option à la commande chown pour copier les paramètres d'un fichier à un autre :
chown --reference=ReferenceFILE FILE
N'oubliez pas de saisir correctement les noms des fichiers pour éviter le message d'erreur :
Vérifiez le propriétaire et le groupe avant d'apporter des modifications
Le chown
commande --from
L'option vous permet de vérifier le propriétaire et le groupe actuels, puis d'appliquer les modifications.
La syntaxe chown pour vérifier à la fois l'utilisateur et le groupe ressemble à ceci :
chown --from=CurrentUser:CurrentGroup NewUser:NewGroup FILE
L'exemple ci-dessous montre que nous avons d'abord vérifié la propriété et le groupe du fichier sample3 :
chown --from=root:group2 linuxuser:group3 sample3
Ensuite, chown a changé le propriétaire en linuxuser et le groupe à group3 .
Vérifier le propriétaire uniquement
L'option --from
peut être utilisé pour valider uniquement l'utilisateur actuel d'un fichier.
chown --from=CurrentUser NewUser FILE
Par exemple :
chown --from=root linuxuser sample3
Vérifier le groupe uniquement
Comme dans la section précédente, vous pouvez valider uniquement le groupe d'un fichier en utilisant l'option --from
.
chown --from=:CurrentGroup :NewGroup FILE
Voici un exemple où nous avons vérifié le groupe actuel avant de le modifier :
chown --from=:group3 :group4 FILE
N'oubliez pas d'utiliser les deux-points pour les deux noms de groupe afin d'éviter les messages d'erreur.
Comment modifier de manière récursive la propriété d'un fichier
La commande chown permet de changer la propriété de tous les fichiers et sous-répertoires dans un répertoire spécifié. Ajoutez le -R
option à la commande pour le faire :
chown -R NewUser:NewGroup DirNameOrPath
Dans l'exemple suivant, nous allons changer de manière récursive le propriétaire et le groupe pour tous les fichiers et répertoires dans Dir1 .
chown -R linuxuser:group3 Dir1
Commande Chown et liens symboliques
Pour changer le propriétaire d'un lien symbolique, utilisez le -h
option. Sinon, la propriété du fichier lié sera modifiée.
L'image suivante montre comment les liens symboliques se comportent lorsque -h
est omis.
Le propriétaire et le groupe du lien symbolique restent intacts. Au lieu de cela, le propriétaire et le groupe du fichier textfile modifié.
Pour pousser les modifications vers le lien, exécutez la commande chown avec le -h
drapeau :
chown -h NewUser:NewGroup SymbolicLink
Dans l'exemple suivant, nous avons modifié le propriétaire et le groupe d'un lien symbolique.
Afficher les détails du processus de commande Chown
Par défaut, le terminal n'affiche pas les informations du processus chown. Pour voir ce qui se passe sous le capot, utilisez l'un des deux indicateurs de ligne de commande :
- L'option –v produit les détails du processus même lorsque la propriété reste la même.
- L'option –c affiche les informations de sortie uniquement lorsqu'un propriétaire ou un groupe du fichier cible change.
Par exemple, si nous spécifions le propriétaire actuel comme nouveau propriétaire du fichier :
chown -v linuxuser sample2
Le terminal produit la sortie suivante :
Passer de -v
à -c
et il n'y aura pas de messages dans ce cas. Cela se produit car il n'y a aucun changement de propriétaire ou de groupe.
L'information est particulièrement utile avec la commande chown récursive :
Dans cet exemple, la sortie répertorie tous les objets affectés après l'exécution de la commande.
Supprimer les erreurs de commande Chown
Pour éviter de voir des messages d'erreur potentiels lors de l'exécution de la commande chown, utilisez le -f
choix :
chown -f NewUser FILE
L'exemple ci-dessous montre le message d'erreur pour un fichier ou un répertoire inexistant :
Ajout du -f
flag supprime la plupart des messages d'erreur. Cependant, si vous spécifiez un nom d'utilisateur invalide, le message d'erreur apparaît :