Linux 上 POSIX ACL、NFS v3 的奇怪权限问题

Linux 上 POSIX ACL、NFS v3 的奇怪权限问题

我有两个 Linux 系统,都运行 Debian Squeeze。我认为涉及的内容的版本如下:

  kernel: 2.6.32-5-xen-amd64
  ii  nfs-kernel-server                   1:1.2.2-4squeeze2            support for NFS kernel server
  ii  libnfsidmap2                        0.23-2                       An nfs idmapping library
  ii  nfs-common                          1:1.2.2-4squeeze2            NFS support files common to client and server
  ii  portmap                             6.0.0-2                      RPC port mapper

(客户没有nfs-kernel-server参与。)

我有一个带有 ACL 的目录:

# file: dirname
# owner: jon
# group: foogroup
# flags: -s-
user::rwx
user:www-data:rwx
group::r-x
group:foogroup:rwx
mask::rwx
other::r-x
default:...

有两个用户,均不拥有该目录:

uid=3001(jake) gid=3001(jake) groups=3001(jake),104(wheel),3999(foogroup)
uid=3005(nic) gid=3005(nic) groups=3005(nic),3999(foogroup)

用户jake可以毫无问题地在目录中创建文件。用户nic不能。客户端和服务器上的所有 UID/GID 都相同。我已经验证(数据包嗅探)通过 发送的正确 uid/gid 是AUTH_UNIX正确的uid=gid=3005, auxiliary gids=3005,3999-- -- 并且服务器回复了NFS3ERR_ACCESS,客户端上的内核将其映射到EACCES (Permission denied)

有人能帮我一下吗?

答案1

我不能说这是否会导致您遇到的问题,但我注意到一些奇怪的事情:

您的目录由 组所有foogroupfoogroup因此其权限为group::r-x。但是您设置了额外的 ACL 条目group:foogroup:rwx。为什么不直接设置group:rwx呢?

group:foogroup甚至不需要像setgid目录那样设置默认 ACL 。因此,下面的每个新目录都会自动继承setgid目录的所属组和。

相关内容