最近、ホームサーバー設定をすべてを実行するデフォルトのUbuntuサーバーインストールから仮想化環境に変更しました。私は現在、ProxMox Type 1ハイパーバイザーと複数の仮想マシンを実行しています。私のサービスのほとんどはLinuxコンテナ(LXC)で動作し、一部のサービスには共有データセットへのアクセスが必要です。共有データセットへのアクセスを提供するために、データHDDをVMに渡してからNFSエクスポートを設定します。その後、LXC は NFS 共有をマウントします。ただし、他のサービスでユーザー権限エラーが頻繁に発生します。すべてを777`に設定せずに、複数のLXCに対するこれらの権限をどのように簡単に管理できますか?
修正する
エクスポートの例:
/mnt/data/www 192.168.0.0/24(rw,async,no_root_squash,no_subtree_check,insecure)
fstabにマウントする例:
192.168.0.254:/mnt/data/www /mnt/www nfs auto,x-systemd.automount,soft,rsize=16384,wsize=16384,timeo=14,intr 0 0
これらのエラーは、1つのLXCがユーザーwww-dataの下にファイルを生成できる可能性がありますが、他のLXCは、このファイルがMySQL所有としてマークされ、そのファイルにアクセスできないため、権限拒否の形で発生します。これはUIDの不一致が原因であることを知っていますが、そうではありません。この問題を解決する方法がわかりません。
答え1
NFS v4を使用している場合は、UIDをマッピングできます。それ以外の場合は、ユーザーとグループIDがすべての仮想マシンで一貫していることを確認する必要があります。
答え2
ある種のNFS UIDマッピングが必要です。簡単な例は、NISを使用するか、LDAPなどのより近代的なものを使用することです。これにより、ユーザーIDは信頼できるソースから取得され、NFSはノード間の権限を正しくマッピングします。すべてのノードは同じ認証ドメインのメンバーである必要があります。