寻找一种只有在 minon 安装了 seLinux 时才强制执行状态的方法

问题描述 投票:0回答:1

我有安装自定义

seLinux
模块的代码。在我的小黄人舰队中,有基于
Fedora
的系统(安装了
seLinux
)和基于
Debian
的系统(没有
seLinux
)。对于后者,不应使用模块/安装状态,因此我正在寻找一种方法来检索问题“
seLinux
是否安装在该系统上?”的简洁答案。 (NOT
seLinux
在此系统上强制执行吗?”)在相应的
jinja2
if
子句中使用。

让我绝望的尝试是:

  • salt
    中似乎没有状态查询给定的二进制文件是否在
    $PATH
    上 - 检查
    sestatus
    就是我在这里所追求的。
  • salt.states.selinux
    在没有
    seLinux
    的系统上不可用,因此它的功能没有帮助。
  • 我也找不到任何
    salt
    功能来查询
    salt.states.selinux
    (见上文)之类的本地可用性。
  • 类似的东西
    - unless: - rpm -q libselinux
    
    (来自 stackoverflow.com/a/31748984/2103880)也不起作用,因为 rpm 是 Fedora 特定的...
  • 检查 /etc/selinux 是否缺失也不是一个选项,因为 Debian 系统实际上有这样的功能。

任何有关如何进行此操作的提示都值得赞赏。

salt-stack selinux
1个回答
0
投票

按照this提示,我最终做了:

{% if salt['pkg.version']('libselinux') %}
...
{% endif %}
© www.soinside.com 2019 - 2024. All rights reserved.