显示 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
更多: zhilu jiaocheng

更改 SELinux 模式

大多数情况下,我们会看到人们将“强制”模式更改为“许可”以解决与文件/进程权限相关的问题。
这不是应用的最佳实践,但它是在 Linux 中解决问题的最广泛使用和最快捷的方法之一。
我们可以使用 setenforce 命令将模式更改为“强制 (1)”或者“许可 (0)”。
例如:

# setenforce 0 
# getenforce 
Permissive
Linux SELinux

SELinux 代表“安全增强型 Linux”。
标准 Linux 安全性基于自由访问控制 (DAC)。
使用 DAC,对文件和设备的访问完全基于用户身份和所有权。
每个文件都可以具有文件所有者、组和其他用户的读取、写入和执行权限。

SELinux 由美国国家安全局创建,旨在对系统中的文件、进程、用户和应用程序提供更细粒度的控制。
它是对 Linux 内核的增强,它实现了一种称为强制访问控制 (MAC) 的不同类型的安全性。
MAC 策略是集中管理,而不是由用户管理。

SELinux 以三种模式之一运行:

  • Enforcing:除非 SELinux 安全策略规则允许,否则拒绝用户和程序访问。
  • Permissive :不强制执行安全策略规则,但 SELinux 将拒绝消息发送到日志文件。
  • Disabled :SELinux 不强制执行安全策略,因为内核中没有加载任何策略。只有 DAC 规则用于访问控制。
日期:2020-09-17 00:11:52 来源:oir作者:oir