You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法通过Unix凭证登录Orange Pi Zero上的PureFTP求助

解决Orange Pi Zero上PureFTP无法使用系统凭证登录的问题(Armbian 5.38 Ubuntu)

看了你的问题:已经把UnixAuthentication设为yes、PAMAuthentication设为no,但登录时还是被判定为匿名用户(ANONY. OFF),而且你不想用虚拟用户、也不想依赖pure-ftpd.conf,还怀疑是TLS的问题。我来帮你一步步排查解决:

1. 先确认PureFTP的实际启动参数

因为你没用到pure-ftpd.conf,PureFTP的所有配置都来自启动命令行参数。先看看当前运行的PureFTP进程带了哪些参数:

ps aux | grep pure-ftpd

你需要确保:

  • 启动参数里有--unixauth(对应UnixAuthentication=yes)
  • 没有--anonymous-only、--no-unixauth这类强制匿名或禁用系统用户登录的参数
  • 同时没有--pamauth参数(毕竟你关掉了PAM验证)

如果参数不对,就去修改启动脚本——比如/etc/init.d/pure-ftpd或者systemd服务文件/lib/systemd/system/pure-ftpd.service,调整完重启服务就行。

2. 验证TLS是否真的是问题根源

你怀疑TLS影响,这个方向很对:

  • 如果你开了强制TLS(比如--tls=2),但客户端没用到FTPS连接,服务器会拒绝非TLS的身份验证请求,表现出来就像是匿名登录失败。
  • 先临时关闭TLS测试:在启动参数里加--tls=0,然后重启服务:
sudo systemctl restart pure-ftpd

如果关闭后能正常用系统用户登录,那就是TLS的锅。这时候可以把TLS参数改成--tls=1(允许但不强制),同时确保服务器有有效的SSL证书——用openssl生成自签名证书就行:

openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem -days 365

然后在启动参数里加上--tls-cert=/etc/ssl/private/pure-ftpd.pem。

3. 检查系统用户的登录限制

  • 看看有没有文件把你的用户拉黑了:检查/etc/pure-ftpd/ftpusers或者/etc/ftpusers,如果你的用户名在里面,删掉它就行。
  • 确认用户主目录的权限:PureFTP需要能访问用户的主目录,用ls -ld /home/你的用户名检查,确保用户自己有读写权限。

4. 看日志找具体错误

开启日志能帮你精准定位问题:

  • 在启动参数里加上--verbose和--logfile=/var/log/pure-ftpd.log,重启服务后尝试登录,然后看日志:
sudo tail -f /var/log/pure-ftpd.log

日志里会明确告诉你失败原因,比如“Unix authentication failed”或者“TLS required but not used”,照着解决就行。

5. 确认PureFTP支持Unix身份验证

虽然Armbian的包一般都支持,但还是确认下:

pure-ftpd --help | grep unixauth

如果输出里有--unixauth选项,说明没问题;如果没有,可能需要重新编译PureFTP并开启Unix身份验证支持。


内容的提问来源于stack exchange,提问作者M. Mariscal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:07:21