本文将在CentOS 8操作系统中检查SELinux模式、将SELinux模式更改为Permissive、及禁用SELinux。同时,只有root用户或具有sudo特权的用户才能更改SELinux模式。
前言 安全性增强的Linux或SELinux是内置在基于RHEL的发行版使用的Linux内核中的安全性机制,SELinux通过允许管理员和用户基于策略规则控制对对象的访问,为系统增加了一层安全保护。SELinux策略规则指定进程和用户如何相互交互以及进程和用户如何与文件交互,如果没有明确允许访问对象的规则(例如打开文件的进程),则拒绝访问。 SELinux具有三种操作模式: 1、Enforcing:SELinux允许根据SELinux策略规则进行访问。 2、Permissive:SELinux仅记录在强制模式下运行将被拒绝的操作,此模式对于调试和创建新的策略规则很有用。 3、Disabled:未加载SELinux策略,并且不记录任何消息。 默认情况下,在CentOS 8操作系统中,启用了SELinux并处于强制模式(enforcing mode),强烈建议将SELinux保持为强制模式,但是,有时它可能会干扰某些应用程序的功能,因此你需要将其设置为许可模式(permissive mode)或完全禁用它(disable)。
检查SELinux模式 使用sestatus命令检查SELinux的运行状态和模式: $ sestatus
解释如下: SELinux状态:已启用 SELinuxfs挂载:/sys/fs/selinux SELinux根目录:/etc/selinux 加载的策略名称:目标 当前模式:强制(enforcing) 配置文件中的模式:强制 策略MLS状态:已启用 策略deny_unknown状态:允许 内存保护检查:实际(安全) 最大内核策略版本:31 注:上面的输出显示SELinux已启用并将其设置为强制模式(enforcing mode)。
将SELinux模式更改为Permissive 启用后,SELinux可以处于强制模式或许可模式,你可以使用以下命令将模式从目标临时更改为Permissive: $ sudo setenforce 0 但是,此更改仅对当前运行时会话有效,并且不会在两次重新引导之间持续存在。 要将SELinux模式永久设置为许可,请执行以下步骤: 1、打开/etc/selinux/config文件,并将SELINUX mod设置为permissive,如下:
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=permissive # SELINUXTYPE= can take one of these three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted 2、保存文件并运行setenforce 0命令以更改当前会话的SELinux模式: $ sudo shutdown -r now
禁用SELinux(Disabling SELinux) 强烈建议不要禁用SELinux,而应将模式更改为permissive模式,仅在需要使应用程序正常运行时才禁用SELinux。 执行以下步骤永久禁用CentOS 8系统上的SELinux: 1、打开/etc/selinux/config文件,并将SELINUX值更改为Disabled:
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted 2、保存文件并重新启动系统: $ sudo shutdown -r now 3、引导系统后,使用sestatus命令来验证SELinux已被禁用: $ sestatus 输出应如下所示: SELinux status: disabled
结论 SELinux是一种通过实施强制访问控制(MAC)来保护系统安全的机制,SELinux在CentOS 8系统上默认为启用,但是可以通过编辑配置文件并重新引导系统来禁用SELinux。
相关主题 |