SELinux(Security-Enhanced Linux)是一个强制访问控制(MAC)机制,用于对 Linux 操作系统进行更加细粒度的访问控制,可防范许多攻击方式。
但在某些情况下,SELinux 可能会对系统运维和软件开发造成一些麻烦。
因此,在某些情况下,需要关闭或开启SELinux。
本文将详细介绍如何在 Linux 系统中开启或关闭SELinux。
什么是 SELinux?
SELinux 是一个强制访问控制机制,它在 Linux 内核中实现。相较于其他访问控制机制,如传统的 UNIX 文件权限和 Linux 访问控制列表(ACL),SELinux 能够提供更细粒度的访问控制。
在 SELinux 中,每个进程和对象都有一个安全上下文。该上下文包含了一些标签(例如,用户、角色和类型),用于表示该进程或对象的安全级别。在访问控制中,SELinux 使用了一个策略管理器,它会在访问请求到达时检查该请求是否符合策略要求,并在满足要求时批准该请求。
如何开启 SELinux
SELinux 通常在 Linux 中默认开启。若要检查 SELinux 的状态,可以使用以下命令:
$ getenforce
该命令会输出
Enforcing
、
Permissive
或
Disabled
中的一项,表示 SELinux 当前的状态。其中:
-
Enforcing
:SELinux 已经开启,并强制执行策略。 -
Permissive
:SELinux 已经开启,但不强制执行策略,只是记录违规行为。 -
Disabled
:SELinux 已经关闭。
若要开启 SELinux,需要编辑
/etc/selinux/config
文件,将
SELINUX
的值改为
enforcing
,并重启系统:
$ vi /etc/selinux/config SELINUX=enforcing$ reboot
如何关闭 SELinux
若要关闭 SELinux,可以使用以下命令:
$ setenforce 0
该命令会将 SELinux 的状态切换为
Permissive
,表示 SELinux 不强制执行策略,但会记录违规行为。如果要关闭 SELinux,则需要编辑
/etc/selinux/config
文件,将
SELINUX
的值改为
disabled
,并重启系统:
$ vi /etc/selinux/config SELINUX=disabled$ reboot
总结
本文介绍了在 Linux 系统中开启或关闭 SELinux 的方法。