温馨提示×

debian ftpserver怎么设权限

小樊
43
2026-09-03 17:29:12
栏目: 智能运维

在 Debian 上搭建 FTP 服务器(常用的是 vsftpd),权限设置主要涉及 系统用户权限、目录权限、vsftpd 配置 三部分。下面以最常见的 vsftpd 为例说明。


一、安装 vsftpd

sudo apt update
sudo apt install vsftpd

二、基本配置文件位置

/etc/vsftpd.conf

修改后重启:

sudo systemctl restart vsftpd

三、常见权限设置方式

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

anonymous_enable=NO

2️⃣ 允许本地用户登录

local_enable=YES
write_enable=YES

3️⃣ 限制用户只能访问自己的目录(重要)

chroot_local_user=YES
allow_writeable_chroot=YES

否则用户可能能浏览整个系统


4️⃣ 创建 FTP 用户并设置目录权限

sudo useradd -m ftpuser
sudo passwd ftpuser

设置家目录权限(示例):

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

如果用户需要上传:

sudo chmod 775 /home/ftpuser

5️⃣ 只允许某些用户登录(白名单)

userlist_enable=YES
userlist_deny=NO

然后编辑:

/etc/vsftpd.userlist

加入允许的用户:

ftpuser

6️⃣ 禁止某些用户登录

userlist_enable=YES
userlist_deny=YES

/etc/vsftpd.userlist 中写禁止的用户


7️⃣ 虚拟用户(高级,多用户不占系统账号)

如果你需要:

  • 多个 FTP 账号
  • 不创建 Linux 用户

可以用 PAM + 虚拟用户(稍复杂),需要的话我可以单独写一份。


四、目录权限速查表

需求 设置
只能下载 chmod 755
可上传 chmod 775
禁止访问 不在 userlist / 无权限
锁定根目录 chroot_local_user=YES

五、防火墙(如果开了)

sudo ufw allow 21

被动模式还需:

pasv_min_port=30000
pasv_max_port=31000
sudo ufw allow 30000:31000/tcp

六、排错常用命令

sudo journalctl -u vsftpd
ls -ld /home/ftpuser
getsebool -a | grep ftp   # 若启用 SELinux(Debian 默认不启用)

如果你能告诉我:

  • vsftpd / proftpd / pure-ftpd 哪个
  • 公网 / 内网
  • 只读 / 可写 / 多用户

我可以直接给你一份 可复制的配置

0