web-dev-qa-db-ja.com

ユーザーがAD認証されているが、NFSサーバーユーザーのローカルアカウントであるNFSユーザーマッピング

サーバー: CentOS 7.3.1611、NFS4が有効になっています。 /etc/idmapd.confでドメイン= my.domain.comローカルユーザーは「user」として作成され、ディレクトリはNFS経由でエクスポートされます:/ home/user/Documents

クライアント: ADレルムに参加しているFedora25:my.domain.comADユーザーのログインは正常に機能します。 sssd.confが変更されたため、ユーザー名は「[email protected]」ではなく「user」になります。したがって、ホームディレクトリ/ home/userが自動的に作成されます。 /etc/idmapd.confをNFSサーバー(my.domain.com)と同じドメインを持つように変更しました。

Now:クライアントマシンで、CentOSNFSサーバーからNFS4経由で/ home/user/Documentsをマウントしたいと思います。

マウントは成功しましたが、UIDマッピングが間違っています。したがって、クライアントでは、ディレクトリ/ home/user/DocumentsがNFSサーバーからマウントされますが、uid = 1002です。これはNFSサーバーの「user」のUIDですが、これは「user」の正しいユーザーではありません。クライアント(UID 709001103)。

$ mount -t nfs4 -vvv server:/user/Documents /home/user/Documents
mount.nfs4: timeout set for Wed Mar  8 15:54:45 2017
mount.nfs4: trying text-based options 'vers=4.2,addr=192.168.95.17,clientaddr=192.168.95.28'

$ ls -l /home/user/
drwxr-xr-x. 2 user domain users 4096 Mar  8 14:26 Desktop
drwxrwxr-x. 2   1002         1002   18 Mar  8 14:36 Documents
drwxr-xr-x. 2 user domain users 4096 Mar  8 14:26 Downloads

(ls -lがユーザー名を「user」だけでなく「userdomain」として表示するという事実を理解していません)。

クライアントとサーバー間のユーザーマッピングが正しいことを確認するために何をする必要があるかについてのアイデアはありますか?助けてくれてありがとう。

1
The Rifter

デフォルトでは、マウントがauth_gssを使用していない場合、クライアントとサーバーはネットワーク上で数値UIDを使用します。文字列プリンシパルを適用するには、次のことを行う必要があります

echo N > /sys/module/nfs/parameters/nfs4_disable_idmapping

そして

echo N > /sys/module/nfsd/parameters/nfs4_disable_idmapping

クライアントとサーバーでは、通知、サーバーでは/ sys/module/nfsdです。永続的にするには、これを/etc/modprobe.d/nfs.confに追加します。

echo "options nfs nfs4_disable_idmapping=0" > /etc/modprobe.d/nfs.conf

そして

echo "options nfsd nfs4_disable_idmapping=0" > /etc/modprobe.d/nfsd.conf
1
kofemann