合肥市中国白事服务网

Linux搭建ftp服务器的步骤

2026-04-03 17:05:01 浏览次数:0
详细信息

vsftpd(常用、安全)为例:

1. 安装 vsftpd

# Ubuntu/Debian
sudo apt update
sudo apt install vsftpd

# CentOS/RHEL/Fedora
sudo yum install vsftpd

2. 启动并设置开机自启

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

3. 配置 vsftpd

编辑配置文件:

sudo nano /etc/vsftpd.conf
常见配置项(按需修改):
# 允许本地用户登录
local_enable=YES
write_enable=YES

# 限制用户访问家目录(避免访问系统其他文件)
chroot_local_user=YES
allow_writeable_chroot=YES

# 设置被动模式端口范围(适用于防火墙/NAT环境)
pasv_min_port=30000
pasv_max_port=31000
pasv_address=你的服务器公网IP  # 如果NAT环境需指定

# 禁止匿名登录(建议关闭)
anonymous_enable=NO

# 日志记录
xferlog_enable=YES

4. 创建FTP用户

# 创建用户(如 ftpuser)
sudo useradd -m ftpuser
sudo passwd ftpuser

# 如需限制用户只能访问特定目录(如 /var/ftp):
sudo useradd -d /var/ftp -s /bin/bash ftpuser
sudo chown -R ftpuser:ftpuser /var/ftp

5. 防火墙设置

# 开放21端口(控制连接)和被动模式端口范围
sudo ufw allow 21/tcp
sudo ufw allow 30000:31000/tcp  # 与配置中的pasv端口一致

# CentOS/RHEL(firewalld)
sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-port=30000-31000/tcp
sudo firewall-cmd --reload

6. 重启服务

sudo systemctl restart vsftpd

7. 测试连接

使用FTP客户端(如 FileZilla、命令行工具):

可选:安全增强

使用SSL/TLS加密

# 生成SSL证书
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
  -keyout /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.crt

在配置文件中添加:

ssl_enable=YES
rsa_cert_file=/etc/ssl/certs/vsftpd.crt
rsa_private_key_file=/etc/ssl/private/vsftpd.key

限制用户列表

userlist_enable=YES
userlist_file=/etc/vsftpd.user_list  # 一行一个用户名
userlist_deny=NO  # 仅允许列表中的用户登录

常见问题

如果需要更简单的方案,可考虑 proftpdpure-ftpd,步骤类似。根据需求调整配置即可。

相关推荐