古斯塔沃
我写的服务器应用程序目前正在以root用户身份运行,并使用getspnam()和crypt()身份验证本地系统用户,这需要root特权才能访问影子文件。现在,我希望该应用程序不要在生产系统中以root用户身份运行。有什么替代方法,而无需root用户即可验证本地用户?该应用程序目前在debian下运行,但通常可移植。
温斯莫妮卡
您读取的所有文件都不应该由用户空间应用程序读取。它们是系统文件。管理员可以自由地将文件保留在原处,但可以禁止文件的内容-这是完全有效的方案-并且可能存在超出这些文件中内容范围之外的用户信息。假设,如果计算机已加入Active Directory域,或者以其他方式使用LDAP进行身份验证:则用户列表将来自该目录,其中passwd
只有本地系统帐户,而没有其他帐户。系统服务需要中的文件/etc
,也就是说-特别是提供本地帐户的PAM模块:)
因此:使用可插拔身份验证模块(PAM)。您将使用PAM的公共接口。Solaris说,由于PAM是跨平台的,因此它将在其他unices上运行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
编辑于
我来说两句