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