在 Debian 上设置 FTP 用户,通常分为安装 FTP 服务、创建系统用户、配置 FTP 服务、设置权限与目录几个步骤。下面以最常见的 vsftpd(Very Secure FTP Daemon)为例说明。
sudo apt update
sudo apt install vsftpd
安装完成后,服务一般会自动启动:
sudo systemctl status vsftpd
sudo adduser ftpuser
按提示设置密码和用户信息。
⚠️ 如果不希望该用户登录系统,可改为:
sudo useradd -m -s /usr/sbin/nologin ftpuser
sudo passwd ftpuser
编辑配置文件:
sudo nano /etc/vsftpd.conf
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
说明:
anonymous_enable=NO:禁止匿名登录local_enable=YES:允许本地用户登录write_enable=YES:允许上传chroot_local_user=YES:限制用户在其主目录保存后重启服务:
sudo systemctl restart vsftpd
默认用户主目录:
/home/ftpuser
如需自定义目录:
sudo mkdir -p /srv/ftp/ftpuser
sudo chown ftpuser:ftpuser /srv/ftp/ftpuser
并在 /etc/passwd 中修改用户主目录,或创建时指定:
sudo useradd -m -d /srv/ftp/ftpuser -s /usr/sbin/nologin ftpuser
如果启用了防火墙:
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
若使用被动模式(推荐):
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000
并放行端口:
sudo ufw allow 40000:50000/tcp
ftp localhost
或使用 FileZilla / WinSCP 测试。
write_enable=YESsudo chmod 755 /home/ftpuser
加入:
allow_writeable_chroot=YES
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
并将用户名加入:
echo ftpuser | sudo tee -a /etc/vsftpd.userlist
如果你需要的是:
可以告诉我,我可以进一步给你配置示例。