
У меня следующая среда:
host1: Debian 12 с zfs 2.1.11: открытый ldap-сервер с пакетами по умолчанию, nfs-utils 2.6
host2: Debian 12: открытый ldap-клиент с пакетами по умолчанию, nfs-utils 2.6
На стороне сервера ldap у меня созданы две группы: primarygroup1 и primarygroup2, а пользователь user1 принадлежит к группе primarygroup2.
Серверная часть
getent group:
primarygroup1:*:1000001:
primarygroup2:*:1000002:
getent passwd:
user1:x:1000001:1000002:user1:/home/user1:/bin/false
Сервер предоставляет набор данных через NFS с файлом с разрешениями
Экспорт NFS:
exportfs -v
/tank/d1 <world>(sync,wdelay,hide,fsid=9a31889cb81531154198e4c3c5156b74,sec=sys,rw,secure,no_root_squash,no_all_squash)
Разрешения файла:
getfacl /tank/d1/file.txt
getfacl: Removing leading '/' from absolute path names
# file: tank/d1/file.txt
# owner: root
# group: primarygroup1
user::rwx
group::r--
other::---
Сторона клиента:
NFS-монтирование
mount
192.168.164.200:/tank/d1 on /mnt/testnfs type nfs
(rw,relatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.164.200,mountvers=3,mountport =53721,mountproto=udp,local_lock=none,addr=192.168.164.200)
Разрешения на файл
getfacl /mnt/testnfs/file.txt
getfacl: Removing leading '/' from absolute path names
# file: mnt/testnfs/file.txt
# owner: root
# group: primarygroup1
user::rwx
group::r--
other::---
getent group:
primarygroup1:*:1000001:
primarygroup2:*:1000002:
getent passwd:
user1:x:1000001:1000002:user1:/home/user1:/bin/false
Проблема в том, что на стороне клиента у пользователя user1 нет разрешения на чтение файла, он не принадлежит к primarygroup1, но тем не менее может прочитать файл.
user1@deb12nfsclient:/root$ cat /mnt/testnfs/file.txt
####### data ######
Перезапуск сервера NFS и перемонтирование иногда помогает, но в большинстве случаев не работает. Кроме того, я заметил, что примерно через 15 минут эти разрешения работают правильно сами по себе без перезапуска сервера NFS
Примерно через 15 минут:
user1@deb12nfsclient:/root$ cat /mnt/testnfs/file.txt
cat: /mnt/testnfs/file.txt: Permission denied
На стороне клиента я использовал параметры монтирования: noac, actimeo=0, но это не помогло.
Кто-нибудь знает, почему так себя ведет? Есть ли способ сократить это время, чтобы разрешения работали правильно?
С уважением, Адам.