Libvirt VMが起動するたびに、そのAppArmorプロファイルが削除されます。

Libvirt VMが起動するたびに、そのAppArmorプロファイルが削除されます。

Libvirt仮想マシンを作成すると

virsh create

/etc/apparmor.d/libvirt/libvirt-142341234-234123-4124-123-4234そして/etc/apparmor.d/libvirt/libvirt-142341234-234123-4124-123-4234.files作成されます。その後、VM を保存して再起動すると、編集を加えた場合でも、起動のたびにそれらのファイルが削除されます。

Ubuntu 上の Libvirt マシンの AppArmor プロファイルを変更する適切な方法は何ですか?

答え1

まず、マイケルの言う通り、これらのファイルは生成されたものであり、編集することを意図したものではありません。

カスタムルールを追加するには、現時点では(すべてのゲストに対して)一般的に許可する必要があります。そのためには、パッケージによって配信されるconffileを編集する必要があります。

/etc/apparmor.d/abstractions/libvirt-qemu

新しいバージョン (>=18.10) では、アップグレード時に conffile に関する質問を回避するためにローカル オーバーライドが定義されています。

/etc/apparmor.d/local/abstractions/libvirt-qemu

ゲストごとのオーバーライドを提供したいのですが、AppArmorがオプションのインクルードファイルを完全にサポートするまでしばらく待っています。それが実現したら、次のサイトで確認できます。バグ 1745114

答え2

私の場合、ISOイメージはマウントされたストレージにあったので、解決策は

sudo nano /etc/apparmor.d/local/usr.lib.libvirt.virt-aa-helper

次のエントリを追加できます:

/media/DATA/Downloads/Distros/** r, 
/{media,mnt,opt,srv}/** r

ドキュメンテーション

関連情報