插件窝 干货文章 linux ftp服务器怎么搭建

linux ftp服务器怎么搭建

sudo 使用 vsftpd FTP 654    来源:    2025-04-06

Linux FTP服务器搭建指南

搭建FTP服务器是Linux系统中常见的需求,以下是几种常见的搭建方法:

1. 使用vsftpd (推荐)

vsftpd (Very Secure FTP Daemon) 是一个安全、快速的FTP服务器。

安装步骤

# Ubuntu/Debian
sudo apt update
sudo apt install vsftpd

# CentOS/RHEL
sudo yum install vsftpd

配置vsftpd

编辑配置文件:

sudo nano /etc/vsftpd.conf

常用配置选项:

anonymous_enable=NO       # 禁止匿名登录
local_enable=YES          # 允许本地用户登录
write_enable=YES          # 允许写操作
local_umask=022           # 本地用户文件权限掩码
dirmessage_enable=YES     # 显示目录消息
xferlog_enable=YES        # 启用传输日志
connect_from_port_20=YES  # 使用标准FTP端口
chroot_local_user=YES     # 将用户限制在其主目录
allow_writeable_chroot=YES # 允许被限制用户写入
pasv_enable=YES           # 启用被动模式
pasv_min_port=40000       # 被动模式最小端口
pasv_max_port=50000       # 被动模式最大端口

启动服务

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

创建FTP用户

sudo useradd -m ftpuser
sudo passwd ftpuser

2. 使用ProFTPD

ProFTPD是另一个流行的FTP服务器。

安装

# Ubuntu/Debian
sudo apt install proftpd

# CentOS/RHEL
sudo yum install proftpd

配置

编辑 /etc/proftpd/proftpd.conf,基本配置类似于vsftpd。

3. 使用pure-ftpd

pure-ftpd是一个简单、安全的FTP服务器。

安装

# Ubuntu/Debian
sudo apt install pure-ftpd

# CentOS/RHEL
sudo yum install pure-ftpd

防火墙设置

如果使用防火墙,需要开放FTP端口:

# 开放21端口和被动模式端口范围
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp

测试FTP连接

可以使用FTP客户端如FileZilla或命令行工具测试:

ftp your_server_ip

安全建议

  1. 使用SFTP(SSH文件传输协议)替代FTP,更加安全
  2. 如果必须使用FTP,考虑启用TLS加密
  3. 限制可以登录的用户
  4. 定期检查日志文件

SFTP替代方案(推荐)

如果安全性是首要考虑,建议使用SFTP(基于SSH的文件传输):

# 确保SSH服务器已安装
sudo apt install openssh-server

# 创建SFTP专用用户组
sudo groupadd sftpusers

# 创建SFTP用户(限制只能使用SFTP)
sudo useradd -G sftpusers -s /bin/false sftpuser
sudo passwd sftpuser

# 配置SSH
sudo nano /etc/ssh/sshd_config

添加以下内容:

Match Group sftpusers
    ChrootDirectory /home/%u
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

重启SSH服务:

sudo systemctl restart sshd

这样用户就可以通过SFTP客户端连接,但无法获得shell访问权限。