显示 SELinux 模式
我们可以使用 sestatus 命令来显示 SELinux 模式以及有关 SELinux 的一些添加信息。
# sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: enforcing Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Max kernel policy version: 28
我们可以使用 getenforce 命令来显示 SELinux 模式。
此命令显示当前模式:“Enforcing”、“Permissive”或者“Disabled”。
例如:
# getenforce Enforcing
Booleans值
SELinux 还提供“Booleans”,允许在运行时更改 SELinux 策略的一部分,而无需重新加载或者重新编译 SELinux 策略。
我们可以通过运行以下命令来显示布尔值列表、状态信息和布尔值描述:
# semanage boolean -l SELinux boolean State Default Description privoxy_connect_any (on , on) Allow privoxy to connect any smartmon_3ware (off , off) Allow smartmon to 3ware mpd_enable_homedirs (off , off) Allow mpd to enable homedirs xdm_sysadm_login (off , off) Allow xdm to sysadm login ....
我们可以使用 setebool 命令将特定Booleans值的状态更改为打开或者关闭。
例如,要打开 ftp_home_dir 布尔值:
# setsebool ftpd_use_nfs on
使用getsebool 命令显示特定Booleans的状态。
例子:
# getsebool ftpd_use_nfs ftpd_use_nfs --> on
更改 SELinux 模式
大多数情况下,我们会看到人们将“强制”模式更改为“许可”以解决与文件/进程权限相关的问题。
这不是应用的最佳实践,但它是在 Linux 中解决问题的最广泛使用和最快捷的方法之一。
我们可以使用 setenforce 命令将模式更改为“强制 (1)”或者“许可 (0)”。
例如:
# setenforce 0 # getenforce Permissive
SELinux 代表“安全增强型 Linux”。
标准 Linux 安全性基于自由访问控制 (DAC)。
使用 DAC,对文件和设备的访问完全基于用户身份和所有权。
每个文件都可以具有文件所有者、组和其他用户的读取、写入和执行权限。
SELinux 由美国国家安全局创建,旨在对系统中的文件、进程、用户和应用程序提供更细粒度的控制。
它是对 Linux 内核的增强,它实现了一种称为强制访问控制 (MAC) 的不同类型的安全性。
MAC 策略是集中管理,而不是由用户管理。
SELinux 以三种模式之一运行:
- Enforcing:除非 SELinux 安全策略规则允许,否则拒绝用户和程序访问。
- Permissive :不强制执行安全策略规则,但 SELinux 将拒绝消息发送到日志文件。
- Disabled :SELinux 不强制执行安全策略,因为内核中没有加载任何策略。只有 DAC 规则用于访问控制。