1

あるサーバーから別の (クライアント) サーバーへの NFS 共有を作成し、フォルダー (/home/user/public_html/examplefolder としましょう) を 2 番目の (クライアント) サーバーに正常にマウントしました。

2 番目の (クライアント) サーバーで FTP アカウントにログインし、マウントされた NFS の場所 (/home/user/public_html/examplefolder) にフォルダー/ファイルを書き込もうとしていますが、アクセス許可拒否エラーが発生します。

rootとしてクライアントサーバーにsshすると、NFSマウントされた場所に書き込むためのフルアクセス権があるため、ユーザー許可タイプのエラーである必要があることがわかります.

両方のサーバーで CentOS 5 を実行しています。

4

2 に答える 2

1

に遭遇しているとは思いませんroot squashが、説明にあるすべてのクライアントとサーバーを追跡するのに問題があるため、ここに の簡単な要約をroot squash示します。

NFS は、クライアント上でroot squash実行されているプロセスrootがサーバー上で特別な特権を取得しないようにするためのオプションを提供します。したがって、サーバーは、サーバー上のユーザーへのすべてのクライアントrootアクセスを「押しつぶします」 nobody。(これが、プログラムをas として実行してはならない理由nobodyです。ユーザー ID には既に特定の用途があり、関連のないいくつかの目的で使用するべきではありません。)

もう 1 つの可能性は、FTP サーバーがAppArmorSElinuxTOMOYOSMACKなどのツールで制限されていることです。これらの必須のアクセス制御ツールはいずれも、アプリケーションが特定の場所に書き込むのを防ぐことができ、サイト用にまだ構成されていない可能性があります。出力をチェックdmesg(1)して、拒否メッセージがあるかどうかを確認します。これらのツールのほとんどまたはすべては、実行されていないdmesg(1)場合にログに記録しますauditd(8)

また、ftp サーバーが書き込みを拒否するように構成されている可能性があります。エラー メッセージの送信元を特定することはAccess Denied重要です。strace -o /tmp/ftp.out -f $(pidof ftpd)すべてのシステム呼び出しと結果をファイルに記録することができます(またはプロセス名が何であれ) 。これにより、呼び出しがオペレーティング システムまたはプログラムによって拒否されている/tmp/ftp.outかどうかを確認する機会が得られます。open(2)

于 2011-03-16T00:53:07.703 に答える
1

クライアントサーバー上のユーザーとグループを元のサーバーと一致させるために、ユーザーとグループの完全な変更を行うことになりました。

于 2011-03-18T03:28:51.590 に答える