我如何创建一个 bash 脚本来提示用户检查他们的机器上是否启用了 SE Linux,如果是,则请求他们执行脚本来禁用它?
纠正已接受的答案。
a) 使用下面的“getenforce”来编写脚本
SELINUX_STATE=$(getenforce)
if [ "$SELINUX_STATE" == "Enforcing" ]; then
echo "SELinux is enabled"
elif [ "$SELINUX_STATE" == "Permissive" ]; then
echo "SELinux is permissive"
else
echo "SELinux is disabled (or missing)"
fi
b)
setenforce 0
将 selinux 设置为许可模式——这与禁用模式不同。禁用的唯一方法是编辑配置并重新启动。
sudo sed -c -i "s/\SELINUX=.*/SELINUX=disabled/" /etc/sysconfig/selinux
sudo restart
ENABLED=`cat /selinux/enforce`
if [ "$ENABLED" == 1 ]; then
echo "SELinux is enabled, disable? (yes/no):"
read disable
if [ $disable == "yes" ]; then
echo "disabling selinux"
setenforce 0
fi
fi
此脚本应以 root 身份运行,或具有执行以下操作的权限:
cat /selinux/enforce
setenforce 0