红帽RHCE考试 VSFTP强化实战
(解决selinux 的几种方法)
作者: ------------恋砂追月
本文的目的是在于让读者快速通过简单案例要求的实战,快速passe红帽考试FTP部分,其内容对于真正的企业案例还相对欠缺,作者会通过其它文章更进一步的让亲们亲临实战
模拟考试要求:
1.有三个用户 ftpuser1,ftpuser2 .,ftpuser3密码都为redhat ,要求ftpuser1用户的家目录为/var/www/html/ ------->(其实几十块钱申请的网站空间不过也就是这样分配给你一个帐号)
2. ftpuser1,ftpuser2不能本地登录.只有ftpuser1 ,ftpuser2 可以登录ftp,ftpuser3可能登录FTP,其它用户不可能登录FTP.用户ftpuser1,ftpuser2不能离开自己的家目录,匿名用户可以登录 - ------>(ftpuser1,ftpuser2用户用于维护网站的添加删除. )
OK ,,费话不多说 开始操刀吧.
1.安装vsftpd 设置开机启动
2.建立三个用户这点大家可能都会 ,但怎么样才能让用户的家目录为题目所需呢
usermod -d /var/www/html -s /sbin/nologin ftpuser1
usermod -s /sbin/nologin ftpuser2
(注意如果没有上述目录,可以新建立)
3 用户不离开自己的家目录
配置文件vim /etc/vsftpd/vsftpd.conf 注释掉以下两行
新建/etc/vsftpd/chroot_list文件 把ftpuser1,ftpuser2添加进去
4.仅只有题 目要求用户可以登录FTP..做法有几种,现在介绍一种是.以/etc/vsftpd/vsftpd.conf 文章最后一行添加userlist_deny=NO,然后保存退出.把题目所写的用户写进/etc/vsftpd/user_list里.
5.案例要求匿名用户也可以登录,如果本文不添加userlist_deny=NO,则默认是可以登录的,但添加后 刚要把匿名anonymous用户写进/etc/vsftpd/user_list
重启.则可以成功...
注意:本文是在没有开启selinux下测试成功的.考试环境是要求学生要开启selinux ,所以读者在上述环境中若遇到测试不能成功时,则大多情况下是selinux的问题.现在我就把解决selinux的几种方法告诉大家(这种方法同样适用于其它服务,我只是给人起到抛砖引玉的作用,练成撒样还得靠自己)----------------------------------------------------------------------------
第一种方法:是通过sealert -b 查看,然后根据提示,复制进去就OK了.但有的时候会不提示,所以就要用到后面的几种方法.
这种方法是在图型模式下用.
第二种方法是:tail /var/log/message |grep run ,然后把sealert的提示复制,粘贴.就会出现解决
的方法.然后复制进去就OK..大家在执行sealert -l 进加个more ,因为全屏显示不出来.
大家在执行sealert -l 进加个more ,因为全屏显示不出来., 然后找到setaebool -P ftp_home_dir=1这一条,,粘贴进去回车就OK了.----------->这种方法是只有文字模式,没有图型模式下用
以上两种方法记得安装setroubleshoot这个包
第三种方法是 分析审计事件
然后跟据提示做..这种方法不用安装setroubleshoot包.
第四种方法 如果你对selinux熟悉 ,刚直接可以这样做
getsebool -a |grep ftp 然后找到家目录哪一项, sesebool -P ftp_home_dir=0
第五种方法 不知道也算不算呵呵 大家可以通过man ftpd_selinux
找到相应的项 弄进去就OK了...
第六种.可以关闭selinux对此服务的保护,这是没有办法解决的时候用的,,此方法考试的时候可以救命,但强烈建议不要这样做,红帽考试系统如果以后可能会对这个漏洞做手脚
以上文章是本人通过测试的 如有写的不足之处 希望读者指正 大学共同学习探讨