我正在编写一个需要定期验证用户身份的流程(即 call pam_authenticate()
)。出于安全目的,我不想以root
特权运行此过程。我可以用于capabilities(7)
我的其他安全要求(即它需要绑定到HTTPS
端口,因此可以使用CAP_NET_BIND_SERVICE
)。
我可以从 root 权限开始,暂时删除它们,仅在需要调用时才提升它们pam_authenticate
,然后再次删除它们。但只要仍然有提升权限的能力,这实际上只是默默无闻的安全性,因为能够控制进程的攻击者就可以提升权限。
安全限制是否由PAM
所使用的特定模块引起/驱动?是否仅pam_unix.so
需要读取shadow
密码文件就会导致问题?