温馨提示×

Ubuntu vsftpd权限设置方法

小樊
36
2025-11-06 15:21:43
栏目: 智能运维

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)chroot_local_user=YES(将用户锁定在自己的主目录,防止访问系统其他部分);若开启此选项,需添加allow_writeable_chroot=YES(允许chroot目录可写,否则用户无法上传文件)。
  • 禁用匿名访问(可选但推荐):anonymous_enable=NO(避免未授权访问)。
  • 配置用户列表(可选):若需限制可登录用户,设置userlist_enable=YESuserlist_file=/etc/vsftpd.user_listuserlist_deny=NO(仅允许列表中的用户登录)。

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

  • 创建用户:使用adduser命令创建专用FTP用户(避免使用root),并按照提示设置密码:
    sudo adduser ftpuser
    
  • 设置主目录所有权:将用户的主目录(默认/home/ftpuser)所有权赋予该用户,确保其有访问权限:
    sudo chown ftpuser:ftpuser /home/ftpuser
    
  • 设置主目录权限:主目录权限设为755(所有者可读/写/执行,其他用户仅可读/执行),避免权限过宽导致安全风险:
    sudo chmod 755 /home/ftpuser
    

4. 配置上传目录权限(可选但常用)

若需允许用户上传文件,建议创建单独的上传目录(如uploads),并设置更宽松的权限(所有者可读/写/执行,组和其他用户可读/执行):

sudo mkdir /home/ftpuser/uploads
sudo chown ftpuser:ftpuser /home/ftpuser/uploads
sudo chmod 775 /home/ftpuser/uploads

5. 处理SELinux问题(若系统启用)

若系统启用了SELinux,需调整策略以允许FTP访问用户主目录:

sudo setsebool -P ftp_home_dir on  # 允许FTP访问用户主目录
sudo setsebool -P allow_ftpd_full_access on  # 允许FTP完全访问(根据需求选择)

6. 重启vsftpd服务应用更改

修改配置或权限后,重启vsftpd服务使更改生效:

sudo systemctl restart vsftpd

7. 配置防火墙允许FTP流量

若服务器启用了防火墙(如ufw),需开放FTP相关端口(默认21端口,被动模式需开放额外端口范围):

sudo ufw allow 21/tcp  # FTP控制端口
sudo ufw allow 1024:1048/tcp  # FTP被动模式数据端口(根据实际情况调整范围)
sudo ufw reload  # 重新加载防火墙规则

8. 测试FTP连接

使用FTP客户端(如FileZilla)连接服务器,输入FTP用户名和密码,验证是否能正常登录、上传/下载文件。若无法连接,可检查/var/log/vsftpd.log日志文件排查问题。

0