每当我在我的主目录(或其子目录)中创建新目录时,即使 umask 设置正确,它们也没有写权限。我制作的文件有写权限。
[mmanary@seqap33 ~]$ umask
0002
[mmanary@seqap33 ~]$ mkdir testDir
[mmanary@seqap33 ~]$ touch testFile
[mmanary@seqap33 ~]$ ls -l
dr-xr-x--- 2 mmanary mmanary 0 Apr 15 10:25 testDir
-rw-rw-r-- 1 mmanary mmanary 0 Apr 15 10:26 testFile
如果我切换到共享组存储目录,则新目录确实具有写入权限。我可以使用 chmod 轻松切换它们,但是使用 tar 时,无法写入新目录,因此 tar 失败并显示“权限被拒绝”。任何帮助表示赞赏。
编辑:我已经阅读了其他建议的问题,但似乎并不直接适用,因为它们涉及更复杂的情况(涉及其他用户)。如果这有帮助:
[mmanary@seqap33 ~]$ getfacl .
# file: .
# owner: mmanary
# group: mmanary
user::rwx
group::r-x
other::---
Edit2:根据评论的建议,我的文件系统是 NFS
答案1
与基础设施人员交谈后,得到的答案是,存在扩展的 ACL,它们根据位置的不同而有不同的行为,而且它们的设置是错误的。
答案2
我唯一一次看到这种情况是从运行 NFS for Windows 服务的 Windows 服务器导出 NFS 共享时。 Unix/Linux 世界所需的 POSIX 属性并未清晰地映射到 NTFS 属性,结果是权限显示一件事而(有时)充当另一件事。
针对我们的特殊情况,我们花了几周时间尝试解决该问题,最终删除了 Windows 系统并在硬件上安装了基于 Linux 的系统。
答案3
如果在文件夹上设置了粘性位 chmod +s,则 umask 将被文件夹所有者的属性覆盖。这就是为什么您可能会看到文件夹之间结果不一致的原因。