- 检查是否安装FTP服务
#rpm -qa|grep vsftpd
如果没有安装,则使用yum源安装
#yum install -y vsftpd
- 修改FTP配置文件
1、备份vsftp.conf文件
#cp vsftpd.conf vsftpd.confbak
- 关闭匿名用户访问
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
userlist_deny=NO
local_root=/home/ftptest
红色部分这样配。User_list 添加创建用户的才可以生效
- 创建用户
#useradd ftptest -s /sbin/nologin
#passwd ftptest
输入两遍密码,用户名密码随意
检查 /etc/passwd
家目录可以指定
- 注释掉 /etc/pam.d/vsftp中auth required pam_shells.so,否则会造成503 login incorrect
- 关闭家目录写权限
#chmod a-w /home/ftptest
后续只能让终端从这个路劲下载文件,不允许上传文件。
vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误
原因是因为从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。
- 重启服务
#systemctl restart vsftpd.service
如果出现未开启的情况。请检查 vsftp conf 文件是否有多余空格
- 查看服务是否开启
#systemctl status vsftpd.service
- 测试是否可以下载
# touch /home/ftptest/test.txt
访问地址:ftp:/ip
输入用户名密码查看。并下载文件。