不允许使用 chown 更改目录的组所有者....为什么?

Jus*_*tin 11 linux permissions chmod chown

我正在尝试chown在具有以下权限和所有者的目录上执行:

drwxrwxr-x 2 justin devs  4096 Jan  1 20:42 test
Run Code Online (Sandbox Code Playgroud)

我试图以justin用户身份简单地执行以下操作:

chown justin:nginx test
Run Code Online (Sandbox Code Playgroud)

所以基本上只是将组所有者更改为nginx,但我得到:

chown: changing ownership of `test/': Operation not permitted
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

mdp*_*dpc 17

首先,使用chgrp命令而不是 chown ,这样就可以了。

在使用 chown 的情况下..... 在大多数 Linux 上下文中,出于安全原因,任何所有权更改都仅限于 root 用户,即使您被标记为文件、目录等的所有者。在一种情况下,这是为了防止用户通过将文件权限位设置为 777 并将文件的所有权更改为某个其他未知用户并吃掉他们的配额来逃避配额。

因此,chown在用户上下文中使用该命令,尤其是在所有权未更改的情况下,不应仅用于更改文件组。

注意:您必须是您尝试将文件更改为的组的成员。这可以通过 验证id -a。如果您不在该组中,即使您是该文件的所有者,您也会收到此消息。