温馨提示×

Ubuntu vsftp如何设置

小樊
52
2025-10-11 23:38:01
栏目: 智能运维

Ubuntu vsftpd配置指南

1. 安装vsftpd

首先更新系统软件包列表,然后通过APT安装vsftpd:

sudo apt update
sudo apt install vsftpd -y

2. 配置vsftpd

2.1 备份默认配置文件

修改配置文件前,建议备份原文件:

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

2.2 编辑配置文件

使用文本编辑器(如nano)打开配置文件:

sudo nano /etc/vsftpd.conf

修改或添加以下关键配置(按需调整):

  • 基础安全与访问控制
    anonymous_enable=NO       # 禁止匿名用户登录(增强安全性)
    local_enable=YES          # 允许本地系统用户登录
    write_enable=YES          # 允许本地用户上传/修改文件
    chroot_local_user=YES     # 将用户限制在自己的主目录(防止越权访问)
    allow_writeable_chroot=YES # 允许chroot目录可写(若用户需要上传文件)
    
  • 被动模式设置(解决防火墙/NAT环境下的连接问题):
    pasv_enable=YES           # 启用被动模式
    pasv_min_port=30000       # 被动模式最小端口(自定义范围)
    pasv_max_port=31000       # 被动模式最大端口
    
  • 用户列表控制(可选,更严格的访问控制):
    userlist_enable=YES       # 启用用户列表
    userlist_file=/etc/vsftpd.user_list # 用户列表文件路径
    userlist_deny=NO          # 仅允许列表中的用户登录(若设为YES则拒绝列表用户)
    

2.3 保存并退出

Ctrl+O保存文件,Ctrl+X退出编辑器。

3. 创建FTP专用用户

为避免使用root账户登录,建议创建专用FTP用户(无SSH登录权限):

sudo useradd -m ftpuser -s /usr/sbin/nologin  # 创建用户(-s指定无shell登录)
sudo passwd ftpuser                           # 设置用户密码

3.1 将用户加入白名单

编辑用户列表文件,添加允许登录的用户名:

echo "ftpuser" | sudo tee -a /etc/vsftpd.user_list

4. 设置目录权限

确保用户主目录及上传目录权限正确(避免权限过高导致安全问题):

sudo chown ftpuser:ftpuser /home/ftpuser      # 设置主目录所有者
sudo chmod 755 /home/ftpuser                  # 主目录权限(所有者可读写执行,其他用户只读)
sudo mkdir -p /home/ftpuser/upload            # 创建上传子目录
sudo chown ftpuser:ftpuser /home/ftpuser/upload # 上传目录所有者
sudo chmod 775 /home/ftpuser/upload           # 上传目录权限(所有者可读写执行,组用户可读写)

5. 配置防火墙

若使用ufw防火墙,需放行FTP控制端口(21)和被动模式端口范围:

sudo ufw allow 21/tcp                         # FTP控制端口
sudo ufw allow 30000:31000/tcp                # 被动模式端口范围
sudo ufw reload                               # 重新加载防火墙规则

6. 重启vsftpd服务

使配置生效,重启vsftpd服务并设置开机自启:

sudo systemctl restart vsftpd
sudo systemctl enable vsftpd                  # 开机自动启动

7. 测试FTP连接

使用FTP客户端(如FileZilla或命令行工具)连接服务器:

  • 命令行测试
    ftp your_server_ip
    
    输入用户名ftpuser和密码,验证是否能登录及上传/下载文件。
  • 图形工具测试: 在FileZilla中填写服务器IP、用户名、密码(端口21),点击“快速连接”。

8. 安全增强建议

  • 启用TLS加密(FTPS):在配置文件中添加SSL证书路径,启用加密传输(参考vsftpd官方文档)。
  • 使用SFTP替代:SFTP基于SSH,更安全且无需额外安装,通过ssh命令或FileZilla的SFTP协议连接。
  • 定期更新软件:保持vsftpd及系统软件包最新,修复安全漏洞。
  • 强密码策略:为用户设置复杂密码(包含大小写字母、数字、特殊字符)。

0