
rhel 5 linux サーバー (2 か月前に更新) では、2 つの NAS が NFS でマウントされています。これらの共有では、ディレクトリは 2 人の異なるユーザーに属しており、どちらもサーバー上にローカルに存在します。
そのうちの 1 つは rpcidmapd によって正しくマップされていますが、もう 1 つの共有では所有者として 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 文字に短縮しようとしましたが、成功しませんでした。
10000 を超える uid について考えましたが、そのような制限について説明しているドキュメントを見つけることができませんでした。
今はアイデアが不足しているので、グーグルでいろいろ検索しましたが、あるユーザーでは機能するのに、他のユーザーでは機能しない理由を見つけることができませんでした。
答え1
NFSv4には、ユーザー名をユーザーIDにマッピングする方法があります。サーバーとクライアントで同じ資格情報を使用する場合は、たとえば両方のシステムに同じドメイン名
もしこれがあなたのプラットフォームで機能しない場合は、ドキュメントで設定方法を調べてください。nfsv4 ドメイン