我正在尝试chown
在具有以下权限和所有者的目录上执行:
drwxrwxr-x 2 justin devs 4096 Jan 1 20:42 test
我试图以justin
用户身份简单地执行以下操作:
chown justin:nginx test
所以基本上只是将组所有者更改为nginx
,但我得到:
chown: changing ownership of `test/': Operation not permitted
有任何想法吗?
我正在尝试chown
在具有以下权限和所有者的目录上执行:
drwxrwxr-x 2 justin devs 4096 Jan 1 20:42 test
我试图以justin
用户身份简单地执行以下操作:
chown justin:nginx test
所以基本上只是将组所有者更改为nginx
,但我得到:
chown: changing ownership of `test/': Operation not permitted
有任何想法吗?
首先,使用
chgrp
命令代替,chown
这将起作用。在使用 的情况下
chown
,出于大多数 Linux 上下文中的安全原因,即使您被标记为文件、目录等的所有者,任何所有权更改都仅限于root用户。在一种情况下,这是为了防止用户通过将文件权限位设置为 777 并将文件的所有权更改为其他某个未知用户并耗尽他们的配额来规避配额。因此,
chown
在用户上下文中使用该命令,尤其是在所有权未更改的情况下,不应仅用于更改文件的组。注意:您必须是您尝试将文件更改到的组的成员。这可以通过 验证
id -a
。如果您不在该组中,即使您是该文件的所有者,您也会收到此消息。您必须是组的一部分才能将当前组所有权更改为 。您可以以 root 身份编辑
/etc/groups
文件以确保用户 justin 是 nginx 组的一部分。对组进行更改后,您需要重新登录系统以使其生效,或者在不重新启动/注销的情况下更改为组,您可以使用 cmdnewgrp nginx
。现在您应该能够以
chgrp nginx test
用户 justin 的身份使用 cmd 更改文件或文件夹的组。