我问
a similar question today,about how to authenticate my server users to a postgres database而不是/ etc / passwd文件或LDAP,我在那里得到了一些有用的答案.我发现我有三个服务器auth来处理:记录用户,设置他们的uid和gids,并在必要时给他们sudo访问权限.
我能够为postgres找到NSS和PAM模块,但是没有关于如何使用数据库(尤其是postgres)来为sudo而不是sudoers和sudoers的信息.我试图找到一个sudo的插件,但它看起来不像存在 – 我只在sudo website plugin page找到了一个插件.
是否可以为sudo使用外部数据库?
通常的方法是将sudo视为一个配置文件集.通过您选择的任何配置管理来管理它们,让它成为厨师,木偶,CFengine,颠覆,git等,或者只是手动编辑它们.
当sudo中的特权/规则被赋予组而不是个人时,根据我的经验,它们变得非常静态,DBA团队需要suracle; su – sybase; /etc/init.d/oracle *; /etc/init.d/sybase *以及DBA团队成员的最大变化.
然后,您的sudo管理将简化为身份验证,用户和组管理.这就是PAM再次亮相的地方.配置PAM以使用集中管理的用户数据库,使其成为LDAP,NIS,Active Directory(LDAP Kerberos),甚至是MysqL或Postgresql数据库. sudo默认使用PAM.