KVMゲストは、非ルートが所有する9p共有に書き込むことができません


14

KVMゲストの9p共有への完全な書き込みアクセスをセットアップすることを目指しています。ホストとゲストの両方に、同じIDを持つ同じユーザー/グループがあります。ホストとゲストの両方が同じユーザー名を使用して共有に書き込むことができるはずであり、ファイルがホストによって書き込まれたかゲストによって書き込まれたかを区別したくありません。Iセット- KVMプロセスがrootとして実行されているusergroupするroot/etc/libvirt/qemu.confインチ

ホスト上のゲスト定義では、共有は次のように定義されます。

<filesystem type='mount' accessmode='passthrough'>
  <source dir='/mnt/storage/data'/>
  <target dir='data'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</filesystem>

ゲストでは、共有は次のようにマウントされます。

mount -t 9p -o rw,trans=virtio,version=9p2000.L,msize=262144 data /mnt/data

問題は、ゲストのrootユーザーが、ホストの非rootユーザーが所有するファイル/フォルダーに書き込めないことです。さらに奇妙なことに、ゲストのルートはそのようなファイルの名前を変更して削除できます。つまり、ホストマシン上で非ルートユーザーとしてファイルを作成すると、ファイルの名前を変更して削除することはできますが、ゲストのルートとして編集することはできません。

また、ルート以外のユーザーの下でホスト上に作成されたフォルダーのアクセス許可が777に設定されている場合、ゲストのルートが書き込み(つまり、ファイルを作成)できることもわかりました。ただし、これはファイルには適用されません。許可に関係なくファイルを編集することはできません。

ホストとゲストの両方がLinuxサーバー3.2.0-4-amd64#1 SMP Debian 3.2.51-1 x86_64 GNU / Linuxを実行しています。Debianでは、SELinuxはデフォルトで無効になっていますが、有効にしませんでした。利用可能な3つの9pアクセスモード(passthroughmappedおよびsquash)をすべて試してみましたが、違いはありません。

私はそれを機能させるために微調整できるものがあるかどうか疑問に思っていますか、それとも単なるバグですか?

ここでも同様の問題が報告されていることに注意してください:libvirt / qemuを使用したパススルー(9p)ファイルシステムの読み取り/書き込みアクセス?しかし、その場合とは異なり、rootが所有するファイルに対して100%の書き込みアクセス権があります。これは、ゲストのrootであっても書き込むことができない非rootユーザーファイルです。


2
ただ情報を得るために、私はこれが正しく機能することを一度も得たことがなく、これらすべての同じ問題に遭遇しました。その結果、p9ファイルシステムパススルーの実装は、最近のqemu / libvirtバージョンで非推奨になりました。
スプーラー

2
こちらも同様。赤い帽子は9pがプライムタイムの準備ができていないと考えているようです。
ダイアゴン

回答:


0

共有ディレクトリ上のACLなどのファイルシステムの追加属性を確認できますか?許可の問題を疑っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.