Linux:无法更改与文件在同一组中的文件权限

6 linux permissions

所以我有一个文件:

-rw-rw-rw- 1 joe web 35046982 Nov  4 16:54 app.log
Run Code Online (Sandbox Code Playgroud)

我在网络组:

[sam@proj log]$ id
uid=5067(sam) gid=5071(sam) groups=505(web),5071(sam)
Run Code Online (Sandbox Code Playgroud)

但我无法更改权限:

[sam@proj log]$ chmod 777 app.log 
chmod: changing permissions of `app.log': Operation not permitted
Run Code Online (Sandbox Code Playgroud)

更多背景:

这是一个部署脚本。许多用户可以用他们自己的用户运行它,他们都需要能够做一些事情,比如向日志文件添加写权限。我认为将文件分配给一个组然后将所有用户添加到该组会起作用。

我究竟做错了什么?

小智 7

只有特权用户 (root) 可以 chown 文件。最多,如果您是文件的所有者,您可以使用 chgrp 更改其组。

从 chown 手册页

只有 root 用户可以更改文件的所有者。仅当您是 root 用户或您拥有该文件时,才能更改文件的组。如果您拥有该文件但不是 root 用户,则只能将组更改为您所属的组。


dan*_*dam 5

我认为只有特权用户才能更改不属于他们的文件的权限。在您的情况下,您不是 joe,也不是特权用户,因此您无法更改文件权限。


小智 1

这是在什么文件系统上?这是网络共享吗?这是在 NFS 上吗?我猜它在 NFS 上,所以检查您的导出选项并确保您以对该组 ID 的完全权限进行导出...