很多年前,我根据互联网上仍然可以找到的一些操作指南,使用 pam_userdb 设置了一个具有虚拟用户的 vsftpd 服务器。
像这样:一个名为/etc/pam.d/vsftpd.virtual
:
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/users crypt=crypt
account required pam_userdb.so db=/etc/vsftpd/users crypt=crypt
session required pam_loginuid.so
里面的设置/etc/vsftpd/vsftpd.conf
:
pam_service_name=vsftpd.virtual
以及包含用户和密码哈希值的 BerkeleyDB(/etc/vsftpd/users.db
)。
根据的手册页pam_userdb
,该模块仅支持明文密码或crypt
ed 密码,始终在 BerkeleyDB 中。
同时,这种方法对我来说似乎既过时又不切实际,因为纯crypt
文本密码不安全(更不用说明文变体了),而包含这些密码的 BerkeleyDB 的处理使得使用一些包装器成为必要。
所以:bcrypt
是否存在一些替代的 PAM 模块,例如可以处理带有用户和密码的纯文本文件?或者至少使用某种 SHA 哈希的密码?可以使用例如htpasswd
(或mkpasswd
)进行更新?像 Dovecot 用户文件或用于 Lighttpd 等的 htaccess 文件?
就像是
some_user:$2y$05$ensqtXGZXUf5DQosKk51.utplrWUqkeZzNNI8.lCVT.K86uillL4a
?我想 vsftpd 也可以以同样的方式使用其他 PAM 模块?谢谢大家的帮助!