zoukankan      html  css  js  c++  java
  • SELinux的启动和关闭

    1、SELinux简介

    SELinux是Security Enhanced Linux的缩写,字面上的意思就是安全强化的Linux,它是由美国国家安全局 (NSA) 开发的,整合到Linux核心的一个模块,是对于强制访问控制(MAC)的实现,是 Linux历史上最杰出的新安全子系统,提供了比传统的UNIX权限更好的访问控制。在SELinux的访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。

    2、SELinux 的启动、关闭和状态

    并非所有的 Linux发行版都支持 SELinux 的,CentOS 5.x 以后就支持 SELinux了,目前 SELinux 支持三种模式:

    • enforcing:强制模式,表示SELinux 运行中,且已经正确的开始限制 domain/type 了;
    • permissive:宽容模式,表示SELinux 运行中,不过仅会有警告信息,并不会实际限制 domain/type 的存取。这种模式可以运来作为 SELinux 的 debug 之用;
    • disabled:关闭,SELinux 没有运行。
    1)获取SELinux的状态

    [root@www ~]# sestatus
    SELinux status: enabled
    SELinuxfs mount: /selinux
    Current mode: enforcing
    Mode from config file: enforcing
    Policy version: 24
    Policy from config file: targeted

    2)获取SELinux运行模式

    [root@www ~]# getenforce
    Enforcing //当前的模式为 Enforcing

    3)SELinux运行模式切换

    [root@www ~]# setenforce [0|1]
    选项与参数:
    0:转成 Permissive 宽容模式;
    1:转成 Enforcing 强制模式

    [root@www ~]# setenforce 0
    [root@www ~]# getenforce
    Permissive

    [root@www ~]# setenforce 1
    [root@www ~]# getenforce
    Enforcing

    4)SELinux 的启动和关闭

    由于SELinux 整合到Linux核心里了,如果由 enforcing 或 permissive模式改成 disabled,或由 disabled 改成其他两个,系统必须要重新启动;
    在 SELinux运行(enforcing或permissive模式)时,只能在enforcing和permissive模式切换,不能够直接关闭 SELinux,只能通过修改配置文件,然后重启系统。
    在 SELinux关闭(disabled)时,setenforce命令不能设置Enforcing或Permissive模式,只能通过修改配置文件来设置,然后重启系统。

    [root@www ~]# vim /etc/selinux/config
    SELINUX=enforcing                //默认为enforcing,可设置为enforcing、permissive、disabled中的一项。
    SELINUXTYPE=targeted //目前只能设置成targeted、mls中的一项

    注意:
    1)如果从 disable 切换到enforcing或permissive模式时,由于系统必须要针对文档写入安全性本文的信息,因此开机过程会花费不少时间在等待重新写入 SELinux 安全性本文 (有时也称为 SELinux Label),而且在写完之后还得要再次的重新启动。
    2)如果已经运行在Enforcing模式,但是可能由于SELinux的设置问题,导致某些服务无法正常的运行,此时可以将Enforcing 模式改为Permissive模式,让 SELinux只会警告无法顺利联机的信息,而不是直接阻挡主体程序的读取权限。

    3、SELinux布尔变量

    SELinux的一些布尔变量的设置对程序的运行起着控制作用,有时需要根据情况需要打开或关闭。
    [root@www ~]# getsebool -a | grep samba //获取和samba安全性设置有关的布尔值
    bacula_use_samba --> off
    samba_create_home_dirs --> off
    samba_domain_controller --> off
    samba_enable_home_dirs --> off
    samba_export_all_ro --> off
    samba_export_all_rw --> off
    samba_load_libgfapi --> off
    samba_portmapper --> off
    samba_run_unconfined --> off
    samba_share_fusefs --> off
    samba_share_nfs --> off
    sanlock_use_samba --> off
    use_samba_home_dirs --> off
    virt_use_samba --> off

    [root@www ~]#setsebool -P samba_enable_home_dirs=1

    [root@www ~]# getsebool samba_enable_home_dirs
    samba_enable_home_dirs --> on

    4、SELinux安全性文本

    1)查看文件的安全性文本
    [root@localhost home]# ls -Z rjfws/     
    drwxrws---. rjfws rjfws unconfined_u:object_r:user_home_t:s0 data
    drwxr-xr-x. rjfws rjfws unconfined_u:object_r:user_home_t:s0 公共的
    drwxr-xr-x. rjfws rjfws unconfined_u:object_r:user_home_t:s0 模板
    drwxr-xr-x. rjfws rjfws unconfined_u:object_r:user_home_t:s0 视频
    drwxr-xr-x. rjfws rjfws unconfined_u:object_r:user_home_t:s0 图片
    drwxr-xr-x. rjfws rjfws unconfined_u:object_r:user_home_t:s0 文档
    drwxr-xr-x. rjfws rjfws unconfined_u:object_r:user_home_t:s0 下载
    drwxr-xr-x. rjfws rjfws unconfined_u:object_r:user_home_t:s0 音乐
    drwxr-xr-x. rjfws rjfws unconfined_u:object_r:user_home_t:s0 桌面

    2)查看目录的安全性文本
    [root@localhost home]# ls -Zd rjfws/   
    drwxrwx---. rjfws rjfws unconfined_u:object_r:user_home_dir_t:s0 rjfws/

    =-=-=-=-=
    Powered by Blogilo

  • 相关阅读:
    python中的一些小知识
    软件工程第一次作业(2)
    CountDownLatch的理解和使用
    架构设计:系统间通信(1)概述从“聊天”开始上篇
    Asp默认的上传文件大小限制是200K
    当多个sqlserver服务存在时,需要完全限定的serverName 方可登陆
    关于Entity Framework 版本的疑惑
    mvc scaffolding
    sql 语句中的 NULL值
    如何从数据库生成 EF Code First model
  • 原文地址:https://www.cnblogs.com/pandachen/p/7624788.html
Copyright © 2011-2022 走看看