異なるサーバーとNFSフォルダ間でユーザー権限を共有する方法は?

異なるサーバーとNFSフォルダ間でユーザー権限を共有する方法は?

Ubuntu 20を実行している3つの異なるサーバーがあります。そのうちの1つはNFSホストで構成され、残りの2つはクライアントで構成されています。クライアントはNFS共有フォルダをマウントしてそのフォルダに書き込むことができますsudo touch foo.txt

クライアントサーバーには、ウェブサイトをミラーリングするwgetプロセスがあります。 2つのクライアントサーバーにwgetからフォルダにファイルを出力させたいと思います/nfs/shared。両方のサーバーで、プロセスは次のように実行されますwww-data user wget (...) -o /nfs/shared

そのため、どのサーバーもこのフォルダに書き込めませんpermission denied。ここで他の質問を読むと、UUID権限マスクが正しく機能するためには、私のユーザーに同じ権限が必要になるようです。

私の質問:

  • nすべてのユーザーが書くことができるように、サーバー上の一般ユーザーのリストをどのように維持しますか/nfs/shared

答え1

これを行うにはいくつかの方法がありますが、最も一般的な方法は次のとおりです。

  • 手動でuidを変更し、/または/etc/{passwd|shadow|group}をコピーする - 推奨しない - 何をしているのかを知っていても難しいかもしれません
  • すべてのホストで共通のGIDを使用してグループを作成し、そのグループの権限を設定します(これは解決策ですが、uidを同期するよりもはるかに面倒です)。
  • NIS / NIS + / Yellow Pages - 最初のアプローチへの統合/自動化されたアプローチ。これは次第に過去の仕事になっています。ツールは引き続き使用できますが、ドキュメントにはいくつかの問題が予想されます。
  • LDAP - 設定するPITAですが、一度正しく設定すると簡単に起動できます。

状況やリポジトリが他の目的に使用される方法に応じて、SMBを使用するとこの問題を回避できます。

関連情報