我已经在16.04上安装了Pureftpd,但是我很难按照我想要的方式配置它。
我希望阻止常规系统用户登录,因此我获得了包含内容/etc/pure-ftpd/conf/UnixAuthentication的文件no和指向/etc/pure-ftpd/conf/UnixAuthentication的符号链接/etc/pure-ftpd/auth/65unix。当我重新启动pureftpd服务器时,我仍然能够与任何系统用户登录。
我尝试过删除内容no和符号链接/etc/pure-ftpd/auth/65unix的链接,但是我仍然能够登录。
当我重新启动服务器时,我使用的是systemctl重新启动。
服务器似乎不尊重配置。我怎么做才能让萤火虫不允许普通用户登录呢?
更新
好的,配置文件被尊重了。至少对于MinUID和NoAnonymous来说。只是将/etc/pure-ftpd/conf/UnixAuthentication的内容从“是”改为“否”没有效果。或者这个配置选项不像我预期的那样做,并且阻止系统用户登录,或者该选项不起作用。
进一步更新
刚刚发现了命令pure-ftpd-wrapper --show-options,它显示了使用哪些选项(纯ftpd)运行。当我将/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纯ftpd的手册页上写着-l unix For standard (/etc/passwd) authentication.
我不明白为什么没有-l unix选项的纯ftpd允许用户通过标准linux (/etc/passwd)帐户登录系统。
发布于 2016-11-14 23:09:08
因此,由于没有身份验证方法,Pureftpd默认设置为/etc/passwd中的标准unix身份验证。即使etc/pure-ftpd/conf/UnixAuthentication被显式设置为no,也是如此!
似乎纯ftpd包装器与纯ftpd本身不匹配。纯ftpd只有命令行开关来显式启用身份验证方法,而不是显式排除方法。然而,纯ftpd包装器手册页显示
To disable the option use "No",0 or "Off".但实际上,它所能做的就是不将“on”开关传递到纯-ftpd的命令行参数,因为纯-ftpd不接受任何禁用标志。
由于在没有任何其他类型的身份验证时,纯ftpd返回到Unix身份验证,所以“Off”标志的存在与“On”标志的缺失不一样!
通过启用PureDB身份验证,我能够禁用标准Unix身份验证,因为它似乎在默认情况下具有存在性。
https://askubuntu.com/questions/849487
复制相似问题