Linux的selinux

selinux内核级加强型火墙  

文件影响:CONTEXT 安全上下文  必须匹配才能访问
服务影响:getsebool功能开关

先将/etc/sysconfig/relinux文件下的disable改为enforcing,然后reboot重启


selinux设置后必须重启系统


setenforce 0  == 将/etc/sysconfig/relinux文件下的enforcing改为permissive,且不需要重启         警告


setenforce 1  == 将/etc/sysconfig/relinux文件下的permissive改为enforcing,且不需要重启         强制

如果移动文件到/var/ftp/,那么lftp登陆后查看文件就会出现警告,警告在/var/log/messages中。如果是强制状态,那么既会有警告也会看不到移动的文件,如果是警告状态,则只有警告,依然可以看见被移动的文件。

测试:
先在mnt下创建文件westosfile2,然后mv /mnt/westosfile2 /var/ftp
然后lftp 172.25.75.230  --> ls 如果是强制状态就看不见westosfile2,有警告,cat  /var/log/messages
如果是警告状态就可以看见westosfile2,有警告,cat  /var/log/messages

 

文件影响:

在enforcing下,如果上下文不匹配,那么lftp登陆就不会看见移动的文件

更改用户家目录 anon_root=/home/ftphome  (在/etc/vsftpd/vsftpd.conf下更改)


临时更改文件上下文:chcon -t public_content_t /ftphome/ -R      -R表示递归更改上下文

查看文件上下文:ls -Zd /ftphome

由上图可以看到,/ftphome的上下文由default_t改为了public_content_t

但是如果selinux文件下,从enforce到disable再到enforce,刚才已经更改的文件的上下文就会复原

由enforcing改为disabled:

由disabled改为enforcing:

/ftphome的上下文复原了:


永久更改文件上下文:
1.semanage fcontext -a -t public_content_t '/ftphome(/.*)?'  (/.*)?表示ftphome目录下的所有内容
2.读取: restorecon -RvvF /ftphome/
3.semanage fcontext -l | grep /var/ftp  查看列表

服务影响:

匿名用户enforce下,上传文件:
不要忘记更改家目录,配置文件使匿名用户可以上传(进入/etc/vsftp/vsftp.conf,将anon_upload_enable=YES前面的#去掉  )。
1.setsebool -P ftpd_anon_write on   开启上传服务,-P表示永久生效
2.getsebool -a | grep ftp  查看服务开启列表
3.chcon -t public_content_rw_t /var/ftp/pub/  使文件可读可写
4.ls -Zd /var/ftp/pub    查看上下文
测试:  首先,先进入ftp的配置文件配置匿名用户可以上传,否则即使开启了改对了文件的上下文,也无法上传文件,会出现550报错(550:服务本身功能未开启)。

开启上传服务,getseboll -a是查看所有服务开启列表,在这里仅看ftp的所有服务列表,因为我们只需要查看它是否已经开启了允许上传文件的服务。

查看pub目录的上下文,发现此目录没有打开读写功能。

打开pub读写功能,如果不打开读写,那么就无法在selinux为enforcing时上传文件

更改配置文件后一定记得要重启服务

setroubleshoot-server软件

当ftp服务器出现报错后,会在/var/log/audit/audit.log日志里生成报错原因,但没有解决办法
如果安装了setroubleshoot-server.x86_64软件,就会把/var/log/audit/audit.log日志读取,生成解决办法,这个解决办法的文件就是/var/log/messages
测试:1.在mnt下创建一个文件然后移动到ftp     

                    touch/mnt/file
                    mv /mnt/file /var/ftp

             2.为了方便查看效果,我们不妨先清空以上两个日志里的内容
                    >/var/log/audit/audit.log
                    >/var/log/messages

             3.lftp..........
                    lftp 172.25.254.116
                    ls 就会出来报错,此时查看日志

              4.查看日志
                    cat /var/log/audit/audit.log  报错原因
                    cat /var/log/messages    解决办法


如果卸载setroubleshoot-server.x86_64软件,就不会生成解决办法,只生成原因。

测试:1.卸载软件
                  yum remove setroubleshoot-server.x86_64

             2.为了方便查看效果,我们再次清空以上两个日志里的内容
                    >/var/log/audit/audit.log
                    >/var/log/messages

              3.lftp登陆,然后查看解决方案的日志
                   lftp .....  -->   ls    就会出来报错,此时查看日志
                   cat /var/log/audit/audit.log  报错原因
                   cat /var/log/messages    此日志没有关于报错的内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值