我知道可以使用 htpasswd(libpam-pwdfile)登录 vsftpd,但在我阅读的每个教程中,他们都使用虚拟用户。
我的用户不是虚拟的,他们是使用“adduser”命令添加的本地用户,我想允许他们登录到 FTP 服务器,但使用存储在 htpasswd 中的密码。
我该怎么做?此功能仅适用于虚拟用户吗?
答案1
Linux系统一般使用sudo passwd userid
工具来设置密码,为了让两个系统htpassword/htaccess
和Ubuntu系统的登录账户拥有相同的密码,一个方便的方法是将两个系统的密码设置为相同。
Linux 帐户不能有两个不同的登录密码。但是,可以为两个不同的帐户设置相同的密码。要实现您所描述的效果,您必须为两个不同的帐户设置相同的密码……Linux 帐户和帐户htpasswd
(即 Web 服务器帐户)。
执行后者通常是为了方便。
答案2
要禁用匿名登录并启用本地用户登录并授予他们写权限:
# No anonymous login
anonymous_enable=NO
# Let local users login
# If you connect from the internet with local users, you should enable TLS/SSL/FTPS
local_enable=YES
# Write permissions
write_enable=YES
为了允许他们通过设置的密码登录httpasswd
,您需要一个可以自动更新该密码的工作流程。
创建脚本,PATH
将此脚本的位置导出给这些用户并自动化工作流程。这就是您可以轻松完成的一切。