誰かがこの問題を解決するのに役立つことを願っています。
問題があります。 3つのサブディレクトリを持つインストールディレクトリがあります。問題なく2つのサブディレクトリに入ることができますが、3番目のサブディレクトリはルートであるにもかかわらず、「Permission Denied」を提供します。
所有者としてログインすると、CDインが可能になり、なぜルートがディレクトリにアクセスできないのかがわかります。 UIDとGIDは、NFSサーバーとマウントサーバーで同じです。
ディレクトリを再インストールしてみましたが、問題は解決しません。
答え1
Linux NFS では、root_squash
サーバー側のオプションは現在デフォルトで有効になっています。これは、サーバーがルートuidを別の項目(通常はnobody
。no_root_squash
サーバーのルートではない場合、この動作は機能でありバグではありません :-)
答え2
ルートに予期された権限が付与されている場合、NFSは非常に安全ではありません。
したがって、ルートを持つ人は通常、ファイルにアクセスする別の方法(たとえば、rawデバイスを読み取る)を持っているため、ルートはローカル権限のみをオーバーライドできます。
デフォルトでは、NFSを介してルートにマップされますnobody
。 NFSv3 の無人ユーザー ID は 60001、NFS2 のユーザー ID は 65534 です。
root=thishost
信頼できるホストの場合は、NFSエクスポートオプションを設定してルートアクセスを有効にする方法があります。コロンで区切って、より多くのホストを接続できます。
NFSv4では、NFSv4はユーザーIDではなくユーザー名に基づいてアクセスを提供するため、状況は異なります。したがって、正しいユーザーIDを持つユーザーであっても、ユーザーマッピングが存在しない場合、またはサーバーとクライアントが同じネットワークネーミングサービスドメインを使用していない場合、アクセスできません。