一.安装vsftpd
1.查看是否已经安装vsftpd
输入
rpm -qa | grep vsftpd
如果没有装,则不会显示任何信息
2.用yum命令安装vsftpd,并设置开机启动。我的服务器python版本为2.7.5,python3.5.0以上版本命令可能不同
yum -y install vsftpd chkconfig vsftpd on
3.启动vsftpd
service vsftpd start
相应的,停止为
service vsftpd stop
重启
service vsftpd restart
二.配置vsftpd
1.更改默认配置文件/etc/vsftpd/vsftpd.conf
用vi命令打开配置文件
vi /etc/vsftpd/vsftpd.conf
通过搜索命令/chroot_list,找到这几行
#chroot_list_enable=YES # (default follows) #chroot_list_file=/etc/vsftpd.chroot_list
开放第1和第3行
chroot_list_enable=YES # (default follows) chroot_list_file=/etc/vsftpd/chroot_list
(chroot_list这个是授权用户文件,通常这个文件不存在,需要新建,每个用户占一行)
配置完成后保存退出
三.添加ftp用户
1.在centos上添加操作用户
通过useradd命令添加ftp用户ftpuser,设置用户默认根路径为/home/ftpuser,并禁止ssh登录
useradd -d /home/ftpuser -g ftp -s /sbin/nologin ftpuser
通过passwd ftpuser给用户设置密码
2.将用户写入chroot_list
vi /etc/vsftpd/chroot_list
增加ftpuser,保存退出
四.远程连接
1.以上操作完成后,重启vsftpd
service vsftpd restart
2.使用客户端连接,例如FileZilla
只要不报错,就大功告成
可能出现的错误
1.500 OOPS: vsftpd: refusing to run with writable root inside chroot()
在配置文件vsftpd.conf末尾增加一行
allow_writeable_chroot=YES
(因为vsftpd默认是不允许用户进行写操作的,所以有读写权限的用户会报错。这里设置允许远程进行上传操作。当然,也可以将文件夹设置成只读的)
2.500 OOPS: cannot change directory
输入命令
setsebool -P ftpd_disable_trans 1
重启vsftpd