温馨提示×

debian vsftp权限咋设

小樊
32
2026-10-10 20:32:29
栏目: 智能运维

在 Debian 上用 vsftpd 时,“权限”一般分三层:系统用户权限 → vsftpd 配置权限 → 目录权限。下面按常见场景给你讲清楚。


一、先装 vsftpd

sudo apt update
sudo apt install vsftpd

配置文件位置:

/etc/vsftpd.conf

二、最常见的两种用法

✅ 场景 1:用系统用户登录 FTP(推荐新手)

比如用户 ftpuser,家目录 /home/ftpuser

1️⃣ 创建用户

sudo adduser ftpuser

2️⃣ vsftpd 配置

编辑 /etc/vsftpd.conf:

local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES

⚠️ 如果不加 allow_writeable_chroot=YES 用户家目录 不能可写,否则登录失败

3️⃣ 目录权限

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

✅ 结果:

  • 用户只能看到自己家目录
  • 可上传 / 下载

✅ 场景 2:只允许上传,不允许删除(常见业务)

sudo chmod 555 /home/ftpuser
sudo mkdir /home/ftpuser/upload
sudo chmod 755 /home/ftpuser/upload
sudo chown ftpuser:ftpuser /home/ftpuser/upload

vsftpd 里加:

write_enable=YES

三、匿名 FTP(不推荐,除非内网)

anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES

目录权限:

sudo chown ftp:ftp /srv/ftp
sudo chmod 755 /srv/ftp

四、虚拟用户(企业常用,但稍复杂)

如果你要 多个 FTP 账号但不用系统用户,用:

  • pam_userdb
  • 或 virtual_users

需要我单独写一份 Debian vsftpd 虚拟用户教程 也可以。


五、常见坑(非常重要)

❌ 登录失败:

  • chroot 目录可写但没加 allow_writeable_chroot
  • SELinux(Debian 一般没有)
  • 防火墙没开 21 端口

❌ 能登录但不能上传:

  • write_enable=NO
  • 目录权限不对

六、重启 vsftpd

sudo systemctl restart vsftpd
sudo systemctl enable vsftpd

如果你告诉我:

  • ✅ 用系统用户还是虚拟用户
  • ✅ 要不要限制目录
  • ✅ 要不要只读 / 只写

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

0 踩