RHEL6平台下SeLinux和vsftpd的匿名上传的简单案例

RHEL6平台下的多数生产线上的FTP应用基本很少开启SeLinux,因为这玩意实在太麻烦了。这里给出一个小案例,基于RHEL 6.3平台。

系统状态:

RedHad Enterprises Linux 6.3  32bit

SeLinux - Enforcing

iptables - disabled (这个开启端口其实很简单,本案例中就不讨论了)

1.安装略(yum -y install vsftpd)

2.默认启动以及测试

这里说明下,就是安装之后,直接启动vsftpd,不修改任何参数,普通用户是可以登陆并且上传下载的,当然是vsftp的默认情况,但是SeLinux存在就不这么默认了。先要开启:

[root@localhost cto.luxiaok.com]# setsebool -P ftp_home_dir=on

否则会报无法切换目录的500错误。其实,vsftp的默认情况允许本地用户登录并且允许上传下载是很危险,因为可以切换到别的目录去,当然是默认情况下。这当然也是可以通过vsftpd.conf进行控制的。

3.开启匿名用户的上传下载

这是本文的主题。再来说说默认情况,默认修改vsftpd.conf的情况下只允许匿名用户进行登录并允许下载,不允许上传。

允许匿名上传设置:

RHEL6平台下SeLinux和vsftpd的匿名上传的简单案例

取消上面两行的注释就行了,然后重启vsftpd。这里也可以注释掉local_enable来禁用掉本地用户的登陆。

但是会发现还是无法上传。

首先

[root@luxiaok.com ~]# chmod -R 777 /var/ftp/pub

非常重要的一点,这里不能更改/var/ftp的权限,否则在匿名用户登陆的是就会直接500错误,这是vsftp的默认机制。这里的上传以pub目录为例。

然后

[root@localhost cto.luxiaok.com]# setsebool -P allow_ftpd_anon_write=on

再进行测试,就OK了。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/db0d73de02d827aaa956ad10ec819722.html