解決策 1:
NFS は RPC 認証の上に構築されています。 NFS バージョン 3 では、最も一般的な認証メカニズムは AUTH_UNIX です。クライアント システムのユーザー ID とグループ ID が各 RPC 呼び出しで送信され、アクセス中のファイルに対してこれらの ID が持つアクセス許可がサーバーでチェックされます。これが機能するには、UID と GID がサーバーとクライアントで同じである必要があります。ただし、all_squash、anonuid、および anongid エクスポート オプションを組み合わせることで、すべてのアクセスを単一のユーザーおよびグループとして強制的に発生させることができます。 all_squash すべての UID と GID を匿名ユーザーにマップし、anonuid と anongid 匿名ユーザーの UID と GID を設定します。たとえば、開発サーバーの UID と GID が両方とも 1001 の場合、次のような行でホーム ディレクトリをエクスポートできます
/home/darren 192.168.1.1/24(rw,all_squash,anonuid=1001,anongid=1001)
NFS バージョン 4 にはあまり詳しくありませんが、クライアントで rpc.idmapd をセットアップして、クライアントがサーバーに送信する uid と gid を変更できると思います。
解決策 2:
NFS をマウントするときは、マウントするパーミッションがサーバー上にあるパーミッションと一致している必要があります。たとえば、ユーザーが読み取り専用アクセスしか持っていない場合、読み取り/書き込みでマウントすると、マウントを実際にロードしようとすると、投稿で言及したのと同じエラーが表示されます。残念ながら、これは実際にマウントしたときではなく、フォルダーにアクセスしたときにのみ表示されます。
また、ユーザー NFS がサーバー上で実行されており、クライアント上のユーザーが同じ UID と GID を使用していることも確認する必要があります。 id darren
を実行すると、これらの値を確認できます。 サーバーとクライアントの両方で。 UID と GID の値が一致しない場合は、/etc/passwd
を編集できます。 そうするために必要ですが、勝手に値を変更する前に、自分が何をしているのかを理解しておく必要があります!
良い情報源:
- http://nfs.sourceforge.net/nfs-howto/ar01s07.html#pemission_issues
- http://support.apple.com/kb/TA22243
これがお役に立てば幸いです!
解決策 3:
UID と GID は両方のサーバーで一致していますか?これは、ログイン名やグループ名ではなく、アクセスを制御するために使用しているものです。