1、安装vsftpd软件
apt install vsftpd
# 设置自启动
systemctl enable vsftpd.service
# 启动FTP服务
systemctl start vsftpd.service
或者 sudo service vsftpd start
或者 sudo service vsftpd restart
# 查看端口号
netstat -antup | grep ftp
# 查看服务状态
service vsftpd status
2、配置vsftpd.conf文件,要有root权限:
sudo vim /etc/vsftpd.conf
修改如下设置
anonymous_enable=YES
#匿名用户登录时的服务器操作根目录,不能cd到其他的目录
anon_root=/home/……/myftp
no_anon_password=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
3、修改完配置文件之后重启服务
sudo service vsftpd restart
4、测试
首先登陆,输入ftp ip,输入用户名,输入密码
测试下文件上传和下载,cd可以在服务器上切换目录,ls列出文件,put 文件名 是上传文件,get 文件名是把文件下载下来
上面的登录是实名用户登录,还有一种是匿名用户登录,输入用户名anonymous,密码不用输入直接回车键,不能使用cd切换目录,这样子用户就不会破坏服务器上的目录结构,只能在有限的范围内上传和下载
5、注意事项
无法登录:ftp: connect: Connection refused
将vsftpd.conf文件里的
listen_ipv6=YES 注释掉就可以了。
6、配置文件解释
########################################################################################
#除下面提及的参数,其他参数保持默认值即可。
#修改下列参数的值:
#禁止匿名登录FTP服务器。
anonymous_enable=NO
#允许本地用户登录FTP服务器。
local_enable=YES
#监听IPv4 sockets。
listen=YES
#在行首添加#注释掉以下参数:
#关闭监听IPv6 sockets。
#listen_ipv6=YES
#在配置文件的末尾添加下列参数:
#设置本地用户登录后所在目录。
local_root=/var/ftp/test
#全部用户被限制在主目录。
chroot_local_user=YES
#启用例外用户名单。
chroot_list_enable=YES
#指定例外用户列表文件,列表中用户不被锁定在主目录。
chroot_list_file=/etc/chroot_list
#开启被动模式。
pasv_enable=YES
allow_writeable_chroot=YES
#本示例中为Linux服务器的公网IP。
pasv_address=<FTP服务器公网IP地址>
#设置被动模式下,建立数据传输可使用的端口范围的最小值。
#建议您把端口范围设置在一段比较高的范围内,例如50000~50010,有助于提高访问FTP服务器的安全性。
pasv_min_port=<port number>
#设置被动模式下,建立数据传输可使用的端口范围的最大值。
pasv_max_port=<port number>
########################################################################################