Возникли трудности с настройкой Linux ACL (getfacl / setfacl) для работы с общими ресурсами NFS. Мы используем клиенты Ubuntu и хранилище QNAP в качестве сервера.
На данный момент только пользователь root в Ubuntu имеет доступ для чтения / записи. Обычный пользователь (например, www-data) получает отказ в разрешении при попытке что-то написать.
Мы создали тех же пользователей (www-data, ubuntu) в QNAP, установили те же UID и GUID, отредактировав /etc/passwd
/etc/group
но это не помогает. Странно.
Наша установка следующая:
QNAP:
1.) Проверена функция «Включить расширенные разрешения для папок».
2.) /etc/exports
автоматически создается в qnap и является следующим
"/share/MD0_DATA/Public" *(rw,async,no_root_squash,insecure)
"/share/MD0_DATA/XXX" X.X.X.X(rw,async,no_root_squash,insecure) X.X.X.X(rw,async,no_root_squash,insecure) X.X.X.X(rw,async,no_root_squash,insecure) X.X.X.X(rw,async,no_root_squash,insecure)
в основном он устанавливает "rw, async, no_root_squash, insecure" для всех экспортируемых разделов
Клиент (Ubuntu):
1.) /etc/fstab
X.X.X.X:/XXX /external nfs acl,soft,intr,rsize=8192,wsize=8192
2.) getfacl /external
показывает:
# file: external
# owner: root
# group: root
user::rwx
user:root:rwx
user:www-data:rwx
user:ubuntu:rwx
user:nobody:---
group::---
group:users:rwx
mask::rwx
other::rwx
default:user::rwx
default:user:root:rwx
default:user:www-data:rwx
default:user:ubuntu:rwx
default:user:nobody:---
default:group::rwx
default:group:users:rwx
default:mask::rwx
default:other::---
Общий ресурс виден, но только root имеет право записи. Все остальные (например, ubuntu, www-data) пользователи имеют доступ только для чтения. Мы хотели бы использовать ACL, на данный момент мы можем установить RWX только на «другие» POSIX, что совсем небезопасно.
Насколько я понимаю, ACL НЕ работают через NFS, особенно V3 NFS. Однако я понимаю, что в NFS v4 есть некоторые типы ACL. Но я не думаю, что ACL Linux работают с NFS v4 ...