概述:
vsftpd是Linux下比较著名的FTP服务器,搭建FTP服务器当然首选这个。本文介绍了在CentOS 6.4下安装vsftpd、配置虚拟用户登录FTP的过程。
安装vsftpd
查看是否已经安装vsftpd
rpm -qa | grep vsftpd
如果没有,就安装,并设置开机启动
yum -y install vsftpd
chkconfig vsftpd on
修改配置文件
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的配置文件
#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
增加用户ftpuser,指向目录/home/wwwroot/ftpuser,禁止登录SSH权限。
useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser
设置用户口令
passwd ftpuser
编辑文件chroot_list
vi /etc/vsftpd/chroot_list
`
内容为ftp用户名,每个用户占一行,如:
peter
john
重新启动vsftpd
service vsftpd restart
出现的错误1、500 OOPS: cannot change directory
解决方法:
在终端输入命令:
setsebool -P ftpd_disable_trans 1
service vsftpd restart
原因:这是因为服务器开启了selinux,这限制了FTP的登录。