イベントメッセージ:secd.nfsAuth.noNameMap
環境
- ONTAP 9
- NFS
問題
secd: secd.nfsAuth.noNameMap:warning
次の1つ以上のSVMについてエラーが記録されます。
Wed Dec 14 03:21:19 EST [cluster1-01: secd: secd.nfsAuth.noNameMap:warning]: vserver (nas_vserver) Cannot map UNIX name to CIFS name. Error: Get user credentials procedure failed
[ 0 ms] Determined UNIX id 0 is UNIX user 'root'
[ 1] Using a cached connection to dc01.us.example.com
[ 3] Trying to map 'root' to Windows user 'root' using implicit mapping
[ 5] Successfully connected to 10.1.1.X:445 using TCP
[ 20] Successfully connected to 10.1.1.Y:88 using TCP
[ 27] Successfully authenticated with DC dc02.us.example.com
[ 32] Could not find Windows name 'root'
[ 32] Unable to map 'root'. No default Windows user defined.
**[ 32] FAILURE: Name mapping for UNIX user 'root' failed. No mapping found
- UIDは 変換可能です(UID 0はユーザー名:rootに変換されます)。
- NFSクライアント要求でUNIXユーザ名をWindows / CIFSユーザ名にマッピングできない
- 一般的に、NFSクライアントがNTFSセキュリティ形式のボリューム(またはqtree)にアクセスしている場合に表示されます。
- 適切なUNIXからWindowsへのネームマッピングルールが設定されていることを確認します。 設定されていない場合は、アクセスを拒否されているUIDに対して、明示的なUNIX-WINネームマッピングを作成できます。–action plan below -
- エラーを解決するには、エラーにリストされているUIDをマッピングする必要があります。
- そのためには、ユーザごとにローカルネームマッピングを設定する必要があります 。vserver name-mapping create -vserver <vserver>-direction unix-win-position <int>-pattern pcuser -replacement <domain\user>
- また、マッピング先のADユーザに、NTFSセキュリティ形式のデータにアクセスするための適切な権限が割り当てられていることを確認します。
- 現在のネームマッピングを調べて、影響を受けた ユーザにネームマッピングがあるかどうかを確認します。
::> set d -c off;diag secd name-mapping show -node <node> -vserver <vserver> -direction unix-win -name root;set admin
- 例
-
::*> diag secd name-mapping show -node node1 -vserver vserver -direction unix-win -name root
Vserver: vserver (internal ID: 14)
Error: RPC map name request procedure failed
[ 0 ms] Trying to map 'root' to Windows user 'root' using
implicit mapping
[ 1] Using a cached connection to dc1.domain.local
[ 2] Encountered unknown NT Error (0x103) for SMB command Read
[ 8] Could not find Windows name 'root'
[ 8] Unable to map 'root'. No default Windows user defined.
**[ 8] FAILURE: Name mapping for UNIX user 'root' failed. No
** mapping foundError: command failed: Failed to find mapping for the user. Reason: "SecD Error: Name mapping does not exist".
- 詳細については、 「ネームマッピングが意図したとおりに機能していることを確認する方法」を参照してください。
- NFS要求のソースIPアドレスを 確認するには、 メッセージに記載されているノードのSECDログを同じタイムスタンプで確認します。
- 例:
[ 85] Unable to map '0'. No default Windows user defined.
**[ 85] FAILURE: Name mapping for UNIX user '0' failed. No mapping found
Details:
debug: Worker Thread 12345678901 processing RPC 153:secd_rpc_auth_get_creds with request ID:12345 which sat in the queue for 0 seconds. { in run() at src/server/secd_rpc_server.cpp:2306 }
debug: Client IP as found in the request: 10.1.1.2 { in secd_rpc_auth_get_creds_1_svc() at src/authorization/secd _rpc_authorization.cpp:1443 }
- ネームマッピングの設定方法を確認します。
::> vserver services name-service ns-switch show -vserver <vserver> -database namemap
- 例
-
vserver services name-service ns-switch show -vserver vserver -database namemap
Vserver: vserver
Name Service Switch Database: namemap
Name Service Source Order: files
- ソースの順序に基づいて、前の手順の出力で、該当するネームマッピングがないかどうかを確認します。
ファイルの場合は、
::> vserver name-mapping show -vserver <verver> -direction unix-win
マッピングされているUNIXユーザのエントリの出力を確認します。
- また 、UNIXユーザ名 をADのユーザ名と同じにすることはできません。