如何让 Wine 与 SELinux 一起工作?

如何让 Wine 与 SELinux 一起工作?

我想.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_ignore1

$ sudo setsebool -P wine_mmap_zero_ignore 1

答案2

要启用 SELinux 的新模式,您应该重新启动操作系统,但在通过配置文件将 SELinux 策略更改为宽松或永久禁用之前。

相关内容