温馨提示×

Ubuntu vsftp用户权限设置

小樊
55
2025-09-27 07:13:14
栏目: 智能运维

Ubuntu下vsftpd用户权限设置指南

一、安装vsftpd

在Ubuntu系统上,首先需要安装vsftpd(Very Secure FTP Daemon)。打开终端,执行以下命令更新软件包列表并安装vsftpd:

sudo apt update
sudo apt install vsftpd

二、配置vsftpd基础权限

安装完成后,需编辑vsftpd的主配置文件/etc/vsftpd.conf(使用sudo nano /etc/vsftpd.conf),通过以下关键参数设置用户权限:

  • 允许本地用户登录:取消local_enable=YES的注释(或设置为YES),允许系统本地用户通过FTP登录。
  • 开启写入权限:设置write_enable=YES,允许用户上传、删除或修改文件。
  • 限制用户至主目录(chroot):设置chroot_local_user=YES,将用户锁定在自己的主目录(如/home/ftpuser),防止访问系统其他路径,提升安全性。
  • 允许chroot环境写入:若启用了chroot_local_user=YES,必须设置allow_writeable_chroot=YES,否则用户无法在其主目录中进行写入操作(如创建文件夹、上传文件)。
  • (可选)限制用户列表:若需精确控制可访问用户,可启用userlist_enable=YES,指定用户列表文件路径userlist_file=/etc/vsftpd.user_list,并通过userlist_deny=NO设置仅允许列表中的用户登录(若设为YES则拒绝列表用户)。

三、创建FTP用户并设置主目录权限

  1. 创建系统用户:使用adduser命令创建FTP专用用户(如ftpuser),并按照提示设置密码及其他信息(如全名、邮箱)。为增强安全性,建议禁用该用户的shell访问权限(避免通过SSH登录):
    sudo adduser ftpuser
    sudo usermod -s /sbin/nologin ftpuser
    
  2. 设置主目录权限:确保用户的主目录(默认为/home/ftpuser)归属正确且权限开放。使用以下命令将主目录所有者设为用户自身,并设置目录权限为755(允许用户读写执行,其他用户仅读执行):
    sudo chown ftpuser:ftpuser /home/ftpuser
    sudo chmod 755 /home/ftpuser
    

四、重启vsftpd服务使配置生效

完成配置文件修改及用户设置后,重启vsftpd服务以应用更改:

sudo systemctl restart vsftpd

五、配置防火墙(可选但推荐)

若服务器开启了防火墙(如ufw),需允许FTP默认端口(21/tcp)的流量通过,否则客户端无法连接:

sudo ufw allow 21/tcp

六、测试FTP连接

使用FTP客户端(如FileZilla)或命令行工具(如ftp),输入服务器IP地址、FTP用户名及密码进行连接。连接成功后,尝试上传、下载或创建文件,验证权限设置是否符合预期(如能否写入主目录)。

七、额外安全建议

  • 使用强密码:为FTP用户设置复杂且独特的密码(包含大小写字母、数字及特殊字符),避免密码被破解。
  • 限制用户列表:通过/etc/vsftpd.user_list文件仅添加可信用户,减少潜在的安全风险。
  • 监控日志文件:定期检查vsftpd的日志文件(通常位于/var/log/vsftpd.log),及时发现异常登录或操作行为。

0