トップ回答者
NFSサーバ(Windows2012r2)とHP-UX(NFSクライアント)間での双方向ユーザマッピングについて

質問
-
NFSサーバ(Windows2012r2)とNFSクライアント(HP-UX)間での双方向ユーザマッピングについてなのですが、NFSクライアントでNFS共有フォルダにアクセスした際は、UID、GIDともに望みの者が作られます。
NFSサーバ側でNFS共有フォルダにファイルを作成した場合、クライアント側でUID、GIDを確認するとUIDはファイルを作成したアカウント名(クライアント、サーバ共通のユーザ名)になるのですが、GIDが「nogroup」となってしまいます。
%SystemRoot%\system32\drivers\etc\配下にクライアントの/etc/passwd、/etc/groupは配置しています。
NFSのユーザマッピングは、クライアント⇒サーバのみでしかなされないものなのでしょうか?(NFS経由でしかマッピングされない??)
回答
-
※passwd/groupファイルによるマッピングは使ったことがないので、間違っていたらすみません。
NFSのユーザマッピングで設定した変換ルールを参照して実際に変換を行っているのはNFSサーバー機能です。
Windows Server上でWindowsユーザがファイルを作る際は、NFSサーバーを介さないので変換ルールは適用されません。
Windows Server上でWindowsユーザがファイルを作った場合、そのWindowsユーザーのアクセストークンのプライマリ
グループ値が、新規作成したファイルの(NTFSセキュリティ記述子内の)プライマリグループ値に設定されます。
このファイルのプライマリグループが、NFSクライアントから見ると、(変換ルールで変換された上で)ファイルの
gidとして表示されます。
ファイルのプライマリグループが期待している値と異なるために、期待する変換ルールが適用されておらず、
gidが期待しない値になっている可能性があると思います。
Windows Server上の管理者権限のコマンドプロンプトで
nfsfile ファイルのパス (例: nfsfile d:\nfsshare\test.txt )
を実行すると、そのファイルの所有者とプライマリグループを確認することができます。
なお、ドメインアカウントで作成したファイルの場合は、ファイルのプライマリグループは
<ドメイン名>\Domain Users
になっていると思います。変更したい場合は、ADのユーザー管理ツールで、該当ユーザーの[所属グループ]の
設定でプライマリグループをデフォルトのDomain Usersから他のグループに変更することができます。
一方、ローカルアカウントで作成したファイルの場合、ファイルのプライマリグループは
<コンピュータ名>\なし (英語版OSでは"なし"の部分は"none")
になっていると思います。おそらくこちらは変更する方法はないと思います。(下記URL)
How Access Tokens Work
https://technet.microsoft.com/ja-jp/library/cc783557(v=ws.10).aspx
======================================================
There is also a “NONE” group, which is added to local tokens on non-domain controllers;
“NONE” is the SID for the primary group for local accounts.
======================================================
nfsfileコマンドでファイルのプライマリグループを変更することができますので、Windowsサーバー上で
ファイルを新規作成する度に、毎回nfsfileコマンドでファイルのプライマリグループを希望のグループ
に変更するような運用回避は可能かと思います。
- 編集済み h-yamasaki 2016年10月1日 22:48
- 回答の候補に設定 チャブーンMVP, Moderator 2016年10月3日 3:03
- 回答としてマーク 佐伯玲 2016年10月18日 4:09
-
チャブーンです。
私もh-yamasakiさんの回答に同意します。おそらくユーザのプライマリグループの設定が適切でないので、こうなったのだと思います(プライマリグループ設定自体はNFSクライアント側から操作することはできないので)。
参考までに、UNIXユーザマッピングの挙動に関するページをお知らせしておきます。
https://technet.microsoft.com/en-us/library/bb463218.aspx
で、結論としてはUNIXと関連あるアカウントについてはプライマリグループをPOSIX仕様で設定してしまった方が吉かな、と思います。プライマリグループが変更されたとしても、Windows側としては最終的な認証に影響は与えません。Domain Usersが単にmemberOfに含まれていれば(GUIから変更した場合自動的にこうなります)、動作の差異(影響)はないという理解なので、とくに問題はありません。
フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。
すべての返信
-
※passwd/groupファイルによるマッピングは使ったことがないので、間違っていたらすみません。
NFSのユーザマッピングで設定した変換ルールを参照して実際に変換を行っているのはNFSサーバー機能です。
Windows Server上でWindowsユーザがファイルを作る際は、NFSサーバーを介さないので変換ルールは適用されません。
Windows Server上でWindowsユーザがファイルを作った場合、そのWindowsユーザーのアクセストークンのプライマリ
グループ値が、新規作成したファイルの(NTFSセキュリティ記述子内の)プライマリグループ値に設定されます。
このファイルのプライマリグループが、NFSクライアントから見ると、(変換ルールで変換された上で)ファイルの
gidとして表示されます。
ファイルのプライマリグループが期待している値と異なるために、期待する変換ルールが適用されておらず、
gidが期待しない値になっている可能性があると思います。
Windows Server上の管理者権限のコマンドプロンプトで
nfsfile ファイルのパス (例: nfsfile d:\nfsshare\test.txt )
を実行すると、そのファイルの所有者とプライマリグループを確認することができます。
なお、ドメインアカウントで作成したファイルの場合は、ファイルのプライマリグループは
<ドメイン名>\Domain Users
になっていると思います。変更したい場合は、ADのユーザー管理ツールで、該当ユーザーの[所属グループ]の
設定でプライマリグループをデフォルトのDomain Usersから他のグループに変更することができます。
一方、ローカルアカウントで作成したファイルの場合、ファイルのプライマリグループは
<コンピュータ名>\なし (英語版OSでは"なし"の部分は"none")
になっていると思います。おそらくこちらは変更する方法はないと思います。(下記URL)
How Access Tokens Work
https://technet.microsoft.com/ja-jp/library/cc783557(v=ws.10).aspx
======================================================
There is also a “NONE” group, which is added to local tokens on non-domain controllers;
“NONE” is the SID for the primary group for local accounts.
======================================================
nfsfileコマンドでファイルのプライマリグループを変更することができますので、Windowsサーバー上で
ファイルを新規作成する度に、毎回nfsfileコマンドでファイルのプライマリグループを希望のグループ
に変更するような運用回避は可能かと思います。
- 編集済み h-yamasaki 2016年10月1日 22:48
- 回答の候補に設定 チャブーンMVP, Moderator 2016年10月3日 3:03
- 回答としてマーク 佐伯玲 2016年10月18日 4:09
-
チャブーンです。
私もh-yamasakiさんの回答に同意します。おそらくユーザのプライマリグループの設定が適切でないので、こうなったのだと思います(プライマリグループ設定自体はNFSクライアント側から操作することはできないので)。
参考までに、UNIXユーザマッピングの挙動に関するページをお知らせしておきます。
https://technet.microsoft.com/en-us/library/bb463218.aspx
で、結論としてはUNIXと関連あるアカウントについてはプライマリグループをPOSIX仕様で設定してしまった方が吉かな、と思います。プライマリグループが変更されたとしても、Windows側としては最終的な認証に影響は与えません。Domain Usersが単にmemberOfに含まれていれば(GUIから変更した場合自動的にこうなります)、動作の差異(影響)はないという理解なので、とくに問題はありません。
フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。
-
##Windows Server上でWindowsユーザがファイルを作る際は、NFSサーバーを介さないので変換ルールは適用されません。
うすうすそんな感じはしていたのですが、はっきりとした回答ありがとうございます。
nfsfileコマンドでの運用を考えてみます。