Назад | Перейти на главную страницу

невозможно записать в точку монтирования (nfs-server), появляется сообщение «Permission denied»

Я пытаюсь настроить 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?

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

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

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