Pureftpd 配置不受尊重

Pureftpd 配置不受尊重

我已经在 16.04 上安装了 Pureftpd,但我无法按照我想要的方式对其进行配置。

我想阻止常规系统用户登录,因此我获取了/etc/pure-ftpd/conf/UnixAuthentication包含内容的文件和指向no的符号链接。当我重新启动 pureftpd 服务器时,我仍然能够以任何系统用户身份登录。/etc/pure-ftpd/auth/65unix/etc/pure-ftpd/conf/UnixAuthentication

我尝试删除带有内容no和符号链接的链接/etc/pure-ftpd/auth/65unix,但我仍然能够登录。

当我重新启动服务器时,我正在使用 systemctl restart。

看来服务器没有遵守配置。我怎样才能让 pureftpd 不允许普通用户登录?

更新

好的,所以配置文件是被尊重的。至少是MinUID和的配置文件NoAnonymous。只是将的内容/etc/pure-ftpd/conf/UnixAuthentication从是更改为否没有效果。要么这个配置选项没有像我预期的那样工作并阻止系统用户登录,要么这个选项不起作用。

进一步更新

刚刚发现了显示 pure-ftpd 正在运行的选项的命令pure-ftpd-wrapper --show-options。当我将的内容设置/etc/pure-ftpd/conf/UnixAuthentication为 No 时,的输出pure-ftpd-wrapper --show-options

-J ALL:!aNULL:!SSLv3 -u 1000 -8 UTF-8 -E -O clf:/var/log/pure-ftpd/transfer.log -g /var/run/pure-ftpd/pure-ftpd.pid

当我将其设置为是时,输出为

-l unix -J ALL:!aNULL:!SSLv3 -u 1000 -8 UTF-8 -E -O clf:/var/log/pure-ftpd/transfer.log -g /var/run/pure-ftpd/pure-ftpd.pid

pure-ftpd 的手册页说-l unix For standard (/etc/passwd) authentication.

我不明白为什么没有-l unix选项的纯 ftpd 允许用户通过标准 linux(/etc/passwd)帐户进行身份验证登录系统。

答案1

etc/pure-ftpd/conf/UnixAuthentication因此,似乎没有明确设置身份验证方法,Pureftpd 默认使用 /etc/passwd 中的标准 unix 身份验证。即使明确设置为 no,也是如此!

pure-ftpd-wrapper 和 pure-ftpd 本身似乎不匹配。Pure-ftpd 仅具有命令行开关来明确启用身份验证方法,而没有明确排除方法。但是,pure-ftpd-wrapper 手册页说

To disable the option use "No",0 or "Off".

但实际上它所能做的就是不是将“on”开关传递给 pure-ftpd 的命令行参数,因为 pure-ftpd 不接受任何禁用标志。

由于 pure-ftpd 在没有任何其他类型的身份验证的情况下会回退到 Unix 身份验证,因此“Off”标志的存在与“On”标志的不存在不同!

通过启用 PureDB 身份验证,我能够禁用标准 Unix 身份验证,因为它似乎取代了默认身份验证。

相关内容