是否可以使用自定义脚本进行 PAM 身份验证?

是否可以使用自定义脚本进行 PAM 身份验证?

我想让用户使用我的 rails 应用程序的凭据登录 sftp 帐户。如果我理解正确的话,我应该以某种方式使用 PAM 来实现这一点。但我没有找到有关如何执行此操作的任何信息?

答案1

pam_exec可以使用外部程序验证密码。

答案2

如果需要,您可以编写自己的 PAM 模块。但另一种解决方案可能更好。在此处查看示例 PAM 模块:http://www.freebsd.org/doc/en/articles/pam/pam-sample-module.html

答案3

如果此 rails 信息位于 mysql 数据库中,则可以配置 pam_mysql。几乎所有东西都有 pam 模块。

下面是我使用 mysql 的 ftp 的一个示例:

session    optional     pam_keyinit.so    force revoke
auth       required pam_listfile.so   item=user sense=allow file=/etc/vsftpd/ftpusers onerr=fail
auth       sufficient   pam_mysql.so      user=virt_admin passwd=PASS host=localhost db=DBNAME table=TABLENAME usercolumn=USERNAMECOL passwdcolumn=PASSCOL crypt=3
auth       required pam_shells.so
auth       include  system-auth
account    sufficient   pam_mysql.so       user=virt_admin passwd=PASS host=localhost db=DBNAME table=TABLENAME usercolumn=USERNAMECOL passwdcolumn=PASSCOL crypt=3
account    include  system-auth
session    include  system-auth
session    required     pam_loginuid.so

您还可以运行一个脚本,定期将用户名:密码转储到文件中并使用 pam_pwdfile。有很多选择。

http://www.kernel.org/pub/linux/libs/pam/modules.html

相关内容