selinux的初级用法
#################
1.selinux的作用
################
selinux内核级加强型防火墙,是可以保护系统安全性的额外机制。
其通过检查安全上下文来限制访问
在服务端/mnt/目录下建立westos文件,并将westos移动到/var/ftp/pub/下
匿名登陆lftp服务,发现westos转移了过去
此时服务端selinux=disabled
编辑配置文件/etc/sysconfig/selinux
开启selinux服务
重启
在/mnt/目录下建立hello文件,并且将该文件移动到/var/ftp/pub下
匿名登陆lftp服务,发现hello文件不存在
##########################
2修改安全上下文
##########################
不能看到的原因是
vsftpd只能识别public_content_t的标签
ls -Z #查看文件的安全上下文
ls -Zd #查看目录的安全上下文
ps auxZ | grep vsftpd
查看ftp的安全上下文
chcon -t
临时修改安全上下文
如何永久修改安全上下文
建立目录/test
在目录之下建立文件file{1…3}
查看安全上下文
semanage fcontext -a -t public_content_t ‘/(目录)(/.*)?’
把目录下的所有文件的安全上下文修改为public_content_t
restorecon -FvvR /(目录)/
刷新这个目录下所有的文件的安全上下文变为同类
semanage fcontext -l | grep test
##查看与/test有关的安全上下文
###############################
3.在selinux开启的情况下影响其他程序
###############################
关闭seliunx时put上传文件可以
开启selinux后上传失败,原因是安全上下文没有开启并且只有读权限
我们需要开启上传开关并且修改安全上下文的权限
getsebool -a | grep ftp
#查看ftp服务的安全开关,可见所有都关闭了
setsebool -P ftpd_anon_write on
开启上传文件的开关
但此时上传还是失败,原因是写权限没开
chcon -t public_content_rw_t /var/ftp/pub/
ls -Zd /var/ftp/pub/
查看安全上下文具体内容可见写权限已开
连接后上传文件报错550是因为配置文件没有设置匿名上传文件
anon_upload_enable=YES
重读后上传
#####################
4.如何排错
#####################
selinux的日志在 /var/log/audit/audit.log
但是这个地方不提供排错方法
cat /var/log/messages
这里能提供排错方法但不考虑安全性
这个软件是setroubleshoot
卸载掉后不会提供建议
记不清可以yum search setrouble
搜索该软件
rpm -qa | grep setroubleshoot查看是否已安装