Quelle est la différence entre:
Sudo chown $USER:$USER
et
Sudo chown $USER
Pourquoi est-ce 2 fois? Est-ce que le seul utilisateur se trompe? Lorsque je regarde les autorisations avec namei -l
, je vois souvent des choses comme root root
ou proxy proxy
.
Pourquoi le propriétaire doit-il être défini et répertorié 2 fois?
La commande chown permet de changer le propriétaire et le propriétaire du groupe d’un fichier ou d’un répertoire. Les privilèges de superutilisateur sont requis pour utiliser cette commande. La syntaxe de chown ressemble à ceci:
chown [owner][:[group]] file...
chown peut changer le propriétaire du fichier et/ou le propriétaire du groupe de fichiers en fonction du premier argument de la commande. Voici quelques exemples:
chown owner file
exemple:
chown bob file --> Changes the ownership of the file from its current owner to user bob.
chown owner:group file
exemple:
chown bob:users file --> Changes the ownership of the file from its current owner to user bob and changes the file group owner to group users.
chown :group file
exemple:
chown :admins file --> Changes the group owner to the group admins. The file owner is unchanged.
chown owner: file
exemple:
chown bob: file --> Change the file owner from the current owner to user bob and changes the group owner to the login group of user bob.
Veuillez lire ce tutoriel intéressant https://www.linode.com/docs/tools-reference/linux-users-and-groups . Cette montre quelques informations sur l'utilisateur, les groupes, les autorisations, ...
Ce n'est pas user:user
, mais user:group
.
C'est un format de commande
chown [OPTION]... [OWNER][:[GROUP]] FILE...
Un groupe d'utilisateurs peut inclure de nombreux utilisateurs. Voici quelques informations concernant les groupes:
Linux utilise des groupes pour organiser les utilisateurs. Les groupes organisent des collectes de comptes, principalement par mesure de sécurité. Le contrôle de l'appartenance à un groupe est administré via le fichier/etc/group, qui affiche une liste des groupes et de ses membres. Chaque utilisateur a un groupe par défaut ou primaire. Lorsqu'un utilisateur se connecte, l'appartenance au groupe est définie pour son groupe principal. Cela signifie que lorsqu'un utilisateur lance un programme ou crée un fichier, le fichier et le programme en cours sont associés à l'appartenance actuelle au groupe de l'utilisateur. Un utilisateur peut accéder à d'autres fichiers appartenant à d'autres groupes, à condition qu'il soit également membre de ce groupe et que les autorisations d'accès soient définies. Pour exécuter des programmes ou créer un fichier dans un groupe différent, l'utilisateur doit exécuter la commande newgrp pour changer de groupe.
Un fichier appartient à un utilisateur et à un groupe. Par défaut, il appartient à l'utilisateur qui a créé le fichier et à son groupe par défaut, à moins qu'il ne soit modifié.
Dans votre cas, l'utilisateur root
est membre du groupe root
.
man chown
donne la description et l’utilisation, ainsi que d’autres informations utiles sur la commande chown
name__.
NAME
chown - change file owner and group
SYNOPSIS
chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...
Selon les informations fournies par la page de manuel, nous pouvons savoir que chown $USER:$USER
change le propriétaire et le groupe du fichier cible en $USER
, alors que chown $USER
ne change que le propriétaire du fichier cible en $USER
, en laissant le groupe du fichier cible inchangé.
Les détails (de la page de manuel) suivent:
Owner is unchanged if missing. Group is unchanged if missing, but changed to
login group if implied by a ':' following a symbolic OWNER. OWNER and GROUP may
be numeric as well as symbolic.
Donc, chown $USER:$USER
peut être abrégé en chown $USER:
.
Des sorties telles que root root
à partir de la commande namei -l
signifient que le propriétaire et le groupe de ce fichier sont tous deux définis sur root
name__. Ce n'est pas défini par le propriétaire ou répertorié deux fois. Propriétaire et groupe sont deux concepts liés mais différents. Et un fichier a toujours un propriétaire et un groupe.
En ce qui concerne l’utilisation de la commande chown
name__, il est très probable que le privilège de superutilisateur soit requis, puisqu’il est probable que le transfert du propriétaire d’un fichier s’effectue lors de l’utilisation de la commande chown
name__. Cependant, ce n'est pas toujours la vérité.
Disons que nous avons un utilisateur nommé 'test', qui appartient à plusieurs groupes. La commande id
donne le résultat suivant:
uid=1000(test) gid=1000(test) groups=1000(test),4(adm),24(cdrom),27(Sudo),30(dip),46(plugdev),108(lpadmin),110(sambashare)
Et l'utilisateur 'test' possède le fichier suivant:
-rw-r--r-- 1 test test 0 May 27 23:34 test_file
Ensuite, nous pouvons changer le groupe de test_file
en sambashare
sans privilège de superutilisateur, car l'utilisateur 'test' appartient au groupe 'test' et au groupe 'sambashare' en même temps, l'utilisateur disposant déjà du droit de changer le groupe. .