SELinux的一些tips
DAC:Discretionary access control 传统Linux采用的访问控制方法,主要通过user/group/other三种用户来实现
MAC:Mandatory access control SELinux采用的方式,由security administrator也就是root来决定控制存取权限
每个process或者object上都有security context,包含identity:role:domain/type
Security Policy(targeted)中定义哪些操作需要哪些context权限
一些命令:
sestatus 查看SELinux启用状态
setenforce 0 将enforcing-->permissive
setenforce 1 将permissive-->enforcing
getsebool httpd_disable_trans 查看httpd是否受到SELinux的保护,RHEL4:inactive受保护,active不受保护;RHEL5:off受保护,on不受保护
setsebool -P httpd_disable_trans=1 boolean值从inactive到active,使httpd不受到SELinux的保护
off-->on,使httpd不受保护
setsebool httpd_disable_trans=1 -P改配置文件,永久设置,没有-P临时设置
/etc/selinux/targeted/booleans RHEL4中布尔值存放该文件中
/selinux/booleans RHEL5该目录中能看到各个booleans命名的文件,内容为11|00
system-config-securitylevel 图形界面配置Firewall/SELinux,修改/etc/sysconfig/iptables和selinux
system-config-securitylevel-tui 文本界面配置Firewall/SELinux,修改/etc/sysconfig/iptables和selinux
system-config-selinux 图形配置SELinux的详细内容,booleans...
ps -Z 查看进程的context
ls -Z 查看文件的context
id -Z 产看用户的context
chcon -t user_home_t install.log 修改install.log的context为user_home_t的类型
runcon 使用特定的context来执行指令
runcon -t httpd_t cat /etc/passwd
grep avc /var/log/messages 看一些selinux相关信息
/var/log/audit/audit.log SELinux日志