NFS создается сверх аутентификации RPC. С версией 3 NFS наиболее распространенный механизм аутентификации является AUTH_UNIX. Идентификатор пользователя и идентификатор группы клиентской системы отправляются в каждом вызове RPC, и полномочия, которые эти идентификаторы имеют на получаемом доступ файле, проверяются на сервере. Чтобы это работало, UID и ЦЕНУРОЗЫ должны быть тем же на сервере и клиентах. Однако можно вынудить весь доступ произойти как отдельный пользователь и группа путем объединения all_squash, anonuid, и опций экспорта anongid. all_squash отобразит весь UIDs и ЦЕНУРОЗЫ анонимному пользователю, и anonuid и anongid устанавливают UID и GID анонимного пользователя. Например, если Ваш UID и GID на Вашем dev сервере оба 1001, Вы могли бы экспортировать свой корневой каталог со строкой как
/home/darren 192.168.1.1/24(rw,all_squash,anonuid=1001,anongid=1001)
Я менее знаком с версией 4 NFS, но я думаю, что можно настроить rpc.idmapd на клиентах для изменения uid и ценуроза, который они отправляют на сервер.
Когда Вы монтируете NFS, Ваши полномочия, Вы монтируете, что он с должен совпасть с тем, что Вы имеете на сервере. Например, если у Вашего пользователя есть только доступ только для чтения, монтируя, что он с чтением-записью заставит Вас видеть те же ошибки, Вы упомянули в своем сообщении, когда Вы пытаетесь на самом деле загрузить монтирование. К сожалению, это ТОЛЬКО обнаружится при доступе к папке, не при фактическом монтировании его.
Вы также хотите удостовериться, что пользователь, которого NFS выполняет как на сервере и пользователе на клиенте, использует тот же UID и GID. Можно проверить эти значения путем выполнения id darren
и на сервере и на клиенте. Если UID и значения GID не совпадают, можно отредактировать /etc/passwd
чтобы сделать его так — но удостовериться, Вы понимаете то, что Вы делаете перед произвольным изменением значений!
Некоторые хорошие источники:
Я надеюсь, что это помогает!
Для меня проблема была решена путем предоставления опции установки _netdev
на клиенте.
Т.е. добавьте это в / etc / fstab
:
nfs-server:/ /mnt nfs4 _netdev,auto 0 0
Пример подключения общего ресурса NFS на Ubuntu Eoan в качестве сервера и MacOS Catalina в качестве клиента.
Примеры предположений (вам нужно адаптировать):
Имя клиентского ПК: Bills-MBP
(Press Cmd+Space, start 'terminal', there something like bill@Bills-MBP: is written as a prompt. Use what's written between the @ and the : as client PC name further below).
Имя пользователя в Ubuntu: tux
(Press the penguin-key on your keyboard, if you have none, order a penguin keyboard sticky and place it over the ugly key with four mis-shaped squares near the space bar. Enter "terminal", start the terminal, the user name will be shown before the @ sign in the prompt. E.g. "tux@dustycray:")
Имя ПК в Ubuntu: dustycray
(Can be found out like shown above.)
Папка в Ubuntu для общего доступа: /home/tux/mp3
Use whatever folder you need to share as absolute path
На NFS-сервере (в моем случае Ubuntu EOAN) введите в терминал (который мы открыли, как показано выше):
id -u tux
# remember the number, use it below as anonuid (replace the 1000 there)
id -g tux
# remember the number, use it below as anongid (replace the 1001 there)
sudo nano /etc/exports
# At the end of the file add the following line, replace the path name, the Client PC Name and the two numbers with your values:
/home/tux/mp3 Bills-MBP(rw,sync,insecure,all_squash,anonuid=1000,anongid=1001)
#leave with ctrl+x and confirm file saving
sudo exportfs -ra
Теперь на Mac откройте терминал, как показано выше, и введите (оставьте /private/nfs как есть):
sudo make /private/nfs
#Replace the ubuntu pc name (dustycray) and the path (home ...) by your's now:
sudo mount -t nfs -o resvport,rw dustycray:/home/tux/mp3 /private/nfs
Затем доступ к NFS можно получить по пути /private/nfs. В Finder вы увидите новую запись под названием (например) «dustycray» слева в разделе «местоположения», а также в диалогах открытия файлов.
Процедура монтирования, описанная выше, не является постоянной, я использую скрипт для ее монтирования всякий раз, когда мне это нужно. Однако вы также можете сделать монтирование постоянным, если хотите (например, Системные настройки / Пользователи и группы / Элементы входа / + / Выбрать любую корневую папку в (!) общем ресурсе NFS / Добавить).