Lag*_*aer 17 permissions nfs group files
我在 unix/linux 机器上遇到一个奇怪的问题:
我是一个组的成员,我们称之为组 A 并且某个文件(具有不同的所有者)也属于组 A。该文件的权限是
-rw-rw----
Run Code Online (Sandbox Code Playgroud)
所以我希望我应该能够打开那个文件,但我不能:当我尝试查看文件的内容(使用 cat)时,我会收到“权限被拒绝”错误消息。
由于权限似乎是正确的,还有什么可能导致这种情况?是否存在“覆盖”权限限制?如果是这样,我将如何发现?
自从您被添加到 A 组后,您是否已注销并重新登录?
如果没有,您当前的登录过程将只具有登录时的组成员身份,此后没有任何更改。并且该登录的任何子进程都将具有相同的组成员资格(即,如果您登录到 X,那么每个应用程序,包括您的终端模拟器和 shell)
您可以通过在另一个控制台或通过 ssh 或类似方式再次登录来测试这一点exec sudo -u $(id -u -n) -i
(有效地杀死当前的 shell 并将其替换为新的 shell - 属于该 shell 的任何后台进程都将被孤立)
正如您在评论中指出的,您没有阅读权限/home/username
。但是要 read /home/username/path1/path2/file
,您需要整个路径的执行权限。
要对此进行调试,请namei -l /home/username/path1/path2/file
以读取文件的用户身份运行。
可能是 ACL。看
getfacl the-file
Run Code Online (Sandbox Code Playgroud)
可能由于某种原因,您应该加入的组没有正确设置。检查与
id -a
Run Code Online (Sandbox Code Playgroud)
关于什么
namei -xl "$(readlink -f the-file)"
getfattr -dm- the-file
sudo lsattr the-file
Run Code Online (Sandbox Code Playgroud)
它所在的文件系统是什么类型?
系统中是否有 apparmor、SELinux 或任何其他强制访问控制?
您确定该文件不包含文本“权限被拒绝”,对吗;-)?