phl*_*leg 90 permissions not-root-user chown
为什么chown命令是 root-only?为什么非 root 用户不能使用 chown 来赠送他们拥有的文件?
Gil*_*il' 107
大多数unix系统禁止用户“赠送”文件,即用户只有chown拥有目标用户和组权限才能运行。由于使用chown需要拥有文件或成为 root(用户永远不能占用其他用户的文件),因此只有 root 才能运行chown将文件的所有者更改为另一个用户。
此限制的原因是,将文件赠送给其他用户可能会导致在不常见但仍然很重要的情况下发生坏事。例如:
chown该文件以让另一个用户 Bill 拥有该文件。即使只有 Alice 可以使用该文件,该文件也将计入 Bill 的磁盘配额。小智 17
在 Linux 上,您需要 CAP_CHOWN 功能来 chown。root 被授予这样的权限。 有关解释,请参阅:http : //vouters.dyndns.org/tima/Linux-OpenVMS-C-Implementing_chown.html。如果您打算提供 CAP_CHOWN 功能,请使用 libcap-ng 或 libcap 构建您的代码,如下所示:http : //vouters.dyndns.org/tima/Linux-PAM-C-Pluggable_Authentication_Modules_programming_example.html 您必须简单地替换 CAP_AUDIT_WRITE与 CAP_CHOWN。
您可以启动该命令,但如果您不是 root,则该命令将不起作用。这很简单:想象一个可以将软件更改为 root 用户的用户。它可以添加 setuid 位,瞧\xc3\xa0,那家伙是 root!\n因此,用户可以使用 chmod 添加该位,但没有机会更改文件的所有者。
\n