NFS-монтирование не отображает пользователя правильно

NFS-монтирование не отображает пользователя правильно

На сервере rhel 5 linux (обновленном два месяца назад) монтируются два NAS с NFS. На этих общих ресурсах каталоги принадлежат двум разным пользователям, оба из которых существуют локально на сервере.

Один из них правильно сопоставлен rpcidmapd, но другой общий ресурс показывает nobody:nobody в качестве владельца.

При увеличении детализации выводимый журнал для успешного монтирования (пользователь tomcat):

Jun  1 15:39:19 server_hostname rpc.idmapd[31250]: nfs4_name_to_uid: calling nsswitch->name_to_uid
Jun  1 15:39:19 server_hostname rpc.idmapd[31250]: nss_getpwnam: name '[email protected]' domain 'domain.com': resulting localname 'tomcat'
Jun  1 15:39:19 server_hostname rpc.idmapd[31250]: nfs4_name_to_uid: nsswitch->name_to_uid returned 0
Jun  1 15:39:19 server_hostname rpc.idmapd[31250]: nfs4_name_to_uid: final return value is 0
Jun  1 15:39:19 server_hostname rpc.idmapd[31250]: Client 0: (user) name "[email protected]" -> id "667"
Jun  1 15:39:19 server_hostname rpc.idmapd[31250]: nfs4_name_to_gid: calling nsswitch->name_to_gid
Jun  1 15:39:19 server_hostname rpc.idmapd[31250]: nfs4_name_to_gid: nsswitch->name_to_gid returned 0
Jun  1 15:39:19 server_hostname rpc.idmapd[31250]: nfs4_name_to_gid: final return value is 0
Jun  1 15:39:19 server_hostname rpc.idmapd[31250]: Client 0: (group) name "[email protected]" -> id "667"

А для пользователя, сопоставленного неправильно, у нас есть код выхода -22:

Jun  1 15:56:31 server_hostname rpc.idmapd[7128]: nfs4_name_to_uid: calling nsswitch->name_to_uid
Jun  1 15:56:31 server_hostname rpc.idmapd[7128]: nss_getpwnam: name '10701' domain 'domain.com': resulting localname '(null)'
Jun  1 15:56:31 server_hostname rpc.idmapd[7128]: nss_getpwnam: name '10701' does not map into domain 'domain.com'
Jun  1 15:56:31 server_hostname rpc.idmapd[7128]: nfs4_name_to_uid: nsswitch->name_to_uid returned -22
Jun  1 15:56:31 server_hostname rpc.idmapd[7128]: nfs4_name_to_uid: final return value is -22
Jun  1 15:56:31 server_hostname rpc.idmapd[7128]: Client 0: (user) name "10701" -> id "99"
Jun  1 15:56:31 server_hostname rpc.idmapd[7128]: nfs4_name_to_gid: calling nsswitch->name_to_gid
Jun  1 15:56:31 server_hostname rpc.idmapd[7128]: nfs4_name_to_gid: nsswitch->name_to_gid returned -22
Jun  1 15:56:31 server_hostname rpc.idmapd[7128]: nfs4_name_to_gid: final return value is -22
Jun  1 15:56:31 server_hostname rpc.idmapd[7128]: Client 0: (group) name "672" -> id "99"

Те же самые монтирования отлично работают на сервере rhel 7.4.

/etc/idmapd.confодинаков на обоих серверах.

Оба пользователя и группы существуют локально, getent passwd отлично работает для обоих пользователей.

Имя пользователя содержит более 8 символов. Попытка сократить его до 8 не увенчалась успехом.

Думал об uid, превышающем 10000, но не смог найти документацию, в которой говорилось бы о таких ограничениях.

У меня уже не осталось идей, и я долго гуглил, но так и не смог найти причину, почему у одного пользователя это работает, а у другого нет.

решение1

NFSv4 поставляется с методом сопоставления имени пользователя с идентификаторами пользователя. Если вы хотите иметь одинаковые учетные данные на сервере и клиенте, вы можете, например, дать обеим системам одинаковыедоменное имя

Если это не работает на вашей платформе, найдите в документации информацию о том, как настроитьдомен nfsv4

Связанный контент