温馨提示×

Ubuntu vsftp多用户如何设置

小樊
40
2025-10-24 19:39:37
栏目: 智能运维

Ubuntu下vsftpd多用户设置步骤

1. 安装vsftpd

首先更新系统包列表并安装vsftpd:

sudo apt update
sudo apt install vsftpd

2. 配置vsftpd核心参数

编辑vsftpd主配置文件/etc/vsftpd.conf,按需修改以下关键参数:

  • 允许本地用户登录local_enable=YES
  • 开启写权限(若需用户上传文件):write_enable=YES
  • 隔离用户至主目录(增强安全性):chroot_local_user=YES
  • 允许chroot目录可写(若用户需修改自身目录):allow_writeable_chroot=YES
  • 启用被动模式(解决防火墙/NAT连接问题):pasv_enable=YES pasv_min_port=1024 pasv_max_port=1048
  • 禁用匿名登录(推荐):anonymous_enable=NO
  • 限制最大并发连接(可选):max_clients=100(全局最大连接数)
  • 限制单用户速率(可选):local_max_rate=50000(单位:字节/秒,限制单用户下载/上传速度)

注:若需通过用户列表控制访问(白名单模式),需额外添加:
userlist_enable=YES userlist_file=/etc/vsftpd.user_list userlist_deny=NO(允许列表内用户登录)。

3. 创建FTP用户并设置目录权限

  • 创建系统用户(每个FTP用户对应一个系统用户):
    sudo adduser ftpuser1  # 按提示设置密码及用户信息
    
  • 禁止SSH登录(可选,提升安全性):
    将用户shell修改为/sbin/nologin,防止通过SSH登录服务器:
    sudo usermod -s /sbin/nologin ftpuser1
    
  • 设置用户目录权限
    确保FTP用户的家目录归属正确且可访问:
    sudo chown -R ftpuser1:ftpuser1 /home/ftpuser1  # 归属用户及组
    sudo chmod -R 755 /home/ftpuser1                # 目录权限(所有者可读写执行,其他用户可读执行)
    

4. 配置防火墙(若启用)

若服务器启用了UFW防火墙,需开放FTP相关端口:

sudo ufw allow 21/tcp       # FTP默认控制端口
sudo ufw allow 1024:1048/tcp # 被动模式数据端口范围
sudo ufw enable             # 启用防火墙

5. 重启vsftpd服务

应用所有配置变更:

sudo systemctl restart vsftpd

6. 测试FTP连接

使用FTP客户端(如FileZilla)连接服务器:

  • 主机:服务器IP地址
  • 用户名/密码:步骤3中创建的FTP用户凭证
  • 端口:21(控制端口)
    验证是否能正常登录、上传/下载文件。

7. 可选:配置SSL/TLS加密(提升安全性)

若需加密FTP传输(避免数据明文泄露),可按以下步骤配置:

  • 安装vsftpd SSL模块
    sudo apt install vsftpd-ssl
    
  • 生成自签名证书(有效期365天):
    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
    
  • 修改配置文件
    /etc/vsftpd.conf中添加:
    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
    
  • 重启服务
    sudo systemctl restart vsftpd
    

通过以上步骤,即可在Ubuntu上完成vsftpd的多用户设置,支持多个用户独立登录并管理自己的主目录。根据实际需求,可进一步调整并发连接数、速率限制或扩展用户列表控制。

0