これだけではなんですので、
Fedora 9 では、デフォルトで SELinux が有効 (Enforcing, Targeted policy)
なのですが、この状態で Solaris をインストールしようとすると、
色々とはまりました ;-)
という訳で、その(SELinux の設定に関する)備忘録です。
・ISOイメージが読めない。
適当なディレクトリに Solaris の ISO イメージ(sol-10-u5-ga-x86-dvd.iso)
を置くと、次のようなエラーを出してインストールできません:
qemu: could not open disk image /home/tesigana/images/sol-10-u5-ga-x86-dvd.iso
setroubleshoot からは、qemu が属するドメインから user_home_t タイプ
のファイルを読み書きす権限がないためらしいです。
これは、タイプ名を変更することで回避できました:
% chcon -Rv -t virt_image_t /home/tesigana/images
"virt_image_t" というタイプ名は、次の結果から得ました:
% ls -dZ /var/lib/libvirt/images
drwx------ root root system_u:object_r:virt_image_t:s0 /var/lib/libvirt/images
・ディスクにアクセスできない。
ファイルにでなく、ディスクパーティション(/dev/sda4) に Solaris を
インストールしようとしたら、ディスクにアクセスできない旨のエラーが出て
インストールできませんでした(エラーメッセージを記録するのを忘れた...)。
setroubleshoot からは、qemu が属するドメインから fixed_disk_device_t
タイプにはアクセスできないためらしいです。/dev/sda4 を chcon でタイプを
変更しようとしてもできませんでしたので、[参考文献]を参考に、qemu が
/dev/sda4 を読み書き出きるよう設定しました:
% audit2allow -m local -l -i /var/log/audit/audit.log > local.te
local.te を添付のように書き換えて("read" の後に "write" を付け加えた
だけ)、次のコマンドを実行します:
% checkmodule -M -m local.te -o local.mod
% semodule_package -o local.pp -m local.mod
% semodule -i local.pp
参考文献:
・"Q: I have some avc denials that I would like to allow, how do I do this?"
<http://docs.fedoraproject.org/selinux-faq-fc5/#id2961385>
-------local.te-----------------------
module local 1.0;
require {
type fixed_disk_device_t;
type qemu_t;
class blk_file { read write getattr };
}
#============= qemu_t ==============
allow qemu_t fixed_disk_device_t:blk_file { read write getattr };
--------------------------------------