NFSv4を介してマウントされたファイルは4294967294によって所有され、UIDとGIDは一致します


23

2つの同一のLinuxマシン(Amazon EC2で起動される同一のイメージ)があり、エクスポートされたディレクトリをNFSv4でマウントしようとしています。クライアントマシンでマウントされたディレクトリは次のようになります。

root@server:~# ls -l /websites/
drwxr-xr-x  6 4294967294 4294967294   92 2010-01-01 20:21 logs
drwxr-xr-x  2 4294967294 4294967294   20 2009-12-23 01:14 monit.d
...

UIDが一致していることを確認するために二重にチェックしました

クライアントから実行するマウントコマンドは次のとおりです。

/sbin/mount.nfs4 $MASTER_DN:/ /websites -o rw,_netdev,async

/etc/exportsサーバーマシンのエントリは次のとおりです。

/websites 10.0.0.0/8(fsid=0,no_subtree_check,rw,no_root_squash)

rpcidmapdサービスは実行されていますか?コマンドを使用して起動します。/etc/init.d/rpcidmapd restart chkconfig rpcidmapd on

回答:


8

NFSおよびZFSでのUID / GIDで説明されているように、NFSv4はUIDを使用しません。私は同様の問題を抱えていたので、NFSv3を使用して回避できました。これは-o vers=3mountコマンドに追加するだけです。もちろん、NFSv4を使用する必要がある場合、この応答はあまり役に立ちません。


7

ここを読むhttp://blather.michaelwlucas.com/archives/796

NFSv4クライアントとサーバーのドメイン名が一致しない場合、すべてのユーザー名が「nobody」として表示されます。

  1. /etc/idmapd.confを編集し、サーバーとクライアントのドメインを「localdomain」に設定します

    [全般]

    ドメイン= localdomain

    [翻訳]

    メソッド= nsswitch

  2. / etc / default / nfs-commonファイルを変更します(サーバーとクライアントの両方で):NEED_IDMAPD = yesを設定します

  3. idmapdサービスを開始します


私にとって、この答えは私が抱えていた問題を解決しました(「idmapd」がsomの理由でクラッシュした後)。
ヘンク14年

7

これはユーザーIDマッピングの問題です。何らかの理由で、システムは真のアカウントIDではなく「nobody」アカウントを使用しています。潰しオプションとidmapd.confファイルを確認してください。

ここで問題を議論しているスレッドを見つけました。これは興味のある投稿http://www.mail-archive.com/rhelv5-list@redhat.com/msg03303.htmlへのリンクです。

FYI、4294967294は、32ビット符号付き整数として扱われる場合、-2です。-1または-2は、nobody UIDおよびnogroup GIDのさまざまなLinuxディストリビューションで使用されます(passwdファイルでは、通常、最高16ビットの符号なし番号65535が使用されます)。


回答ありがとう、デビッド。投稿ごとに、私はno_root_squash有効にしました。idmapd.confファイルに関する詳細情報はありますか?
jberryman

3

/ etc / default / nfs-commonファイルを変更する必要があります(サーバーとクライアントの両方で):に設定NEED_IDMAPDyesます。

少なくともこれは私にとって助けになりました。


2

私たちは、NFSオプションを使用しているanonuidanongid、サーバーが匿名で作成されたファイルに使用するユーザー/グループIDを設定します。これらが設定されていない場合、「nobody」および「nogroup」が使用されます。これは、OSのバージョンとディストリビューションによって異なる場合があります。だから

/websites 10.0.0.0/8 
    (fsid=0,no_subtree_check,rw,no_root_squash,anonuid=1001,anongid=1001)
                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^

トリックの可能性があります(1001はサーバーで有効で使用可能なUID / GIDです)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.