невозможно записать в точку монтирования (nfs-сервер), получая «Отказано в доступе»

21

Я пытаюсь настроить NFSмежду двумя узлами RHEL7:

первый узел:

[root@ip-10-164-175-246 ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.0 (Maipo)
[root@ip-10-164-175-246 ~]# rpm -q nfs-utils
nfs-utils-1.3.0-0.el7.x86_64
[root@ip-10-164-175-246 ~]# cat /etc/exports
/var/www/html/  ip-10-184-161-46.ec2.internal(rw)
[root@ip-10-164-175-246 ~]# 

второй узел:

[root@ip-10-184-161-46 ~]# mount ip-10-164-175-246.ec2.internal:/var/www/html/ /mnt/
[root@ip-10-184-161-46 ~]# touch /mnt/$$
touch: cannot touch ‘/mnt/3326’: Permission denied
[root@ip-10-184-161-46 ~]# 

Почему я не могу написать что-нибудь для /mnt/NFS?

Alexus
источник
1
Попробуйте изменить значение (rw)in /etc/exportsна (rw,no_root_squash), сделав его exportfs -avна сервере, затем перемонтировать файловую систему на клиенте и повторите попытку.
MadHatter поддерживает Монику

Ответы:

29

Использует ли ваш экспорт root_squash? Из документов CentOS :

root_squash - не позволяет корневым пользователям, подключенным удаленно, иметь права root и назначает им идентификатор пользователя для пользователя nfsnobody. Это эффективно «подавляет» возможности удаленного пользователя root для самого низкого локального пользователя, предотвращая несанкционированное изменение файлов на удаленном сервере. В качестве альтернативы опция no_root_squash отключает корневое сжатие. Чтобы раздавить каждого удаленного пользователя, включая root, используйте опцию all_squash. Чтобы указать идентификаторы пользователей и групп для использования с удаленными пользователями с определенного хоста, используйте параметры anonuid и anongid соответственно. В этом случае можно создать специальную учетную запись для удаленных пользователей NFS и указать (anonuid =, anongid =), где это номер идентификатора пользователя и номер идентификатора группы.

Вам нужно будет добавить флаг, no_root_squashчтобы отключить это, так как он включен по умолчанию.

Кристофер Карел
источник
1
Спасибо, все работает как положено! Я скучал no_root_squash, еще раз спасибо!
Алексус
Я нашел эту статью на сайтах RHEL: access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/… . Кажется, использовать no_root_squash совсем не безопасно. Какое решение, если мы хотим следовать их рекомендациям?
Джидиуф
В основном вы захотите дать пользователю «nobody» возможность изменять соответствующие файлы в монтировании NFS. Когда пользователь Root сопоставлен (раздавлен) ни с кем, он все равно сможет их изменить. С другой стороны, я считаю, что NFSv4 позволяет вам определять правильные сопоставления локальных / серверных учетных записей.
Кристофер Карел