搭建FTP(文件传输协议)站点

96 阅读3分钟

在阿里云上做的。操作系统alibaba colud linux3.x。原链接在这 FTP有三种模式:

  1. 匿名用户:任何人无需密码即可登录
  2. 本地用户:通过linux系统本地账号验证
  3. 虚拟用户:FTP服务器的专属用户,只能访问linux系统为其提供的ftp服务,无法访问其他linux系统的资源# step1:安装vsftpd
dnf install -y vsftpd
systemctl enable vsftpd.service # 允许开机启动
systemctl start vsftpd.service # 启动服务

它默认使用21端口(默认被动模式)

step2: 配置vsftpd

为了安全,要为FTP服务创建linux用户,更改密码

adduser ftpuser1
passwd ftptest

接下来创建一个ftp服务使用的文件目录,并简历一个文件

mkdir /var/ftp/test	
touch /var/ftp/test/testfile.txt

把文件的所有者改为ftpuser1

chown -R ftpuser1:password /var/ftp/test

修改vstfpd.conf配置文件

vim /etc/vsftpd/vsftpd.conf

把ftp服务器设置为被动模式

#禁止匿名登录FTP服务器。
anonymous_enable=NO
#允许本地用户登录FTP服务器。
local_enable=YES
#监听IPv4 sockets。
listen=YES
、、、
#listen_ipv6=YES 关掉ipv6 socket

在末尾添加下面的参数

#设置本地用户登录后所在目录。
local_root=/var/ftp/test
#全部用户被限制在主目录。
chroot_local_user=YES
#启用例外用户名单。
chroot_list_enable=YES
#指定例外用户列表文件,列表中用户不被锁定在主目录。
chroot_list_file=/etc/vsftpd/chroot_list
#开启被动模式。
pasv_enable=YES
allow_writeable_chroot=YES
#本教程中为Linux实例的公网IP。
pasv_address=<FTP服务器公网IP地址>
#设置被动模式下,建立数据传输可使用的端口范围的最小值。
#建议您把端口范围设置在一段比较高的范围内,例如50000~50010,有助于提高访问FTP服务器的安全性。
pasv_min_port=50000
#设置被动模式下,建立数据传输可使用的端口范围的最大值。
pasv_max_port=50010

vsftp配置文件及参数说明,更多参数说明在这 创建chroot_list文件,配置例外用户名单(最好加上管理员的),这些人可以不被限制在ftp主目录,可访问其他目录

vim /etc/vsftpd/chroot_list

改完后重启ftp服务

systemctl restart vsftpd.service

step 3:设置安全组

大多数客户端位于局域网中,IP地址是经过转换的,因此ipconfigifconfig命令返回的IP不一定是客户端的真实公网IP地址。若后续客户端无法登录FTP服务器,请重新确认其公网IP地址。 被动模式需开放21端口,以及配置文件/etc/vsftpd/vsftpd.conf中参数pasv_min_portpasv_max_port之间的所有端口。配置详情如下表所示。 image.png

step 4:客户端测试

mac测试 image.png image.png

image.png

done 还有很多情况也可以使用ftp工具了,省去一堆cli