第二篇 创建FTP服务器

288 阅读2分钟

当有了服务器之后,可以添加各种各样的功能,如ftp,用于文件传输。
本文以CentOS8.2系统为例,使用vsftpd工具。

1.操作步骤

  • 安装
yum -y install vsftpd
  • 添加ftp登录用户
#用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
adduser -s /bin/false -d /var/ftp zhy

# 设置ftp登录用户的密码
passwd zhy

把新增的用户zhy添加到列表文件中/etc/vsftpd/user_list

  • 添加安全规则 进入阿里云控制台,选择轻量应用服务器->服务器列表->应用搭建->服务器安全设置->防火墙,添加安全规则,选择ftp
  • 配置ftp 终端输入vi /etc/vsftpd/vsftpd.conf即可
pam_service_name=vsftpd
local_root=/var/ftp #登录的ftp目录
userlist_enable=YES
userlist_deny=NO #与userlist_enable搭配使用,此时user_list是一个白名单
userlist_file=/etc/vsftpd/user_list #白名单列表
  • 可以登录指定目录,且不可以cd到其它目录
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/user_list
allow_writeable_chroot=YES #此步如果不配置会导致问题5出现 

2.偶遇

  • 530 Login incorrect. ftp: Login failed.

先查看用户名密码是否输入错误
创建ftp登录用户zhy时,主名称和登录shell(/bin/false)需要在系统文件/etc/shells中添加, 如把/bin/false添加到/etc/shells中即可

  • Add correct host key in /Users/./.ssh/known_hosts to get rid of this message. Offending ECDSA key in /Users/hengyi.zhang/.ssh/known_hosts:1 ECDSA host key for 101.37.245.158 has changed and you have requested strict checking.

此问题是由于.ssh文件夹被删除导致,把ip地址添加一下即可:
ssh-keygen -R 101.37.245.158

  • 500 OOPS: vsftpd: refusing to run with writable root inside chroot()

配置allow_writeable_chroot=YES即可

  • 200 PORT command successful. Consider using PASV. 553 Could not create file. 此问题一般是使用终端命令进行文件传输时提示的。按照提示需要考虑使用PASV模式。

解决:切换成passive模式,直接输入命令passive即可切换

小Tips:

MacOS端可使用的免费ftp工具:ForkLift