收藏

CentOS安装VSFTP及配置用户

kang_web 2014-11-13 0 0

第一步,安装vsftp

# 1、以管理员(root)身份执行以下命令
yum install vsftpd

# 2、设置开机启动vsftpd ftp服务
chkconfig vsftpd on

# 3、启动vsftpd服务
service vsftpd start


第二步,配置防火墙

# 打开/etc/sysconfig/iptables文件
vi /etc/sysconfig/iptables

#在REJECT行之前添加如下代码
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

#保存和关闭文件,重启防火墙
service iptables restart


第三部,添加FTP用户并设置FTP用户密码

下面是添加ftpuser用户,设置根目录为/home/wwwroot/ftpuser,禁止此用户登录SSH的权限,并限制其访问其它目录。

1、修改/etc/vsftpd/vsftpd.conf,将底下三行

#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list

改为

chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list

2、增加用户ftpuser,指向目录/home/wwwroot/ftpuser,禁止登录SSH权限。

useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser

3、设置用户口令

passwd ftpuser

4、编辑文件chroot_list(内容为ftp用户名,每个用户占一行):

vi /etc/vsftpd/chroot_list

第四步、启用pasv模式

pasv_enable=YES         #启用被动模式
pasv_min_port=10000     #被动模式使用端口范围
pasv_max_port=10010     #被动模式使用端口范围
第五步、针对第四步开启防火墙端口,如果没有启用pasv模式就可以不用管


-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 10000:10010 -j ACCEPT


在以上工序完成后,连接ftp时出现了个错误

500 OOPS: vsftpd: cannot locate user specified in 'ftp_username':ftp

经过网络搜索,得到下面的解决办法

在/etc/vsftpd.conf中添加一行ftp_username=nobody就搞定