
На сервере 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