概述:

vsftpd是Linux下比较著名的FTP服务器,搭建FTP服务器当然首选这个。本文介绍了在CentOS 6.4下安装vsftpd、配置虚拟用户登录FTP的过程。

安装vsftpd

查看是否已经安装vsftpd

1
rpm -qa | grep vsftpd

如果没有,就安装,并设置开机启动

1
2
yum -y install vsftpd
chkconfig vsftpd on

修改配置文件

1
vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO //设定不允许匿名访问
local_enable=YES //设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问
chroot_list_enable=YES //使用户不能离开主目录
ascii_upload_enable=YES
ascii_download_enable=YES //设定支持ASCII模式的上传和下载功能
pam_service_name=vsftpd //PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证

添加ftp用户

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

同样打开vsftpd的配置文件

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

修改为

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

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

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

设置用户口令

1
passwd ftpuser

编辑文件chroot_list

1
2
vi /etc/vsftpd/chroot_list
`

内容为ftp用户名,每个用户占一行,如:
peter
john

重新启动vsftpd

1
service vsftpd restart
出现的错误
1、500 OOPS: cannot change directory

解决方法:

在终端输入命令:

1
2
setsebool -P ftpd_disable_trans 1
service vsftpd restart

原因:这是因为服务器开启了selinux,这限制了FTP的登录。

本文地址 http://laoono.com/2016-05/centos-installation-vsftd.html