初识 selinux
selinux 三种模式
enforcing //强制模式
permissive //宽容模式
disabled // 关闭

selinux的启动与关闭
vim /etc/selinux/config
修改
SELINUX=enforcing
SELINUXTYPE=targeted
并且
vim /boot/grub/menu.lst
去掉
selinux=0

getenforce //显示出目前的模式
sestatus [-vb] //selinux的策略
setenforce [0|1] //0为permissive 1为enforcing,无法在 disabled切换

重置selinux安全上下文
chcon 是通过指定的方式来处理安全上下文的类型数据
chcon [-R] [-t type] [-u user] [-r role] 文件
chcon [-R] --reference=范例文件 文件
例子1
chcon -t httpd_sys_content_t /var/www/html/index.html
ll -Z /var/www/html/index.html
例子2
chcon --reference=/etc/passwd /var/www/html/index.html
ll -Z /var/www/html/index.html

restorecon [-Rv] 文件或目录 使用默认的安全下文来还原,-R 连同子目录一起修改 -v将过程显示在屏幕上
restorecon -Rv /var/www/html/index.html

selinux所需要的服务

setroubleshoot 将错误信息写入 /var/log/messages
chkconfig --list setroubleshoot
chkconfig setroubleshoot on
cat /var/log/messages |grep setroubleshoot
sealert -l ****

auditd 将详细数据写入/var/log/audit/audit.log
chkconfig --list auditd
chkconfig auditd on
audit2why < /var/log/audit/audit.log

selinux的策略与规则管理

策略查阅
seinfo [-Atrub]
-A 列出状态、规则布尔值、身份识别、角色、类型等
-t 列出所有类型type
-r 列出所有角色role
-u 列出所有身份标识user
-b 列出所有规则的种类 布尔值
seinfo -b|grep httpd

sesearch [-a] [-s 主体类型] [-t 目标类型] [-b 布尔值]
sesearch -a -t httpd_sys_content_t //找出目标文件资源为httpd_sys_content_t的有关信息
sesearch -s httpdt -t httpd* -a //找出主体进程为httpd_t 且目标文件类型为httpd相关的所有信息
sesearch -b httpd_enable_homedirs -a

布尔值的查询与修改
getsebool [-a] [布尔值条款]
getsebool -a
setsebool [-P] 布尔值=[0|1]
getsebool httpd_enable_homedirs
setsebool -P httpd_enable_homedirs=0

默认目录的安全上下文查询与修改
semanage {login|user|port|interface|fcontest|translation} -l
semanage fcontext -{a|d|m} [-frst] file_spec //主要用在安全上下文方面的用途 -l查询-a增加-m修改-d删除

semanage fcontext -l //查询默认安全上下文设置
semanage fcontext -a -t public_content_t "/srv/samba (/.*)?"
semanage fcontext -l |grep '/srv/samba'