Bash 检查SeLinux状态

Bash 检查SeLinux状态,bash,centos7,Bash,Centos7,我想使用以下代码检查SeLinux的状态,例如强制、允许、禁用。如果状态为“其他”然后为“已禁用”,则我将建议用户禁用Selinux 我正在一个.sh文件中运行以下内容。SeLinux的当前状态是允许的。运行以下代码将在else子句中结束 #! /bin/bash SELINUXSTATUS=getenforce; if [ "$SELINUXSTATUS" == "Permissive" ]; then echo "Disable SeLinux"; else echo "

我想使用以下代码检查SeLinux的状态,例如强制、允许、禁用。如果状态为“其他”然后为“已禁用”,则我将建议用户禁用Selinux

我正在一个.sh文件中运行以下内容。SeLinux的当前状态是允许的。运行以下代码将在else子句中结束

#! /bin/bash

SELINUXSTATUS=getenforce;

if [ "$SELINUXSTATUS" == "Permissive" ]; then
    echo "Disable SeLinux";
else
    echo "All Good. Continue...";
fi;
试一试


当前,您的脚本只需将
selinux状态设置为文本字符串
getenforce
$(command)
bash
中的魔法,它运行命令并捕获其输出。

您必须使用
SELINUXSTATUS=$(getenforce)
。 现在,变量SELINUXSTATUS只是字符串“getenforce”。

正如@Jon所说:

    SELINUXSTATUS=$(getenforce)
运行
getenforce
commandf,捕获其输出并将变量设置为该值。或者

    SELINUXSTATUS=`getenforce`
做同样的事情。(请注意,这些是反引号…不是常规单引号。)


但是请注意,
getenforce
有三种可能的结果;i、 e.
禁用
允许
强制执行

哇,谢谢你,伙计。我将在几分钟内把这标记为一个答案。
    SELINUXSTATUS=`getenforce`