に遭遇しているとは思いませんroot squash
が、説明にあるすべてのクライアントとサーバーを追跡するのに問題があるため、ここに の簡単な要約をroot squash
示します。
NFS は、クライアント上でroot squash
実行されているプロセスroot
がサーバー上で特別な特権を取得しないようにするためのオプションを提供します。したがって、サーバーは、サーバー上のユーザーへのすべてのクライアントroot
アクセスを「押しつぶします」 nobody
。(これが、プログラムをas として実行してはならない理由nobody
です。ユーザー ID には既に特定の用途があり、関連のないいくつかの目的で使用するべきではありません。)
もう 1 つの可能性は、FTP サーバーがAppArmor、SElinux、TOMOYO、SMACKなどのツールで制限されていることです。これらの必須のアクセス制御ツールはいずれも、アプリケーションが特定の場所に書き込むのを防ぐことができ、サイト用にまだ構成されていない可能性があります。出力をチェックdmesg(1)
して、拒否メッセージがあるかどうかを確認します。これらのツールのほとんどまたはすべては、実行されていないdmesg(1)
場合にログに記録しますauditd(8)
。
また、ftp サーバーが書き込みを拒否するように構成されている可能性があります。エラー メッセージの送信元を特定することはAccess Denied
重要です。strace -o /tmp/ftp.out -f $(pidof ftpd)
すべてのシステム呼び出しと結果をファイルに記録することができます(またはプロセス名が何であれ) 。これにより、呼び出しがオペレーティング システムまたはプログラムによって拒否されている/tmp/ftp.out
かどうかを確認する機会が得られます。open(2)