Ubuntu FTP服务器权限管理主要通过vsftpd软件实现,关键操作如下:
-
安装vsftpd
sudo apt update && sudo apt install vsftpd -
配置权限
- 编辑配置文件:
/etc/vsftpd.conf- 禁止匿名登录:
anonymous_enable=NO - 允许本地用户登录:
local_enable=YES - 允许上传/删除文件:
write_enable=YES - 限制用户主目录(防越权):
chroot_local_user=YES,并配合allow_writeable_chroot=YES允许写入 - 可选:通过
userlist_enable=YES设置允许登录的用户白名单
- 禁止匿名登录:
- 保存后重启服务:
sudo systemctl restart vsftpd
- 编辑配置文件:
-
用户权限设置
- 创建用户:
sudo adduser ftpuser(无SSH权限可设-s /sbin/nologin) - 设置主目录权限:
sudo chown ftpuser:ftpuser /home/ftpuser sudo chmod 755 /home/ftpuser # 主目录权限(读/执行) sudo chmod 775 /home/ftpuser/upload # 上传目录权限(读/写/执行)
- 创建用户:
-
防火墙配置
开放FTP端口(21)及被动模式端口范围(如30000-31000):sudo ufw allow 21/tcp sudo ufw allow 30000:31000/tcp sudo ufw reload -
安全增强(可选)
- 启用SSL/TLS加密传输:在配置文件中添加
ssl_enable=YES并配置证书。 - 禁用shell登录:
sudo usermod -s /bin/false ftpuser。
- 启用SSL/TLS加密传输:在配置文件中添加
注意:修改配置后需重启服务生效,可通过/var/log/vsftpd.log查看日志排查问题。