使用存储在 htpasswd 中的密码以 unix 用户身份登录

使用存储在 htpasswd 中的密码以 unix 用户身份登录

我知道可以使用 htpasswd(libpam-pwdfile)登录 vsftpd,但在我阅读的每个教程中,他们都使用虚拟用户。

我的用户不是虚拟的,他们是使用“adduser”命令添加的本地用户,我想允许他们登录到 FTP 服务器,但使用存储在 htpasswd 中的密码。

我该怎么做?此功能仅适用于虚拟用户吗?

答案1

Linux系统一般使用sudo passwd userid工具来设置密码,为了让两个系统htpassword/htaccess和Ubuntu系统的登录账户拥有相同的密码,一个方便的方法是将两个系统的密码设置为相同。

Linux 帐户不能有两个不同的登录密码。但是,可以为两个不同的帐户设置相同的密码。要实现您所描述的效果,您必须为两个不同的帐户设置相同的密码……Linux 帐户和帐户htpasswd(即 Web 服务器帐户)。

执行后者通常是为了方便。

答案2

https://help.ubuntu.com/community/vsftpd#To_disable_anonymous_login_and_to_enable_local_users_login_and_give_them_write_permissions

要禁用匿名登录并启用本地用户登录并授予他们写权限:

# 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将此脚本的位置导出给这些用户并自动化工作流程。这就是您可以轻松完成的一切。

相关内容