SElinux初探

来源:互联网 发布:linux 串口波特率设置 编辑:程序博客网 时间:2024/06/05 18:44

1.什么是selinux

SELinux(Security-Enhanced Linux),是通过MAC(强行访问控制)来控制进程对文件的访问。

selinux的运行模式大致是这样,制定“策略”来控制“主体(subject)”“目标(object)”的访问,  可以这样理解三要素,主体(进程)   目标(文件系统)   策略(规则)

2.selinux的启动、关闭和查看

查看selinux状态        getenforce 或者sestatus

配置文件的位置         /etc/selinux/config   (配置永久生效)

# 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 - SELinux is fully disabled.SELINUX=disabled# SELINUXTYPE= type of policy in use. Possible values are:#       targeted - Only targeted network daemons are protected.#       strict - Full SELinux protection.SELINUXTYPE=targeted

转换成permisssive宽容模式       setenforce 0            

转换成enforceing强制模式           setenforce 1  

3.selinux策略和规则

-Z查看安全上下文信息

ls -Z

ps aux -Z

SElinux的安全上下文的格式:

USER  用户字段

这个字段用来记录用户登录系统后所属的SElinux的身份的。

USER 通常以 _u为后缀,常见的如下:

 System_u               系统账号类型的使用者

 User_u                 真实用户类型的使用者

  Root                   超级用户的使用者 

  说明:targeted安全策略并未支持USER字段

 ROLE  角色字段                  

 ROLE 通常以 _r为后缀

说明:targeted安全策略并未支持ROLE字段

 TYPE字段

    TYPE 类型字段通常以 _t为后缀的。这个字段是SElinux安全上下文中最常用也是最重要的字段。

Object表达成type,subject则对应为domain了;

下列表格列举了常见的TYPE字段

项目说明

 Unconfiged_t      未设置类别 Default_t          默认类别 Mnt_t            代表挂载点的类型,/mnt/中的文件属于这个类别 Boot_t           作为开机文件的类型,/boot/中文件属于这个类别 Bin_t            作为二进制执行文件,/bin中多数属于这个类别 Sbin_t           作为系统管理类型的文件,/sbin中属于这个类别 Device_t         代表设备文件. /dev 下属于这个类别 Lib_t            连接库类型   /lib 下属于这个类别 Tty_device_t         代表终端机或控制台设备 Su_exec_t           具备SU功能的执行文件 Java_exec_t         JAVA相关的执行文件 Public_content_t     公共内容类型的文件。如:FTP,NFS等服务器文件 Shadow_t          代表存储密码文件的类型 Httpd_t            作为HTTP文件的相关类别

[root@localhost ~]# ll -Zd /usr/sbin/httpd /var/www/html-rwxrwxrwx  root root system_u:object_r:httpd_exec_t:s0 /usr/sbin/httpddrwxrwxrwx  root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html

注:ll是ls -l的别名

解释:httpd文件具有httpd_exec_t这个类型,而httpd domain(通俗一点就是httpd这个进程)被设置成可以只读取httpd_sys_content_t这个类型的目标文件。


重设SElinux的安全上下文

chcon 

-R 文件夹

-t  接type类型

-u 接user类型

-r  接role类型

chcon -t httpd_sys_content_t   /var/www/html/html/index.html





原创粉丝点击