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

Сопоставление пользователей NFS

У меня есть две машины с установленной CentOS 6.4, подключенные к одной частной сети.

Один из них служит NFS-сервером, а другой - клиентом.

На серверной машине (сервере) я экспортировал каталог /net/directory добавив строку в /etc/exports файл

/net/directory *(rw,sync,no_root_squash)

После запуска службы я перешел к клиенту и добавил точку монтирования в /etc/fstab

server:/net/directory   /client/directory       nfs defaults    0 0

А затем установил

# mount /client/directory

Проблема в том, что когда я создаю новый файл / каталог внутри смонтированной точки от клиента, этот файл будет отображаться как nobody:nobody при создании неизвестным пользователем на стороне сервера.

Вот пример (для пояснения)

Только на стороне клиента есть пользователь и группа с таким же именем под названием testuser

На стороне клиента я создаю файл как testuser

[testuser@client ~]# touch /client/directory/test

Затем я перечисляю содержимое каталога

[testuser@client ~]# ls -l /client/directory
total 0
-rw-r--r--. 1 nobody nobody 0 Jul  2 16:46 test

А вот на стороне сервера все как положено:

[root@earth ~]# ls -l /net/directory
total 0
-rw-r--r--. 1 1001 1001 0 Jul  2 16:46 test

Мне нужен такой же результат на стороне клиента:

- файл должен быть с UID: GID как 1001: 1001

Что я делаю не так? Это проблема сервера или клиента?

Я просмотрел несколько руководств по NFS, и ничего не помогло.

Кто-нибудь знает, как я могу это сделать (без создания пользователя на стороне сервера)?

Спасибо.

Убедитесь, что домен в /etc/idmapd.conf совпадает на клиенте и сервере. Убедитесь, что rpc.idmapd запущен на клиенте и сервере. И, конечно же, пользователь должен существовать на клиенте и сервере. NFSv4 использует принципалов пользователей по сети, и клиент и сервер несут ответственность за обеспечение правильного сопоставления. Поскольку вы используете AUTH_SYS, локальный uid / gid передается на сервер при создании, но для работы требуется сопоставление ls.