温馨提示×

ubuntu ftpserver怎么配权限

小樊
41
2026-10-14 07:50:03
栏目: 智能运维

在 Ubuntu 上配置 FTP 服务器权限,通常取决于你用的是哪种 FTP 服务,最常见的是 vsftpd。下面我按「最常见场景」一步步说明。


一、安装 vsftpd(如果还没装)

sudo apt update
sudo apt install vsftpd

二、基本配置文件位置

sudo nano /etc/vsftpd.conf

三、常见权限配置(核心)

1️⃣ 禁止匿名登录(推荐)

anonymous_enable=NO

2️⃣ 允许本地用户登录

local_enable=YES

3️⃣ 允许上传(写权限)

write_enable=YES

4️⃣ 限制用户只能访问自己的目录(Chroot)

chroot_local_user=YES
allow_writeable_chroot=YES

⚠️ 如果不加 allow_writeable_chroot=YES,用户目录可写会报错


四、给用户配置 FTP 目录权限(重点)

示例:用户 ftpuser

sudo useradd -m ftpuser
sudo passwd ftpuser

设置目录权限:

sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser

如果用户需要 上传文件:

sudo chmod 775 /home/ftpuser

五、限制某些用户不能登录 FTP(可选)

创建限制列表

sudo nano /etc/vsftpd.user_list

加入用户名,例如:

root

配置:

userlist_enable=YES
userlist_deny=YES

六、虚拟用户(进阶,推荐用于安全)

如果你不想用系统用户,可以用 虚拟用户 + PAM。

简单思路:

  • 用 db_load 生成用户数据库
  • PAM 认证
  • 每个虚拟用户映射到一个系统用户
  • 权限通过目录控制

需要的话我可以单独写一份 虚拟用户完整配置教程。


七、防火墙 & 重启服务

sudo ufw allow 21/tcp
sudo systemctl restart vsftpd

八、常见问题速查

问题 原因
530 Login incorrect PAM / 密码错误
500 OOPS: chroot 目录权限不对
无法上传 write_enable=NO
被动模式连不上 未配置 pasv

九、推荐(更安全)

  • ✅ 用 SFTP(SSH) 代替 FTP
  • ✅ 如果必须用 FTP,启用 FTPS(SSL)

如果你愿意,可以告诉我:

  • 用的是 vsftpd / proftpd / pure-ftpd
  • 是 系统用户 / 虚拟用户
  • 想实现什么权限(只读 / 上传 / 多用户隔离)

我可以直接给你一份 可用配置文件。

0 踩