所以有chown,它允许您更改文件和/或目录的所有者和组。但是也有chgrp,它只会改变这个组。为什么要创建chgrp?不是多余的吗?
发布于 2014-06-13 16:31:01
chown最初无法设置这个组。后来,一些实现将其添加为chown user.group,有些以chown user:group的形式添加,直到最终成为标准化 (强调我的):
指定所有者和组的4.3 BSD方法包含在POSIX.1-2008的这一卷中,因为:在某些情况下,无法使用chgrp和chown (只更改用户ID)实用程序实现所需的结束条件。(如果当前所有者不是所需组的成员,并且所需所有者不是当前组的成员,则chown()函数可能会失败,除非同时更改所有者和组。)即使它们可以独立地更改,在两者都被更改的情况下,强制调用这两个实用程序也会导致100%的性能损失。
即使是现在:
chown :group仅更改组是不可移植的或标准的。chown user:在用户数据库中分配user的主组也是不标准的。发布于 2020-05-02 22:12:21
当更改文件的用户所有者*时,需要根权限。
常规用户可以将文件的组所有者更改为他/她是成员的另一个组。
也许从这个特权的角度来看,保持他们之间的分离是有意义的,特别是在前苏多时代。就像chown一样,setuid可以使用一组“admin”,允许'admin‘组的成员更改文件的用户所有者。
*我使用“用户所有者”、“组所有者”和“其他人”来与ugo保持一致。混淆"o“表示”所有者“是一个常见的错误。
https://unix.stackexchange.com/questions/136987
复制相似问题