Avant de commencer, voyons le ls -l Sortie de commande, qui nous apportera des informations sur les autorisations de fichiers et de répertoires.
ls -lComme vous pouvez le voir dans le répertoire personnel de l'utilisateur nommé Linux, il y a un fichier nommé linuxhintfile et un répertoire nommé linuxhintdir. Comme vous pouvez le voir dans les deuxième et troisième colonnes, le propriétaire et le groupe pour le fichier et le répertoire sont linux.
Disons que nous voulons modifier la possession de l'utilisateur de l'utilisateur linux, et faire nommer l'utilisateur linuxhint propriétaire du linuxhintfile dossier tout en quittant le groupe comme linux.
La syntaxe correcte est présentée ci-dessous pour modifier la possession des utilisateurs d'un fichier sans affecter son groupe.
chownComme vous pouvez le voir dans l'image ci-dessus, après avoir exécuté LS -l à nouveau, nous pouvons voir la possession de l'utilisateur changé linux pour linuxhint Alors que le groupe reste le même.
Ce deuxième exemple montre comment utiliser le chown commande pour modifier la propriété de l'utilisateur et du groupe du même fichier (linuxhintfile). La syntaxe est similaire à l'exemple précédent, avec la différence qu'un côlon suivi du nom de groupe doit être ajouté après le nom d'utilisateur, comme indiqué ci-dessous.
chownComme vous pouvez le voir maintenant, la possession de l'utilisateur et du groupe a été changée en root.
Il est important de noter que vous n'avez pas vraiment à spécifier le groupe si vous souhaitez modifier la propriété de l'utilisateur et du groupe au même utilisateur. Dans un tel cas, il vous suffit de taper l'utilisateur suivi d'un côlon sans groupe, et le groupe passera automatiquement à la même chose que le nouveau propriétaire. Cela signifie que si vous tapez suivi d'un côlon et aucun groupe après cela, le groupe du fichier passera au groupe de l'utilisateur.
Dans l'exemple ci-dessous, l'utilisateur et le groupe doivent passer de racine: racine pour Linuxhint: Linuxhint Même si nous n'avons pas tapé le groupe, simplement parce que nous avons ajouté le côlon après le nom d'utilisateur.
Chown Linuxhint: LinuxhintfileComme vous pouvez le voir, la propriété de l'utilisateur et du groupe a été modifiée en linuxhint.
Le changement de propriété d'annuaire nécessite la même syntaxe et nécessite de mettre en œuvre un drapeau si vous souhaitez modifier la propriété récursivement, y compris les sous-répertoires et les fichiers contenus dans le répertoire.
Voyons les répertoires, les sous-répertoires et leur propriété actuelle.
ls -rlComme vous pouvez le voir, nous avons un répertoire nommé linuxhintdir, dont le propriétaire est le linux l'utilisateur, et le groupe est le linux groupe. À l'intérieur, il y a un sous-répertoire nommé linuxhintsubdir dont le propriétaire et le groupe sont le racine.
Avant d'aller avec les autorisations récursives, voyons ce qui se passe si nous changeons le linuxhintdir Propriété sans drapeaux. Dans l'exemple ci-dessous, je modifierai la possession de l'utilisateur et du groupe de linuxhintdir depuis linux pour linuxhint.
Chown Linuxhint: Linuxhintdir /Comme vous pouvez le voir, le linuxhintdir La propriété a été modifiée avec succès pour linuxhint. Mais l'utilisateur et groupe de sous-répertoire LinuxHintSubDir restent racine.
Ainsi, comment changer la propriété récursive, y compris les sous-répertoires et les sous-fichiers?
Pour cela, il vous suffit d'ajouter le -R Drapeau (récursif).
L'exemple suivant montre comment changer la propriété récursive pour le linuxhintdir répertoire et ses fichiers et sous-répertoires. Comme indiqué précédemment, le répertoire principal et le groupe appartiennent à linuxhint, et l'utilisateur et le groupe sous-répertoire appartiennent à racine.
La commande ci-dessous modifie la possession de l'utilisateur à l'utilisateur nommé Linux et le linuxlat groupe.
chown -r Linux: Linuxlat Linuxhintdir /Comme vous pouvez le voir maintenant, la propriété du répertoire a été modifiée et son contenu; C'est ce que le -R Flag.
Le scénario suivant explique comment modifier récursivement la propriété de tous les fichiers et répertoires appartenant à un utilisateur spécifique.
Dans ce nouveau scénario, comme vous pouvez le voir sur l'image suivante, nous avons le répertoire principal linuxhintdir, qui appartient à l'utilisateur nommé linux, et le groupe linuxlat. Les sous-répertoires et les fichiers à l'intérieur appartiennent aux utilisateurs nommés linux, racine, et linuxlat, groupes nommés linuxlat, linux, et linuxhint.
ls -rlDisons maintenant que nous voulons modifier la propriété de l'utilisateur et du groupe uniquement des fichiers / répertoires appartenant à un utilisateur spécifique. Dans ce cas, nous donnerons le répertoire principal et tous les fichiers et sous-répertoires appartenant à l'utilisateur nommé linux à l'utilisateur nommé linuxhint.
Pour cela, nous devons implémenter le -R Flag expliqué précédemment parce que nous voulons modifier les autorisations récursives. De plus, nous devons implémenter -de = Option suivie du nom d'utilisateur actuel du propriétaire (et / ou du groupe si nécessaire), le nouvel utilisateur qui possèdera les fichiers et répertoires., Comme indiqué dans l'image ci-dessous.
chown -r --from = Linux Linuxhint: Linuxhintdir /Comme vous pouvez le voir, tous les fichiers appartenant à l'utilisateur nommé linux appartiennent maintenant à l'utilisateur nommé linuxhint. De cette façon, nous modifions la propriété de nombreux fichiers appartenant à un utilisateur spécifique avec une seule commande.
Conclusion
Gérer correctement la propriété des fichiers et des répertoires est un must pour tout utilisateur Linux travaillant avec des ressources partagées. Comme vous pouvez le voir, les commandes sont assez simples à apprendre et à appliquer.
Vous pouvez obtenir plus d'informations sur chown à https: // linux.mourir.net / homme / 1 / chown. En outre, vous pourriez être intéressé à lire SetUid, Setgid et Sticky Bit expliqués.
J'espère que ce tutoriel expliquant comment utiliser la commande chown dans Linux a été utile. Continuez à suivre ce blog pour des conseils et tutoriels Linux supplémentaires.