-bash-3.2$ man chgrp | head -1
CHGRP(1) User Commands CHGRP(1)
-bash-3.2$ man chown | head -1
CHOWN(1) User Commands CHOWN(1)
以下内容来自'man 7 man':
1 Commands
Those commands that can be executed by the user from within a shell.
8 System management commands
Commands like mount(8), many of which only root can execute.
为什么普通用户不能使用CHGRP(1)/ CHOWN(1)?根据我的理解,普通用户不能使用CHGRP(8)/ CHOWN(8)。
答案 0 :(得分:2)
让非root用户使用chown
或chgrp
会遇到很多问题。
chown otheruser ownfile
,那么之后,他将无法访问自己的文件 - 不是很好。答案 1 :(得分:0)
如果任何用户可以在不属于他的文件上成功调用chown(2)系统调用(例如,通过chrgrp
和chown
命令),则Linux内核提供基于用户的访问保护没用。恶意用户将更改其访问权限仅限于他的每个文件的所有权
当然,用户可以执行chown
命令(例如,通过键入/usr/bin/chown
file
),但如果从普通用户调用,这些命令将失败(并且具有非零退出代码),因为基础chown(2)
系统调用将失败。
注意:如有文件记载,普通用户可以chgrp
到他所属的某个群组。
答案 2 :(得分:0)
所有用户都可以使用chgrp
将他们拥有的文件组更改为他们所属的其他组。试试这个,将组名lpadmin
替换为以下任何第二组:
touch t; ls -l t; chgrp lpadmin t; ls -l t
之前的和之后的 <{em>}之后的将显示该组已更改。