Назад | Перейти на главную страницу

Странная проблема с разрешениями с ACL POSIX, NFS v3 в Linux

У меня две системы 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 / gids отправляются через AUTH_UNIX верны - uid=gid=3005, auxiliary gids=3005,3999- и сервер отвечает NFS3ERR_ACCESS, которому ядро ​​на клиенте сопоставляет EACCES (Permission denied).

Кто-нибудь может мне здесь помочь?

Я не могу сказать, могло ли это вызвать у вас проблему, но я заметил некоторую странность:

Ваш каталог принадлежит группе foogroup. foogroupразрешение поэтому group::r-x. Но вы устанавливаете дополнительную запись ACL group:foogroup:rwx. Почему бы тебе просто не установить group:rwx вместо?

Даже ACL по умолчанию для group:foogroup не нужно, как и у вас setgid в вашем каталоге. Таким образом, каждый новый каталог ниже будет автоматически наследовать группу-владелец и setgid вашего каталога.