Неожиданное поведение при монтировании более чем одной общей папки.
Сервер NFS
$ -> cd /mnt/raid/nas && ls -lZa
drwxrwxr-x. nas filer unconfined_u:object_r:file_t:s0 file
drwxrwxr-x. nas filer unconfined_u:object_r:file_t:s0 repo
$ -> cat /etc/exports
/mnt/raid/nas 10.1.0.0/18(rw,fsid=0,sync)
/mnt/raid/nas/repo 10.1.0.0/18(rw,all_squash,sync,no_subtree_check,anonuid=501,anongid=503)
/mnt/raid/nas/file/perm 10.1.0.0/18(rw,all_squash,sync,no_subtree_check,anonuid=501,anongid=503)
$ -> id nas && id filer
uid=501(nas) gid=501(nas) groups=501(nas)
uid=502(filer) gid=503(filer) groups=503(filer)
Клиент NFS
$ -> id nas && id filer
uid=501(nas) gid=501(nas) groups=501(nas)
uid=502(filer) gid=503(filer) groups=503(filer)
$ -> cd /mnt/nas && ls -lZa
drwxrwxr-x. nas filer unconfined_u:object_r:mnt_t:s0 repo
drwxrwxr-x. nas filer unconfined_u:object_r:mnt_t:s0 store
$ -> sudo mount -t nfs4 nas-1:/repo /mnt/nas/repo
$ -> sudo mount -t nfs4 nas-1:/file/perm /mnt/nas/store/file/perm/
$ -> df -h
nas-1:/repo
550G 240G 283G 46% /mnt/nas/repo
nas-1:/file/perm
550G 240G 283G 46% /mnt/nas/store/file/perm
Но когда я пишу тестовый файл для каждого, только perm / правильно давит пользователя.
$ -> touch /mnt/nas/repo/imagemagick/test_$$.txt
$ -> ls /mnt/nas/repo/imagemagick
-rw-rw-r--. 1 mpurcell mpurcell 0 Apr 5 20:31 test_24571.txt
$ -> touch /mnt/nas/store/file/perm/test_$$.txt
$ -> ls /mnt/nas/store/file/perm/
-rw-rw-r--. 1 nas filer 0 Apr 5 20:32 test_24571.txt
Я попытался отключить selinux на обоих компьютерах, но это тоже не помогло.
Почему одно монтирование правильно подавляет пользователя / группу, а другое - нет?
---Обновить---
Нужно ли привязать монтирование NFS к серверу NFS? У меня была странная запись в моем файле / etc / fstab, где монтировался один из общих каталогов (с привязкой), и это был тот, который работал. Я удалил запись из / etc / fstab на сервере NFS, перемонтировал все, и теперь некогда работающее монтирование на клиенте NFS больше не работает.
Ух, наконец, он заработал, пришлось сделать следующее, чтобы взломать функцию all_squash. Я сделал это некоторое время назад и не помню, зачем это нужно было делать, но без этого я не смог бы заставить завивку правильно раздавить.
$ -> ls /mnt/raid/nas
drwxrwxr-x. 2 nas filer repo
drwxrwxr-x. 3 nas filer repo_all_squash_hack
$ -> ls /mnt/raid/nas/file
drwxrwxr-x. 2 nas filer perm
drwxrwxr-x. 3 nas filer perm_all_squash_hack
Затем в / etc / fstab:
/mnt/raid/nas/file/perm_all_squash_hack /mnt/raid/nas/file/perm none bind 0 0
/mnt/raid/nas/repo_all_squash_hack /mnt/raid/nas/repo none bind 0 0
Теперь все складывается, как и ожидалось. Также подтверждено через:
$ -> cat /proc/fs/nfs/exports
/mnt/raid/nas 10.1.0.0/18(rw,root_squash,sync,wdelay,no_subtree_check,fsid=0,uuid=d962b590:d8986203:00000000:00000000,sec=1)
/mnt/raid/nas/repo 10.1.0.0/18(rw,root_squash,all_squash,sync,wdelay,no_subtree_check,anonuid=501,anongid=503,uuid=d962b590:d8986203:00000000:00000000,sec=1)
/mnt/raid/nas/file/perm 10.1.0.0/18(rw,root_squash,all_squash,sync,wdelay,no_subtree_check,anonuid=501,anongid=503,uuid=d962b590:d8986203:00000000:00000000,sec=1)