首页主机资讯如何在Ubuntu上设置FTP用户权限

如何在Ubuntu上设置FTP用户权限

时间2025-10-03 02:26:03发布访客分类主机资讯浏览546
导读:在Ubuntu上设置FTP用户权限的详细步骤(以vsftpd为例) 1. 安装vsftpd vsftpd(Very Secure FTP Daemon)是Ubuntu上常用的FTP服务器软件,首先需要安装: sudo apt update...

在Ubuntu上设置FTP用户权限的详细步骤(以vsftpd为例)

1. 安装vsftpd

vsftpd(Very Secure FTP Daemon)是Ubuntu上常用的FTP服务器软件,首先需要安装:

sudo apt update
sudo apt install vsftpd

2. 配置vsftpd

编辑vsftpd的主配置文件/etc/vsftpd.conf,调整以下关键参数以控制用户权限:

sudo nano /etc/vsftpd.conf
  • 基础权限设置
    • local_enable=YES:允许本地系统用户登录FTP。
    • write_enable=YES:允许用户上传、删除、修改文件(默认禁止)。
    • anonymous_enable=NO:禁止匿名用户登录(提升安全性)。
  • 用户限制设置
    • chroot_local_user=YES:将用户限制在自己的主目录(防止访问系统其他目录)。
    • allow_writeable_chroot=YES:若启用了chroot_local_user,必须添加此选项,否则用户无法写入自己的主目录(会导致“500 OOPS”错误)。
  • 可选增强设置
    • userlist_enable=YES:启用用户列表文件(/etc/vsftpd.user_list),仅允许列表中的用户登录。
    • userlist_deny=NO:设置为用户列表中的用户允许登录(若设为YES则为拒绝)。
    • listen=YES:启用独立模式(避免与IPv6冲突)。
    • listen_ipv6=NO:禁用IPv6支持(如无需IPv6)。 保存并退出编辑器(Ctrl+XYEnter)。

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

(1) 创建FTP用户

使用adduser命令创建专用FTP用户(避免使用root或其他敏感账户):

sudo adduser ftpuser

按照提示设置密码(建议使用强密码)及其他信息(如姓名、电话等,可直接回车跳过)。

(2) 限制用户Shell访问(可选但推荐)

为增强安全性,禁止FTP用户通过SSH登录系统,仅允许FTP访问:

sudo usermod -s /sbin/nologin ftpuser
(3) 设置主目录权限

确保FTP用户的主目录(默认为/home/ftpuser)权限正确:

  • 基本访问权限(允许用户读取和进入目录):
    sudo chown ftpuser:ftpuser /home/ftpuser  # 将目录所有者设为用户自身
    sudo chmod 755 /home/ftpuser            # 权限:所有者可读/写/执行,组和其他用户可读/执行
    
  • 允许上传文件(需目录可写): 若需用户上传文件,可将权限调整为775(组用户也可写):
    sudo chmod 775 /home/ftpuser
    
    或保持755,但在用户主目录下创建专门的可写子目录(如/home/ftpuser/uploads):
    mkdir /home/ftpuser/uploads
    sudo chown ftpuser:ftpuser /home/ftpuser/uploads
    sudo chmod 775 /home/ftpuser/uploads
    

4. 重启vsftpd服务

修改配置后,需重启服务使更改生效:

sudo systemctl restart vsftpd

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

若服务器启用了ufw防火墙,需开放FTP端口(默认21):

sudo ufw allow 21/tcp
sudo ufw reload  # 重新加载防火墙规则

6. 测试FTP连接

使用FTP客户端(如FileZilla)或命令行工具测试连接:

ftp your_server_ip

输入创建的FTP用户名(ftpuser)和密码,验证是否能正常登录、上传/下载文件。

高级权限管理(可选)

  • 虚拟用户:通过vsftpd的虚拟用户功能,创建不依赖系统用户的FTP账号,更适合公共FTP场景。
  • 用户组权限:创建FTP用户组(如ftpgroup),将多个用户加入组,通过chownchmod设置组权限,实现批量权限管理。
  • chroot细化:通过chroot_list_enable=YESchroot_list_file,仅限制特定用户到其主目录,其他用户可访问整个系统(需谨慎使用)。

注意事项

  • FTP协议本身不加密,传输的用户名、密码及数据均为明文,建议在公共网络中使用SFTP(SSH File Transfer Protocol,基于SSH加密)替代。
  • 若需更严格的权限控制,可结合umask设置默认文件权限(如umask 022,新建文件权限为644,目录为755)。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何在Ubuntu上设置FTP用户权限
本文地址: https://pptw.com/jishu/717990.html
如何通过Ubuntu FTPServer传输大文件 Golang日志中SQL注入如何防范

游客 回复需填写必要信息