在 Ubuntu 上配置 FTP 服务器权限,通常取决于你用的是哪种 FTP 服务,最常见的是 vsftpd。下面我按「最常见场景」一步步说明。
sudo apt update
sudo apt install vsftpd
sudo nano /etc/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
⚠️ 如果不加
allow_writeable_chroot=YES,用户目录可写会报错
ftpusersudo useradd -m ftpuser
sudo passwd ftpuser
设置目录权限:
sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser
如果用户需要 上传文件:
sudo chmod 775 /home/ftpuser
sudo nano /etc/vsftpd.user_list
加入用户名,例如:
root
配置:
userlist_enable=YES
userlist_deny=YES
如果你不想用系统用户,可以用 虚拟用户 + PAM。
简单思路:
db_load 生成用户数据库需要的话我可以单独写一份 虚拟用户完整配置教程。
sudo ufw allow 21/tcp
sudo systemctl restart vsftpd
| 问题 | 原因 |
|---|---|
| 530 Login incorrect | PAM / 密码错误 |
| 500 OOPS: chroot | 目录权限不对 |
| 无法上传 | write_enable=NO |
| 被动模式连不上 | 未配置 pasv |
如果你愿意,可以告诉我:
我可以直接给你一份 可用配置文件。