Si chown peut changer de groupe, pourquoi chgrp a-t-il été créé?

23

Il y a donc ce chownqui vous permet de changer le propriétaire et le groupe de fichiers et / ou de répertoires. Mais il y a aussi chgrpce qui ne fait que changer le groupe. Pourquoi a été chgrpcréé? N'est-ce pas redondant?

Dayuloli
la source
Vous pouvez vous référer au lien ici pour plus d'informations. serverfault.com/questions/462174/…
Ramesh

Réponses:

36

chowninitialement ne pouvait pas définir le groupe. Plus tard, certaines implémentations l'ont ajouté comme chown user.group, d'autres chown user:groupjusqu'à ce qu'il soit finalement normalisé (c'est moi qui souligne):

La méthode 4.3 BSD de spécification du propriétaire et du groupe a été incluse dans ce volume de POSIX.1-2008 car:

Dans certains cas, la condition de fin souhaitée n'a pas pu être atteinte à l'aide des utilitaires chgrp et chown (qui n'ont modifié que l'ID utilisateur). (Si le propriétaire actuel n'est pas membre du groupe souhaité et que le propriétaire souhaité n'est pas membre du groupe actuel, la fonction chown () peut échouer à moins que le propriétaire et le groupe ne soient modifiés en même temps.)

Même s'ils pouvaient être modifiés indépendamment, dans les cas où les deux sont modifiés, il y a une pénalité de performance de 100% causée par l'obligation d'appeler les deux utilitaires.

Même maintenant, chown :groupne changer que le groupe n'est ni portable ni standard.

chown user:(pour affecter le groupe principal de la userdans la base de données utilisateur) n'est pas standard non plus.

Stéphane Chazelas
la source
2
@dayuloli, merci pour la modification, mais je n'ai pas inclus cette section de la spécification parce que je ne la comprends pas
Stéphane Chazelas
Bonne question! A voté!
dayuloli
Ravi de voir que: groupe et utilisateur: ont été mentionnés comme non standard. Beaucoup de gens ici vérifient uniquement ce que fait leur fournisseur local et cela n'est pas utile dans un portail UNIX générique.
schily