是否可以重新创buildpam_userdb.so的function以使应用程序在Solaris上validation虚拟用户(仅适用于某个特定服务)?
情况是:上级要求我们使用只支持基于密码的身份validation的文件分发工具,并在明文中传输密码。 由于将要传输的数据量很大,使用SSL隧道是不切实际的。
该应用程序是pam-aware的,所以我们可以为它configuration一个特殊的authentication栈。 在我们的linux服务器上,我们将pam_userdbconfiguration为使用单独的passwd数据库,所以没有人可以使用密码直接login:
someapp auth sufficient pam_userdb.so db=/etc/someapp-passwd try_first_pass
在Solaris上似乎没有任何等价物。
你可以在Solaris中使用pam,但是到目前为止我的经验已经是纯粹的痛苦了,在你的情况下使用kerberos或基于yp的authentication并不是一个坏主意,所以你也可以在这些服务器之间共享一个通用的用户数据库来保持事情在线。
你只是想允许身份validation,但不允许shelllogin? 你可以通过改变用户的shell来做到这一点。 您也可以login尝试,以确保没有人试图滥用帐户。
你有没有尝试把你在Linux上使用的模块的pam_userdb源码在Solaris上构build? PAM的重点在于允许您插入其他模块,包括系统未提供的模块。