跳到主要内容

请阐述SELinux 的工作模式(Disabled、Permissive和Enforcing)?

参考答案:

SELinux(Security-Enhanced Linux)是一个为Linux内核提供访问控制安全策略的安全子系统。它有三种主要的工作模式:Disabled、Permissive和Enforcing。以下是这三种模式的详细阐述:

  1. Disabled模式

    • 在这个模式下,SELinux被完全关闭,不执行任何安全策略。
    • 系统将使用默认的DAC(Discretionary Access Control,自主访问控制)访问控制方式。
    • 当SELinux处于Disabled模式时,受限的程序不会经过SELinux的安全策略检查,而是直接根据传统的rwx(读、写、执行)权限进行判断。
  2. Permissive模式

    • 在这个模式下,SELinux被启用,但不会强制执行安全策略规则。
    • 即使安全策略规则应该拒绝访问,访问仍然会被允许,但SELinux会记录警告信息。
    • 这种模式通常用于调试SELinux策略,因为它允许管理员在不实际阻止任何操作的情况下观察哪些操作会触发安全警告。
    • 在Permissive模式下,SELinux虽然运行但不会实际限制domain/type之间的验证关系。即使验证不正确,进程仍然可以对文件进行操作。
  3. Enforcing模式

    • 这是SELinux的严格模式,SELinux不仅运行,而且会强制执行所有的安全策略规则。
    • 在这个模式下,SELinux会限制domain/type之间的验证关系,确保只有符合策略规则的操作才能被执行。
    • 如果某个操作违反了安全策略,SELinux将阻止该操作并可能记录相应的安全事件。

在SELinux已经运行的情况下,通常可以在Enforcing和Permissive两种模式之间进行切换,但不能直接关闭SELinux进入Disabled模式。要关闭SELinux,通常需要修改SELinux的配置文件(如/etc/selinux/config)并将“SELINUX”设置为“disabled”,然后重新启动系统。

需要注意的是,不同的Linux发行版可能提供了不同的工具或命令来管理SELinux的模式,因此具体的操作方式可能会有所不同。在实际操作中,建议查阅特定发行版的SELinux文档或相关手册以获取更准确的指导。