是否可以重新创建 pam_userdb.so 的功能以使应用程序在 Solaris 上验证虚拟用户(仅对一项特定服务有效)?
情况是:上级要求我们使用仅支持基于密码的身份验证并以明文传输密码的文件分发工具。由于要传输的数据量很大,使用 SSL 隧道是不切实际的。
该应用程序支持 pam,因此我们可以为其配置一个特殊的身份验证堆栈。在我们的 Linux 服务器上,我们将 pam_userdb 配置为使用单独的 passwd 数据库,这样就没有人可以使用密码直接登录:
someapp auth sufficient pam_userdb.so db=/etc/someapp-passwd try_first_pass
Solaris 上似乎没有等效的东西。
答案1
您可以在 Solaris 中使用 pam,但到目前为止我的经验是纯粹的痛苦,在您的情况下,仅使用基于 kerberos 或 yp 的身份验证并不是一个坏主意,这样您还可以在这些服务器之间共享一个通用的用户数据库以保持一切正常。
答案2
您是否只想允许身份验证但不允许 shell 登录?您可以通过将用户的 shell 更改为将其踢出的内容来实现这一点。您还可以记录尝试以确保没有人试图滥用该帐户。
答案3
您是否尝试过获取在 Linux 上使用的模块的 pam_userdb 源代码并在 Solaris 上构建它?PAM 的全部目的是允许您插入其他模块,包括系统未提供的模块。