所以我有一个文件:
-rw-rw-rw- 1 joe web 35046982 Nov 4 16:54 app.log
我在网络团体:
[sam@proj log]$ id
uid=5067(sam) gid=5071(sam) groups=505(web),5071(sam)
但我无法更改权限:
[sam@proj log]$ chmod 777 app.log
chmod: changing permissions of `app.log': Operation not permitted
更多背景:
这是用于部署脚本的。许多用户可以用自己的用户身份运行它,并且他们都需要能够执行诸如向日志文件添加写入权限之类的操作。我认为将文件分配给一个组,然后将所有用户添加到该组就可以了。
我究竟做错了什么?
答案1
只有特权用户(root)才能更改文件的所有者。最多,如果您是文件的所有者,则可以使用 chgrp 更改其组。
来自 chown 手册页
只有 root 用户可以更改文件的所有者。只有当您是 root 用户或拥有该文件时,您才可以更改文件的组。如果您拥有该文件但不是 root 用户,则您只能将组更改为您是其成员的组。
答案2
我认为只有特权用户才能更改不属于他们的文件的权限。就你的情况而言,你不是 joe,也不是特权用户,所以你不能更改文件权限。
答案3
这是什么文件系统?这是网络共享吗?这是 NFS 吗?我猜是 NFS,所以请检查您的导出选项,确保您以该组 ID 的完全权限导出...