温馨提示×

Ubuntu下vsftp用户权限如何设置

小樊
57
2025-09-25 03:45:55
栏目: 智能运维

Ubuntu下VSFTP用户权限设置步骤

1. 安装VSFTPD

首先确保系统已安装VSFTPD,若未安装,执行以下命令:

sudo apt update
sudo apt install vsftpd

2. 配置VSFTPD核心权限参数

编辑VSFTPD主配置文件/etc/vsftpd.conf(使用nanovim):

sudo nano /etc/vsftpd.conf

关键配置项说明

  • 允许本地用户登录local_enable=YES(默认开启)。
  • 允许用户写入文件write_enable=YES(需开启才能上传/修改文件)。
  • 限制用户至主目录(chroot)chroot_local_user=YES(将用户锁定在自家目录,提升安全性)。
  • 允许chroot环境写入allow_writeable_chroot=YES(若开启chroot_local_user,必须设置此项,否则用户无法在其目录中写入)。
  • 禁用匿名登录anonymous_enable=NO(增强安全性,避免未授权访问)。
  • 可选:限制用户列表:若需仅允许特定用户登录,可设置userlist_enable=YESuserlist_file=/etc/vsftpd.user_listuserlist_deny=NOuser_list文件中添加允许的用户)。

保存并退出配置文件。

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

  • 创建系统用户(建议无Shell访问权限)
    sudo adduser ftpuser  # 按提示设置密码及信息
    sudo usermod -s /sbin/nologin ftpuser  # 禁止用户登录Shell
    
  • 设置主目录权限
    确保用户主目录(默认/home/ftpuser)归属正确且可访问:
    sudo chown ftpuser:ftpuser /home/ftpuser  # 归属用户及组
    sudo chmod 755 /home/ftpuser              # 允许用户读写执行,其他用户仅读执行
    
    若需自定义主目录(如/var/ftp/ftpuser),需额外修改用户主目录并设置权限:
    sudo usermod -d /var/ftp/ftpuser ftpuser
    sudo mkdir -p /var/ftp/ftpuser
    sudo chown ftpuser:ftpuser /var/ftp/ftpuser
    sudo chmod 755 /var/ftp/ftpuser
    

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

若服务器运行ufw防火墙,需开放FTP端口(默认21)及被动模式端口范围(如50000-50100):

sudo ufw allow 21/tcp
sudo ufw allow 50000:50100/tcp
sudo ufw reload

5. 重启VSFTPD服务

应用配置变更:

sudo systemctl restart vsftpd

6. 测试FTP连接

使用FTP客户端(如FileZilla)连接服务器,输入用户名(如ftpuser)及密码,验证是否能正常登录、上传/下载文件。

注意事项

  • 安全性:FTP协议传输数据未加密,建议启用SSL/TLS(设置ssl_enable=YES并配置证书)或使用SFTP(SSH File Transfer Protocol)替代。
  • 日志监控:开启传输日志(xferlog_enable=YES),定期检查/var/log/vsftpd.log以发现异常活动。
  • SELinux/AppArmor:若系统启用SELinux或AppArmor,可能需要调整策略(如setsebool -P ftpd_full_access on)以允许VSFTPD正常运行。

0