Я использую CIFS для своей сети уже долгое время и хотел бы использовать NFS для дистрибуции файлов Linux-Linux. У меня есть общий диск, на котором я установил липкую группу, которая, кажется, работает нормально при монтировании через NFS, за исключением случаев, когда пишет root.
Итак, на файловом сервере есть каталог под названием media, который я выполнил применение ACL setfacl -d -m u::rwx,g::rwx,o::r-x Media
и теперь это выглядит так:
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
Теперь это говорит мне:следуя за человекомчто на самом деле все разрешения должны наследоваться, но в данном случае это не так.
Примечания показывают, что его следует монтировать с установленными списками контроля доступа.
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)
решение1
Классический NFS обрабатывает пользователя root особым образом. Вы можете попробовать установить no_root_squash
опцию в вашем файле экспорта на сервере. Смотритеman exports