插件窝 干货文章 如何在Linux上安装和配置FTP服务器

如何在Linux上安装和配置FTP服务器

vsftpd sudo FTP 用户 214    来源:    2025-04-16

在Linux上安装和配置FTP服务器指南

FTP(文件传输协议)服务器是Linux系统中常用的文件共享服务。以下是详细的安装和配置步骤:

1. 选择并安装FTP服务器软件

常见的FTP服务器软件有: - vsftpd (Very Secure FTP Daemon) - 轻量级且安全 - ProFTPD - 功能丰富 - Pure-FTPd - 简单易用

推荐使用vsftpd,安装命令:

# 对于基于Debian的系统(如Ubuntu)
sudo apt update
sudo apt install vsftpd

# 对于基于RHEL的系统(如CentOS)
sudo yum install vsftpd

2. 基本配置

编辑配置文件(通常位于/etc/vsftpd.conf):

sudo nano /etc/vsftpd.conf

常用配置选项:

# 禁止匿名登录(提高安全性)
anonymous_enable=NO

# 允许本地用户登录
local_enable=YES

# 允许上传文件
write_enable=YES

# 本地用户创建文件的umask
local_umask=022

# 禁止用户离开其主目录(增强安全性)
chroot_local_user=YES
allow_writeable_chroot=YES

# 被动模式设置(适合防火墙后的服务器)
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000

3. 用户管理

创建专用FTP用户(推荐)

sudo useradd -m ftpuser
sudo passwd ftpuser

限制用户只能访问FTP

sudo usermod -s /sbin/nologin ftpuser

4. 防火墙配置

允许FTP端口通过防火墙:

# 对于UFW(Ubuntu)
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp

# 对于firewalld(CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=20-21/tcp
sudo firewall-cmd --permanent --add-port=40000-50000/tcp
sudo firewall-cmd --reload

5. 启动并启用服务

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

6. 测试FTP服务器

使用FTP客户端(如FileZilla)或命令行测试:

ftp your_server_ip

高级配置选项

SSL/TLS加密

  1. 生成SSL证书:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
  1. 在配置文件中添加:
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

限制用户访问特定目录

user_sub_token=$USER
local_root=/var/ftp/$USER

然后为每个用户创建目录并设置权限。

常见问题解决

  1. 连接被拒绝:检查防火墙设置和vsftpd服务是否运行
  2. 登录失败:确保用户存在且密码正确
  3. 无法上传文件:检查目录权限和write_enable设置
  4. 被动模式问题:检查被动端口范围是否在防火墙中开放

安全建议

  1. 尽可能使用SFTP(SSH文件传输)代替FTP
  2. 如果必须使用FTP,启用SSL/TLS加密
  3. 定期更新FTP服务器软件
  4. 限制可以访问FTP的用户
  5. 监控FTP日志(/var/log/vsftpd.log)

通过以上步骤,您应该能够在Linux系统上成功安装和配置一个功能完善的FTP服务器。