Debian下vsFTP权限管理主要涉及用户、目录、配置文件及服务设置,具体如下:
-
用户管理
- 创建专用FTP用户(如
ftpuser)并设置密码:
sudo adduser ftpuser。 - 限制用户主目录权限(通常为
755):
sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser。
- 创建专用FTP用户(如
-
配置文件设置(/etc/vsftpd.conf)
- 基础权限:
- 启用本地用户登录:
local_enable=YES。 - 允许写操作(上传/删除):
write_enable=YES。 - 禁止匿名访问(可选):
anonymous_enable=NO。
- 启用本地用户登录:
- 安全限制:
- 限制用户至主目录(chroot):
chroot_local_user=YES
allow_writeable_chroot=YES。 - 通过用户列表控制访问(白名单):
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO。
- 限制用户至主目录(chroot):
- 基础权限:
-
目录权限
- 上传目录需单独设置写权限(若允许上传):
sudo mkdir /home/ftpuser/uploads
sudo chown ftpuser:ftpuser /home/ftpuser/uploads
sudo chmod 775 /home/ftpuser/uploads。
- 上传目录需单独设置写权限(若允许上传):
-
服务与防火墙
- 重启vsFTP服务应用配置:
sudo systemctl restart vsftpd。 - 配置防火墙(以UFW为例):
sudo ufw allow 20/tcp 21/tcp 1024:1048/tcp
sudo ufw reload。
- 重启vsFTP服务应用配置:
-
高级选项(可选)
- 启用被动模式端口范围:
pasv_enable=YES
pasv_min_port=1024pasv_max_port=1048。 - 禁用SELinux或调整策略(若启用):
sudo setenforce 0或通过/etc/selinux/config永久设置。
- 启用被动模式端口范围:
关键文件说明:
/etc/vsftpd.conf:核心配置文件,控制用户权限、传输模式等。/etc/vsftpd.userlist:定义允许/拒绝访问的用户列表。- 日志文件:
/var/log/vsftpd.log,用于排查权限或连接问题。
参考来源: