在Kali Linux中搭建FTP服务器可以通过安装vsftpd(Very Secure FTP Daemon)来实现,以下是详细步骤和配置说明,确保系统已更新,执行sudo apt update && sudo apt upgrade安装最新包,接着安装vsftpd:sudo apt install vsftpd,安装完成后,启动服务并设置为开机自启:sudo systemctl start vsftpd和sudo systemctl enable vsftpd。

接下来进行核心配置,编辑vsftpd配置文件sudo nano /etc/vsftpd.conf,关键参数如下表所示:
| 参数 | 值 | 说明 |
|---|---|---|
| anonymous_enable | NO | 禁止匿名访问 |
| local_enable | YES | 允许本地用户登录 |
| write_enable | YES | 启用写权限 |
| chroot_local_user | YES | 限制用户仅可访问家目录 |
| allow_writeable_chroot | YES | 允许chroot目录可写(需配合write_enable) |
| pasv_enable | YES | 启用被动模式 |
| pasv_min_port | 60000 | 被动模式最小端口 |
| pasv_max_port | 61000 | 被动模式最大端口 |
| user_sub_token | $USER | 用户目录标识符 |
| local_root | /home/$USER/ftp | 用户FTP根目录 |
配置完成后保存文件,创建FTP用户目录并设置权限,例如为用户kaliuser创建目录:sudo mkdir -p /home/kaliuser/ftp,sudo chown kaliuser:kaliuser /home/kaliuser/ftp,sudo chmod 755 /home/kaliuser/ftp,重启vsftpd服务:sudo systemctl restart vsftpd。
防火墙配置需允许FTP流量,若使用UFW,执行sudo ufw allow 20/tcp、sudo ufw allow 21/tcp及被动模式端口范围sudo ufw allow 60000:61000/tcp,最后测试连接,在Windows中使用FileZilla或Linux客户端执行ftp localhost,输入用户名密码验证。
相关问答FAQs:
-
Q: 如何限制FTP用户仅能上传文件而不能下载?
A: 在vsftpd.conf中添加download_enable=NO参数,重启服务即可禁止下载权限,但需确保write_enable=YES已启用。 -
Q: 连接FTP时提示“530 Login incorrect”怎么办?
A: 检查用户是否正确创建(sudo useradd -m username并设置密码sudo passwd username),确认/etc/shells中包含/bin/false或/usr/sbin/nologin(若需禁用SSH登录),并验证vsftpd.conf中local_enable=YES是否配置正确。
