1.selinux的管理
限制服务功能,限制服务访问
selinux有三种状态:permissive警告 | enforcing强制 | disabled关闭
selinux的配置文件:/etc/sysconfig/selinux ,由于是内核级火墙必须重启之后才能生效
getenforce ##查看selinux的状态
setenforce 0 | 1 ##修改selinux的状态 (0:permissive;1:enforcing)
但是,selinux只有在开启后才可以使用setenforce去改变状态
2.安全性文本
(1)ls -Zd ##查看安全性文本
安全性文本的三字段的意义:
Identify:role:type
身份识别:角色:类型
身份识别 (Identify):
相当于账号方面的身份识别,主要的身份识别则有底下三种常见的类型:
root ##表示 root 的账号身份
system_u ##表示系统程序方面的识别,通常就是程序
user_u ##表示的是一般使用者账号相关的身份
角色 (Role):
透过角色字段,我们可以知道这个数据是属于程序、档案资源还是代表使用者。一般的角色有:
object_r: ##代表的是档案或者是目录等档案资源
system_r: ##代表的就是程序,不过,一般使用者也会被指定成为 system_r
类型 (Type) :(最重要!)
一个主体程序能不能读取到这个档案资源与类型字段有关,类型字段在档案和程序的定义不太相同,分别是:
type:在档案资源 (Object) 上面称为类型 (Type);
domain:在主体程序 (Subject) 则称为领域 (domain)
domain 要和type 搭配,该程序才能够顺利的读取档案资源
(2)安全上下文的更改
chcon [-t type] [-u user] [-r role] 文件 ##临时更改
semanage fcontext -a [-t type] 文件 ##永久更改
restorecon -RvvF filename|dir ##恢复到原本属于的安全文本; -R:连同次目录一起修改 -v:恢复过程显示到屏幕上
- 控制selinux对服务功能的开关
getsebool -a | grep 服务的名称
setsebool -P 服务的功能bool值 on | off
4.报错排除
setroubleshoot --> 错误讯息写入 /var/log/messages,这个朋务会将关亍 SELinux 的错诨讯息与克服方法记录到 /var/log/messages
auditd --> 详细资料写入 /var/log/audit/audit.log,这个 auditd 会将 SELinux 发生的错误信息写入 /var/log/audit/audit.log;auditd 会将许多的SELinux 信息都记录下来,不仅是错误讯息