У нас проблема при использовании NFS. Мы не можем записать в каталог на клиентском компьютере NFS, если этот каталог был создан на NFS-сервере. Причина, по-видимому, заключается в разрешении файла / каталога и отображении пользователя.
Наша установка:
У нас есть 2 узла EC2 - Ubuntu 16.04.2 LTS
NFS-сервер установлен на одной машине:
ubuntu@master:~$ less /etc/exports
/home/ubuntu/data *(rw,no_subtree_check,sync,insecure)
Тот же каталог установлен на другой машине:
sudo mkdir /home/ubuntu/data
sudo mount -t nfs masterIp:/home/ubuntu/data /home/ubuntu/data
Проблема у нас есть:
Когда мы создаем каталог в NFS в мастере, он создается так:
# sudo mkdir /home/ubuntu/data/Test
# sudo ls -all /home/ubuntu/data
drwxr-xr-x 2 root root 4096 Jul 5 07:19 Test
Мастер не имеет проблем с доступом к этому каталогу, создавая файл внутри eetc. Но когда мы пытаемся создать файл из подчиненного узла внутри Test dir, мы получаем ошибку «Отказано в доступе».
Когда мы создаем каталог с клиентской машины NFS, это выглядит так:
# sudo mkdir /home/ubuntu/data/Test2
# sudo ls -all /home/ubuntu/data
drwxr-xr-x 2 root root 4096 Jul 5 07:19 Test
drwxr-xr-x 2 nobody nogroup 4096 Jul 5 07:21 Test2
Таким образом, кажется, что пользователь root NFS-клиента сопоставляется с nobody @ nogroup при записи в каталоги NFS и, следовательно, не может записывать в каталоги, созданные пользователем root на NFS-сервере. Нам необходимо сопоставить корневого пользователя NFS-клиники с корневым пользователем NFS-сервера, чтобы они оба могли свободно работать с каталогами независимо от того, где они были созданы.