authentication - 使用 pam_userdb.so 在 Berkeley DB 中为 vsftpd 加密密码

标签 authentication ftp pam vsftpd

我正在尝试使用 Berkeley DB 为一些虚拟用户安装 vsftpd。我主要遵循了这个指南:http://www.neant.ro/2012/04/secure-ftp-with-vsftpd/ .一切正常,但我想在数据库中散列密码。我正在使用 CentOS 6.3 和 glibc 2.12。

从 pam_userdb.so 的联机帮助页中,我假设我可以使用 crypt 提供的内容。如果我们查看 crypt(3) 联机帮助页,我们可以使用 SHA-256 和 SHA-512。我会使用其中之一。

我的疑问是如何实现它。据我所知,我需要转到我的 pam.d 文件并编辑并添加参数 crypt 但是...我应该给它哪个值? SHA-256 为 5? 6 对于 SHA-512?

auth    sufficient pam_userdb.so db=/path/to/db/virtual-users crypt=?
account sufficient pam_userdb.so db=/path/to/db/virtual-users crypt=?
session sufficient pam_loginuid.so

现在我需要数据库内 SHA-256/SHA-512 中的密码。哪个是获取哈希的正确方法?我想我必须使用 crypt 函数。但是,我需要使用Ruby来获取它,有什么办法吗?

在此先感谢您的帮助,

最佳答案

不可能。你应该说 crypt=crypt (其他选项被拒绝)但 mod_userdb不会接受非 DES 散列,至少在您获得具有 this fix 的 PAM 版本之前不会接受。在其中(Ubuntu Saucy 没有,例如)。

一方面,我编译了自己的 PAM 以进行修复。

关于authentication - 使用 pam_userdb.so 在 Berkeley DB 中为 vsftpd 加密密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15767273/

相关文章:

ftp - 保存时 Sublime 的 SFTP 上传文件夹

git - 如何使用 git-ftp 将特定分支推送到 ftp 服务器

linux - 使用任何密码登录

go - 我可以在我的 Web 应用程序中使用 PAM 进行身份验证吗?

session - linux-PAM session 是否与 linux 进程 session 相同?

c# - 如何在 MVC 5 中设置自定义 ClaimsPrincipal?

asp.net-mvc - auth0 中找不到连接错误

c# - 使用 C# 访问不同机器上的文件的正确方法

android - 无法在 Android 模拟器上检索 OAuth 2.0 访问 token

python - 使用 Python 了解何时从 FTP 源完全接收到文件