Списки контроля доступа NFS не применяются к root

Списки контроля доступа NFS не применяются к root

Я использую 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

Связанный контент