Dec 26, 2012 - linux    No Comments

CentOS install vsftpd

熟门熟路三部曲

$ yum -y install vsftpd
$ chkconfig vsftpd on
$ service vsftpd start

防火墙里开21端口

$ vi /etc/sysconfig/iptables

添加一行:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

重启iptables

$ service iptables restart

———————————-

配置vsftpd:

$ vi /etc/vsftpd/vsftpd.conf

#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd/chroot_list

这两行的行首注释去掉

新建文件chroot_list

$ cd /etc/vsftpd
$ touch chroot_list

增加用户bob,指向目录/var/www/html,禁止登录SSH权限

$ useradd -d /var/www/html/ -g ftp -s /sbin/nologin bob

给bob设置密码:

$ passwd bob

编辑文件chroot_list

$ vi /etc/vsftpd/chroot_list

添加bob,以后再添加用户,一个用户名一行

现在用客户端还是无法连接ftp,输入:

$ setsebool -P ftpd_disable_trans 1

得到返回:

setsebool:  SELinux is disabled.

然后reboot虚拟机,一定要reboot,重启vsftpd服务是没用的。

附上vsftpd.conf的文件备份。vsftpd.conf

===================二货的分割线===================

这样配置下来的ftp有一个小问题,
客户端在使用cyberduck的时候,连接方式一定要选主动,才能上传下载文件。

Screen Shot 2012-12-26 at 3.37.41 PM

而用filezilla的时候,直接用默认方式,就可以上传下载文件了,原因还没找到。

Got anything to say? Go ahead and leave a comment!