Я старался как можно точнее следовать документации по ubuntu nfs4. Мой клиентский компьютер показывает неправильное владение файлами.
Это мой файл idmapd.conf на обеих машинах:
[General]
Verbosity = 0
Pipefs-Directory = /run/rpc_pipefs
Domain = localdomain
[Mapping]
Nobody-User = nobody
Nobody-Group = nogroup
[Translation]
Method=nsswitch
Тем не менее, клиент показывает владение файлами на основе числового uid / gid, а не отображает имена пользователей и групп. У меня одинаковые имена пользователей на обеих машинах, но идентификаторы не совпадают. Поэтому, когда я указываю каталог на клиенте, он показывает, что файлы принадлежат другому пользователю, который использует тот же uid, что и предполагаемый пользователь на сервере.
Что я делаю не так?
Файл выглядит правильно, возможно, демон idmapd
не запущен ни на одной из машин (проверьте с pgrep rpc.idmapd
)?
Монтируется ли на самом деле NFS4? Проверьте вывод mount
на клиенте.
Возможно, можно заблокировать демон idmapd
с помощью оболочки TCP. Существуют ли файлы /etc/hosts.deny
и /etc/hosts.allow
и имеют ли они какое-либо содержимое?
Обратите внимание, что даже если вы получите его в , покажите правильные имена пользователей на клиенте , он будет не работать , как вы хотите. Всякий раз, когда вы пытаетесь получить доступ к файлам, проверка разрешений выполняется только с числовыми идентификаторами (без перевода между клиентом и сервером). Перевод выполняется только для вывода из ls
, а не для фактического доступа к файлу. Поэтому я думаю, что вы можете вообще перестать пытаться, потому что это, вероятно, не то, что вы хотите.
Единственное решение для этого - синхронизировать идентификаторы на клиенте и сервере или использовать Kerberos (который очень сложен).
Источником моей информации является этот отчет об ошибках на Launchpad и этой теме в списке рассылки linux-nfsv4