如何解决SELinux阻止虚拟机访问文件?
作者:网络转载 发布时间:[ 2013/4/24 10:33:03 ] 推荐标签:
我用的是Fedora 17和KVM,虚拟机运行得很好。我尝试访问主机系统上的一个文件,但SELinux阻止虚拟化访问除了/var/lib/libvirt/images里的其他文件。当在共享路径上宿主的虚拟机运行时,主机给出以下信息:SELinux is preventing /usr/bin/qemu-kvm from read access on the directory share。
这时我该怎么办?我虚拟机的目的是在多个Linux版本上测试二进制,所以共享路径是简单的。有办法让/tmp/共享让每个人都可用吗?
Sander van Vugt:除了/var/lib/libvirt/images,你无法在路径中共享虚拟机的原因在于SELinux。SELinux为系统添加了额外保护。通过在目录上使用标签,将目录设置为专有用途。存储镜像文件的佳方式是通过在目录上设置合适的类型标签。你这样的情形,运行下面两个命令即可(请确保在根shell下执行):
semanage --t --a virt_image_t /tmp/share(/.*) ?
restorecon --R --v /tmp/share
如果还不行,可完全禁用SELinux。可通过将下面这行添加都文件/etc/sysconfig/selinux中:
SELINUX=disabled
如果没时间重启计算机,可使用setenforce 0暂时禁用SELinux,当不要忘记更改上面的配置文件,否则在你重启时又会自动开启SELinux。
接下来,你说想要每个人都能访问/tmp/share的内容。简单的方式是创建NFS共享,请确保文件/etc/exports包含以下行:
/tmp/share *(rw,no_root_squash)
然后,使用命令service nfs启动NFS服务器。对于其他计算机,现在可加载NFS共享,使用下面命令即可:
mount --t nfs your.fedora.computer:/tmp/share/mnt
大功告成,访问/mnt目录即可访问NFS共享的内容,也可从这访问镜像文件。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11