
Debian 7を実行してNFSv3共有をエクスポートするサーバーと、Centos 5を実行してアクセスするクライアントがあります。これは、基本ではなくグループに基づく権限に関連する問題の1つを除いて、うまく機能します。
サーバーに770権限を持つディレクトリを作成すると、ディレクトリ所有者と同じグループに属するクライアントユーザーは、そのグループがユーザーの既定のグループではない場合でもディレクトリにアクセスできません。
ここで何が間違っているのか知っていますか?ディレクトリがユーザーのプライマリグループに属している場合は正常に機能しますが、セカンダリグループに属すると正しく機能しません。
答え1
問題は、--manage-gids
Debianでデフォルトで有効になっているオプションと関連がある可能性があります(参考文献を参照)。rpc.mountd
/etc/default/nfs-kernel-server
マニュアルページから:
-g または --manage-gids
カーネルからの要求を受け入れ、アクセス制御のためにユーザーID番号をグループID番号リストにマップします。 NFS要求には通常、Kerberosまたは他の暗号化された認証を使用しない限り、ユーザーIDとグループIDのリストが含まれます。 NFSプロトコルの制限により、最大16のグループIDを一覧表示できます。-gフラグを使用すると、クライアントから受信したグループIDのリストは、サーバー上の適切な照会によって決定されたグループIDのリストに置き換えられます。。 「デフォルト」グループIDは影響を受けないため、クライアントのnewgroupコマンドは引き続き機能します。この機能を使用するには、Linuxカーネルバージョン2.6.21以降が必要です。
したがって、「16グループ」の制限に達していない場合は、サーバーでこのオプションを無効にしてみてください。
答え2
私の問題は、NFSサーバーにグループ(「www-data」)がありませんが、ファイルがuser:www-dataとして表示されることです。そのため、クライアントと同じIDでグループを作成して再公開しました。
chown -R user:www-data
これで問題は消えます。