サーバーとは異なる uid:s を使用するクライアントの NFS (クライアント uid:s はサーバー上にはありません)

サーバーとは異なる uid:s を使用するクライアントの NFS (クライアント uid:s はサーバー上にはありません)

NFS経由でマウントされたルートファイルシステムを含む組み込みLinuxデバイスに問題があります。

ただし、さまざまな理由で、組み込みデバイスはルートとして実行されるシングルユーザーデバイスです(後でネットワーク接続もありません)。

コンピュータでは、通常のユーザーにすべてのファイルを所有させ、常にrootではないか、sudoを使用せずにファイルを変更できるようにします。

ただし、クライアントがnfsマウントに新しいファイルを作成すると、ユーザーIDがrootに設定され、サーバーに問題が発生します。

だから私の質問は、この問題を解決するために/ etc / exportにフラグを設定できることです。これにより、クライアントがファイルを生成するときにサーバーのuidはrootではなく、ユーザーのuid(500または1000)になります。

これはサーバーの現在の/ etc / exportです。

/opt/eldk/armVFP  *(rw,sync,no_root_squash)

答え1

これ最も単純なこの問題に対する解決策は、サーバー共有に対する権限をグローバルに書き込むように設定することです(0777)。クライアント(組み込みデバイス)でユーザーのumaskを0000に設定します。このno_root_squashオプションも削除してください。欲しいroot_squash 存在する。これにより、ルートがnobodyユーザーに切り替わります。その後、サーバーシステムのすべてのユーザーとして、共有に作成されたすべてのファイルを読み書きできます。

警告する
私が説明したのは非常に安全ではない構成なので、閉鎖されたプライベートネットワーク以外の場所ではこれを行わないことをお勧めします。

関連情報