FTP(文件传输协议)是一种用于在网络上进行文件传输的标准协议。在 Linux 系统上搭建 FTP 服务器可以方便地共享和管理文件。本文将介绍如何在 Linux 上搭建 FTP 服务器,使用 vsftpd(非常安全的 FTP 守护进程)。
1. 安装 vsftpd
1.1 更新系统
在安装之前,确保系统是最新的。可以使用以下命令更新系统:
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian
sudo yum update -y # CentOS/RHEL
1.2 安装 vsftpd
根据您使用的 Linux 发行版,使用以下命令安装 vsftpd:
对于 Ubuntu/Debian 系列:
sudo apt install vsftpd -y
对于 CentOS/RHEL 系列:
sudo yum install vsftpd -y
2. 配置 vsftpd
2.1 编辑配置文件
vsftpd 的配置文件位于 /etc/vsftpd.conf
。使用文本编辑器打开该文件:
sudo nano /etc/vsftpd.conf
2.2 配置选项
根据需要修改以下配置选项:
允许匿名访问:
anonymous_enable=NO
启用本地用户访问:
local_enable=YES
允许上传文件:
write_enable=YES
启用被动模式(如果需要):
pasv_enable=YES pasv_min_port=10000 pasv_max_port=10100
设置根目录(可选):
chroot_local_user=YES
修改完配置后,保存并关闭文件。
2.3 创建 FTP 用户
可以创建一个专门用于 FTP 的用户:
sudo adduser ftpuser
按照提示设置密码,并根据需要填写用户信息。
2.4 设置用户权限
设置 FTP 用户的家目录及权限:
sudo mkdir -p /home/ftpuser/files
sudo chown ftpuser:ftpuser /home/ftpuser/files
3. 启动 vsftpd 服务
3.1 启动 vsftpd
使用以下命令启动 vsftpd 服务:
sudo systemctl start vsftpd
3.2 设置开机自启
要确保 vsftpd 在系统重启后自动启动,可以使用:
sudo systemctl enable vsftpd
4. 配置防火墙
如果系统启用了防火墙,您需要允许 FTP 端口(默认是 21)通过防火墙。
4.1 对于 UFW(Ubuntu):
sudo ufw allow 21/tcp
sudo ufw allow 10000:10100/tcp # 如果启用了被动模式
sudo ufw enable
4.2 对于 firewalld(CentOS):
sudo firewall-cmd --zone=public --add-port=21/tcp --permanent
sudo firewall-cmd --zone=public --add-port=10000-10100/tcp --permanent
sudo firewall-cmd --reload
5. 测试 FTP 服务器
您可以使用 FTP 客户端(如 FileZilla)或命令行工具连接到 FTP 服务器。
使用命令行连接
ftp your_server_ip
输入用户名和密码进行登录。