[CentOS7] SELinux

声明:本文主要总结自:鸟哥的Linux私房菜-第十六章、程序管理與 SELinux 初探,如有侵权,请通知博主

SELinux = Security Enhanced Linux

传统的文件权限与账号关系:DAC模式(Discretionary Access Control,自主式存取控制)

依据进程的拥有者与文件的rwx权限来决定进程有无读写能力

以政策规则规定特定进程读取特定文件:MAC模式(Mandatory Access Control,委托式存取控制)

通过SELinux针对特定进程与特定文件资源来进行权限的管制

SELinux运行的各部分之间的关系

 

详细参考:鸟哥的Linux私房菜-SELinux

获取相关的策略类型

 获取某策略类型的三种方法:

设定策略类型为开启状态(未写入设定文件)

设定策略类型为永久开启状态(写入设定文件)

查看策略类型下的具体规则

查看fcron_crond该策略类型下有哪些规则

所有关于SELinux的指令:

sestatus  ==> 查看目前的SELinux使用的哪个政策(Policy: 1.targeted 2.minimum 3.mls)

setsebool [ -P ] xxx 1  ==> 设置SELinux的某规则为开启状态

getsebool [ -a ]  ==> 列出SELinux所有规则与该规则的开启状态(布尔值)

seinfo [ -u | r | t | b ]   ==> 列出SELinux所有[-u(user)身份识别的种类],[-r(role)角色的种类],[-t(type)类别的种类],[-b(boolean)规则的种类]

sesearch [-A] [-s 主体类别] [-t 目标类别] [-b 规则类别]  ==> 列出某规则允许放行的文件的SELinux的类别

 例如:

sesearch -A ==> 列出所有放行(-A allow)的规则

sesearch -A -s crond_t -t admin_home_t  ==> 列出所有主体类别为crond_t,目标类别为admin_home_t的所有放行规则

sesearch -A -b fcron_crond  ==> 列出fcron_crond规则下的详细信息

sesemanage boolean -l ==> 列出SELinux所有规则与该规则的开启状态(布尔值),与 getsebool -a 效果相同

chcon [-R] [-u user] [-r role] [-t type] 文件  ==> 手动更改文件的SELinux的类型

chcon [-R] --reference=文件1 文件2  ==> 手动更改文件2的SELinux的类型(参考文件1的SELinux的类型)

restorecon [-R] [-v] ==> 让文件或目录恢复正确的SELinux的类型(-R 包含子目录,-v 将过程显示到屏幕上)

semanage fcontext [-a | m | d] ==> -a增加,-m修改,-d删除预设的SELinux的类型

semanage fcontext -l  ==> 查询所有预设(默认)的目录和文件的SELinux的类型,当使用restorecon -Rv 就能将文件恢复为预设(默认)SELinux的类型

semanage fcontext -a -t admin_home_t "/srv/test(/.*)?"  ==> 将/srv/test目录即目录下的预设(默认)SELinux的类型设为admin_homt_t类型

 

posted @ 2017-12-06 15:54  byjz  阅读(324)  评论(0编辑  收藏  举报