一、什么是SELINUX?
安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。
二、 selinux的开关
vim /etc/sysconfig/selinux
SELINUX=enforcing ##selinux开启,级别为强制
SELINUX=permissive ##selinux开启,级别为警告
SELINUX=disabled ##selinux关闭,
setenforce 0|1 ##更改selinux当前的级别0警告1标示强制
getenforce ##查看selinux的状态
注意:当selinux从关到开,或者从开到关,需要重启系统。如果系统已经在关闭 SELinux 的状态下运行了一段时间,在打开 SELinux 之后的第一次重启速度可能会比较慢。因为系统必须为磁盘中的文件创建安全上下文。
三、selinux中对文件安全上下文的设定
安全上下文:
类型强制策略的安全上下文
所有的操作系统访问控制都是基于与主体和客体相关的访问控制属性的。在SELINUX中,访问控制属性乘>坐安全上下文,所有的客体(文件,进程间通信,通信管道,套接字,网络主机等)和主体(进程)有一
个和他们相关的但一安全上下文。一个安全上下文有三个元素:用户,角色,类型标示符。指定和显示一
个安全上下文常用的格式如下:
用户(user):角色(role):类型标示符(type)
每一个元素的字符串标示符被定义在SElinux的策略语言中,,仅仅理解一个有效的安全上下文一定要有>
一个有效的用户,角色,类型标示符每个标示符的命名空间都是正交的。安全上下文是一个简单的,一致
的访问控制属性。在SElinux中,类型标示符是安全上下中决定访问的主要部分。由于历史原因,进程的>类型经常被称作域(domain)
临时更改适用于更改文件
chcon -t 安全上下文 文件 ##更改文件上下文
chcon -t public_content_t 文件目录 ##更改目录上下文
实验:
上下文已更改,然后重启selinux 重新加载安全上下文。
永久更改文件安全上下文
semanage fcontext -l ##查看安全上下文列表
semanage fcontext -a -t public_content_t '/westos(/.*)?' ##添加安全上下文列表;-a添加;-t类型;(/.*)?目录里面文件标签也修改
restorecon -RvvF /westos/ ##-R递归;v只显示目录本身;vv显示过程不唯一;F刷新
四、服务控制
sebool值是控制服务功能开关
getsebool -a #列出所有selinux bool数值清单列表与内容
getsebool -a | grep 服务名称
getsebool -a | grep ftp
修改bool值
setsebool -P 功能bool值 on|off -P表示永久
setsebool -P ftpd_anon_write on
测试:
五、selinux 排错
提供改错方法的服务:setroubleshoot-server
提供的方法通常只考虑通过性,而忽略了安全性
/var/log/audit/audit.log ###只有报错信息
/var/log/messages ###有报错信息及更改方法
按照message中提供的方法便可以成功改错,但是安全性未知。