我想.msi
在 Fedora 17 上运行一个文件。在我的 Linux 机器上安装 Wine Windows Program Loader 后,无法运行该文件。检查/var/log/messages
显示以下行:
1 月 11 日 17:32:26 某些内核:[15554.188474] type=1400 audit(1357983146.108:13): avc: 拒绝 pid=4779 的 { mmap_zero } comm="wine-preloader" scontext=unconfined_u:unconfined_r:wine_t:s0-s0:c0.c1023 tcontext=unconfined_u:unconfined_r:wine_t:s0-s0:c0.c1023 tclass=memprotect
在线论坛建议使用以下方式切换开关:
setsebool -P mmap_low_allowed 1
我这样做了,但它给了我一个错误:
libsepol.scope_copy_callback:entropyd:模块中的重复声明:类型/属性 entropyd_var_run_t (没有这样的文件或目录)。 libsemanage.semanage_link_sandbox:链接包失败(没有这样的文件或目录)。无法更改策略布尔值
接下来,我尝试使用以下命令将 SELinux 设置为宽松模式:
setenforce 0
在检查 SELinux 处于宽容模式后,我尝试再次运行该文件,但无济于事。什么可能导致这个问题?我该如何解决它?
答案1
使用命令将布尔值设置wine_mmap_zero_ignore
为1
$ sudo setsebool -P wine_mmap_zero_ignore 1
答案2
要启用 SELinux 的新模式,您应该重新启动操作系统,但在通过配置文件将 SELinux 策略更改为宽松或永久禁用之前。