在Ubuntu Server上搭建FTP服务可以使用流行的FTP服务器软件,比如 vsftpd(Very Secure FTP Daemon)。以下是完整的分步教程:
1. 更新系统包
确保你的系统是最新的:
sudo apt update && sudo apt upgrade -y
2. 安装 vsftpd
使用 apt 包管理器安装:
sudo apt install vsftpd -y
3. 配置 vsftpd
vsftpd 的配置文件位于 /etc/vsftpd.conf
。
(1)备份配置文件
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
(2)编辑配置文件
用文本编辑器打开文件:
sudo nano /etc/vsftpd.conf
在文件中确保以下设置:
-
启用本地用户登录
local_enable=YES
-
允许文件上传
write_enable=YES
-
限制用户访问自己的目录
chroot_local_user=YES
-
添加安全性设置
如果需要更多安全性:pasv_enable=YES pasv_min_port=10000 pasv_max_port=10100
-
禁用匿名用户登录(默认已禁用)
确保以下配置存在:anonymous_enable=NO
保存并退出(按 Ctrl+O
保存,Ctrl+X
退出)。
4. 创建 FTP 用户
创建一个新用户以供 FTP 登录使用:
sudo adduser ftpuser
设置密码并完成其他信息。
更改用户的主目录
指定用户登录的目录,例如 /home/ftpuser
:
sudo mkdir -p /home/ftpuser/ftp/files
sudo chown -R ftpuser:ftpuser /home/ftpuser/ftp
sudo chmod -R 750 /home/ftpuser/ftp
5. 启动 vsftpd 服务
重启 vsftpd 服务以应用更改:
sudo systemctl restart vsftpd
设置开机启动:
sudo systemctl enable vsftpd
6. 检查防火墙
如果使用了 UFW 防火墙,确保开放 FTP 端口(21):
sudo ufw allow 21/tcp
sudo ufw allow 10000:10100/tcp
sudo ufw reload
7. 测试 FTP 服务
- 使用命令行工具(如
ftp
)连接:ftp <服务器IP地址>
- 或使用 FTP 客户端软件(如 FileZilla):
- 主机:服务器IP
-
用户名:刚创建的
ftpuser
- 密码:用户密码
- 端口:21
可选配置:启用 TLS(加密连接)
为安全性,建议启用 TLS。
- 生成 SSL/TLS 证书:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
- 编辑配置文件启用 TLS:
在/etc/vsftpd.conf
添加:ssl_enable=YES allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem
- 重启服务:
sudo systemctl restart vsftpd
完成后,你的 Ubuntu Server 就成功运行了一个 FTP 服务。