我有两个运行Debian Squeeze的Linux系统。 (我认为)涉及的东西的版本是:
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::rx group:foogroup:rwx mask::rwx other::rx 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
用户可以在目录中创build文件而没有问题。 nic
用户不能。 客户端和服务器上的所有UID / GID都相同。 我已经validation(数据包嗅探),通过AUTH_UNIX
发送的正确的uids / uid=gid=3005, auxiliary gids=3005,3999
是正确的 – uid=gid=3005, auxiliary gids=3005,3999
– 服务器回复NFS3ERR_ACCESS
,客户端上的内核映射到EACCES (Permission denied)
。
有人能帮我一下吗?
我不能说这是否会导致你遇到的问题,但我注意到一些奇怪的事情:
您的目录是由foogroup
拥有的foogroup
。 因此foogroup
的权限是group::rx
。 但是你设置了一个额外的ACL条目group:foogroup:rwx
。 你为什么不设置group:rwx
呢?
即使对于group:foogroup
的默认ACL是不必要的,因为您已经在您的目录中设置了setgid
。 因此,下面的每个新目录都会自动inheritance拥有的组和目录的setgid
。