Я использую CIFS для своих сетей в течение долгого времени, и я хотел бы использовать NFS для распространения файлов с Linux на Linux. У меня есть общий диск, на котором я установил липкую группу, которая, похоже, работает нормально при подключении через NFS, за исключением случаев, когда root пишет.
Итак, на файловом сервере есть каталог под названием media, который я выполнил. применение ACL setfacl -d -m u::rwx,g::rwx,o::r-x Media
on, так это выглядит так:
drwsrwsrwx+ 16 chrishunter users 4096 Sep 25 06:10 Media
и выполнение действий работает как положено:
chrishunter@server:/media/disk1/Media$ touch file
chrishunter@server:/media/disk1/Media$ sudo touch file2
[sudo] password for chrishunter:
chrishunter@server:/media/disk1/Media$ sudo su
root@server:/media/Media# touch file3
root@server:/media/Media# ls -ltra file*
-rw-rw-r-- 1 chrishunter users 0 Sep 26 05:51 file
-rw-rw-r-- 1 root users 0 Sep 26 05:51 file2
-rw-rw-r-- 1 root users 0 Sep 26 05:52 file3
Теперь при монтировании через NFS не применяются списки ACL, поэтому когда я запускаю файл sudo touch, он выглядит так:
chrishunter@client:/mnt/Media$ touch file
chrishunter@client:/mnt/Media$ sudo touch file2
[sudo] password for chrishunter:
chrishunter@client:/mnt/Media$ sudo su
root@client:/mnt/Media# touch file3
root@client:/mnt/Media# ls -ltra file*
-rw-rw-r-- 1 chrishunter users 0 Sep 26 06:09 file
-rw-r--r-- 1 root users 0 Sep 26 06:10 file2
-rw-r--r-- 1 root users 0 Sep 26 06:10 file3
Таким образом, похоже, что NFS4 должен автоматически распространять его на клиента и запускать nfs4_getfacl Media
Я вижу разрешения:
A::OWNER@:rwaDxtTcCy
A::GROUP@:rwaDxtcy
A::EVERYONE@:rxtcy
A:fdi:OWNER@:rwaDxtTcCy
A:fdi:GROUP@:rwaDxtcy
A:fdi:EVERYONE@:rxtcy
Теперь это говорит мне следуя за мужчиной на самом деле все разрешения должны быть унаследованы, но в данном случае это не так.
Примечания, показывающие, что он должен быть установлен с установленными ACL.
chrishunter@server:/media/disk1/Media# tune2fs -l /dev/dm-0 | grep "Default mount options:"
Default mount options: acl
chrishunter@server:/media/disk1/Media# mount |grep media
/dev/mapper/vg1-lv1 on /media/disk1/Media type ext4 (rw,acl)
Обновить: Добавлено содержимое экспорта, поскольку это была потенциальная проблема.
/media/Media 192.168.0.0/24(rw,no_root_squash,anonuid=1000,anongid=1000,sync,no_subtree_check)
Классический NFS специально обрабатывает пользователя root. Вы можете попробовать установить no_root_squash
в вашем файле экспорта на сервере. Видеть man exports