- 文档首页
云服务器
云服务器ECS
最佳实践
自助建站
搭建应用
搭建FTP站点
搭建FTP站点(Ubuntu 22.04)
搭建FTP站点
搭建FTP站点(Ubuntu 22.04)
搭建FTP站点(Ubuntu 22.04)
文件传输协议FTP是一个用于在计算机网络上在客户端和服务器之间进行文件传输的应用层协议,一般运行在20和21两个端口。本文介绍如何在Ubuntu 22.04操作系统的实例上搭建FTP站点。
- Linux 操作系统:本文以Ubuntu 22.04为例。
- 客户端操作系统:本文以macOS Sequoia 15.6.1为例。
- Vsftpd:本文以vsftpd 3.0.2为例。
sudo apt-get -y install vsftpd
netstat -antup | grep vsftpd
- 回显如下所示时,表示vsftpd服务已成功启动。
-
说明
vsftpd默认以匿名用户访问,匿名用户默认访问的FTP服务器端路径为:/var/ftp/pub,匿名用户只有查看权限,无法创建、删除、修改。
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
sudo vim /etc/vsftpd.conf
- 按i键进入编辑模式,开启IPv4 socket监听并关闭IPv6 socket监听。
- 修改FTP访问权限为只允许本地用户访问FTP,并禁用任何匿名访问。
- 删除如下配置的行首注释符#,通过使用chroot jails实现限制FTP用户访问目录,并配置可访问FTP服务用户文件。
chroot_list_file=/etc/vsftpd.chroot_list
- 添加FTP服务目录配置,并开启允许用户在挂载的chroot(改变根目录)环境中写入权限。
allow_writeable_chroot=YES
- 根据实际需求添加如下配置,将FTP配置为主动模式或被动模式。
说明
由于大多数客户端防火墙设置等原因,使用主动模式可能会产生问题,建议您选择被动模式搭建FTP服务。
说明
请将<PUBLIC_IP>替换为搭建FTP站点的服务器实际公网IP地址。
pasv_address=<PUBLIC_IP>
- 按esc键退出编辑模式,输入:wq按回车键,保存修改并退出配置文件。
- 创建chroot_list文件,并在文件中写入例外用户名单。
说明
例外名单中的用户不会被锁定在主目录,可以访问其他目录。
sudo vim /etc/vsftpd.chroot_list
- 按Esc退出编辑模式,然后输入:wq按回车键,保存并退出文件。
sudo systemctl restart vsftpd
- 安装vsftpd后,默认会创建用户名为ftp的无密码用户,请执行如下命令修改其密码。
- 回显如下所示时,表示已成功修改ftp用户的登录密码。
-
- 执行如下命令,确保ftp用户的Shell被包含在/etc/shells文件中。
SHELL_TO_CHECK=$(getent passwd ftp | cut -d: -f7) && (grep -q "^$SHELL_TO_CHECK$" /etc/shells || echo "$SHELL_TO_CHECK" >> /etc/shells)
- 执行如下命令,将用户ftp添加到vsftpd允许登录的用户列表文件。
echo "ftp" | sudo tee -a /etc/vsftpd.userlist
说明
本文以赋予文件夹读、写、完全控制权限,请按需修改相应权限。
sudo chmod 777 /home/ftp
搭建好FTP站点后,在实例安全组的入方向添加规则并放行下列FTP端口。具体操作,请参见修改安全组访问规则。 您可以通过FTP客户端软件、浏览器或文件资源管理器等工具验证FTP服务,本文以MacOS 访达为例。
- 打开访达,在顶部导航栏选择“前往 > 连接服务器”。
- 输入ftp://云服务器公网IP:21,单击“连接”按钮。
-
- 在弹出的登录窗口中确认FTP服务器信息,单击“连接”按钮。
-
- 输入已设置的FTP用户名和密码,然后单击“连接”。连接成功后,可查看到FTP服务器指定目录下的文件。
-
注意
由于macOS“访达”不支持上传文件到FTP服务器,您可以下载FileZilla等第三方软件进行文件传输操作。
最近更新时间:2026.01.20 17:18:35