SELinux (security enhanced linux : 内核级加强型火墙),它拥有灵活而强制性的访问控制结构,目的是让linux系统更为安全。
一 . selinux 工作状态
getenforce 查看selinux 工作状态
也可以在配置文件中查看详细参数: /etc/sysconfig/selinux
配置文件中有3个值可以用,enforcing 表示强制模式,selinux动作中所有违反预设规则的动作都将被拒绝,permissive 表示警告模式。不拒绝违反规则的动作,但会被记录在日志中,disable 表示关闭selinux,
切换 selinux 工作状态 0 1
setenforce 0 切换selinux 工作方式为警告状态
1 切换selinux 工作方式为强制状态
(setenforce 只能在强制模式与警告模式切换,不能关闭或打开selinux,打开或关闭需要修改配置文件)
修改配置文件后 必须重起后生效,更改后重启速度较慢。
二.selinux安全上下文查看
selinux contexts 安全上下文:在运行selinux的系统上,所有进程和文件都被标记上与安全有关的信息,主要用与控制进程对服务的访问。
查看目录安全上下文
查看此目录上下文
查看文件上下文
查看用户上下文
查看进程上下文
上下文一共分为5个部分 :user:role:type:sensitivity:category
user :登陆系统的用户类型。
role :指定文件,进程,用户的用途
type :主客体类型
sensitivity:安全级别
category :对象分类
二.selinux 布尔值查看
布尔值主要是一个针对为网络服务的访问控制。针对不同的网络服务,布尔值有特定开关,用于精确的对某个服务进行开关。
查看系统中所有布尔值
查看年系统中有关 ftp 的布尔值 (重新安装vsftpd 后,ftp 布尔值恢复默认)
查看有关httpd 的设置
三.selinux 常用设置
1.启停selinux
开启服务时,登陆ftp,不能删除文件
关闭selinux 时,删除成功
2.关于安全上下文与布尔值常用设置
系统安装时,selinux会则东为每个文件打上安全上下文,可用semanage 查看默认上下文,一般情况下,默认安全上下文不用修改
修改文件安全上下文类型
恢复文件file 的安全上下文
例如关于ftp 的设置
匿名用户可上传 getsebool -a | grep ftpd_anon_write, off 表示关闭,on 表示打开
设置更改 setsebool ftpd_anon_write 1 打开匿名用户上传
此设置为临时设置
永久设定方法 ,永久设置更改 setsebool -P ftpd_anon_write 1
之后设定与上节ftp 相关设置类似,但是在器用selinux 服务时,需要修改以下内容。
chcon -t public_content_rw_t /var/ftp/pub
查看设置效果,设置成功
四. linux 系统排错相关设置
为了解决linux的配置问题,selinux 有完整的日志机制,如果selinux 拒绝了某个动作,会记录在日志 /var/logmessages
关于selinux 的纪录及解决工具集 setroubleshoot
查看是否安装此工具 ,若没有安装可在yum 仓库中下载安装。
查看setroubleshoot 日志
grep setroubleshoot /var/log/messages
它同时提供了详细的情况,可按照日志提示内容查看
此日志依赖于 setroubleshoot 工具集,若没有便不会在 /var/log/messages 中产生日志,它的实际日志在 /var/log/audit/audit.log ,但没有解决方案。