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

Нет acl на монтировании nfs в Linux?

Имею несколько машин RHEL6. Один из них экспортирует монтирование nfs в остальные. У меня есть ACL-список на сервере (установлен с помощью setfacl -m), но ни один из клиентов не видит ни одного из них.

Вот мой экспорт на server1:

/myexport    server2.example.com(rw,async,no_root_squash)

Вот мой fstab на server2:

server1.example.com:/myexport  /mnt  nfs4  noatime,async,lock 0 0

Я безуспешно пытался добавить acl в параметры монтирования fstab. Кто-нибудь знает, почему я не вижу ACL на клиенте?

ACL используются и активны через NFS. Используйте команду nfs4_getfacl чтобы показать ACL на монтировании NFSv4:

$ nfs4_getfacl /tmp/test

A::OWNER@:rwatTnNcCy
A::alice@nfsdomain.org:rxtncy
A::bob@nfsdomain.org:rwadtTnNcCy
A:g:GROUP@:rtncy
D:g:GROUP@:waxTC
A::EVERYONE@:rtncy
D::EVERYONE@:waxTC

Почему ACL так отличаются от ACL в Linux? Так как NFSv4 ACL и Linux ACL acl (5) - это совершенно другой стандарт! Сервер Linux NFS будет транслировать ACL туда и обратно.

Очень жаль, что linux ls не показывать + для файла с NFSv ACL на клиенте .. это вводит в заблуждение.

Чтобы использовать ACL POSIX с NFS, вам нужно было использовать NFSv3.

ACL NFSv4 сильно отличаются от ACL POSIX. Первые устанавливаются с использованием очень специфических nfs4_getacl и nfs4_setacl, а вторые настраиваются с помощью стандартных двоичных файлов getfacl / setfacl. Короче говоря, ACL NFSv4 не имеют ничего общего с ACL POSIX (кстати, ACL NFSv4 намного ближе к ACL CIFS, используемым в среде Windows).