更新多个 sudoers 文件

rch*_*hhe 8 sudo

我们有多个 Linux 服务器对 Active Directory 域进行身份验证。对于 AD 中的一个组,我想添加一个允许使用 sudo 以 root 身份运行的命令列表。我显然可以 ssh-in 到每台计算机并更新 sudoers 文件 - 但这需要一些时间。此外,不允许 root 登录。因此,无密码登录仅适用于非 root 用户。

有没有一种快速的方法可以一次性更新每台 Linux 计算机的 sudoers 文件?我在这里考虑使用具有一些系统管理能力的 Perl 或 Python 脚本。

更新:感谢 veroteq7 和 Shane Madden。我曾经想过部署 cfengine - 但我们目前没有运行它。我们已经决定使用 LDAP 将是最好的解决方案。我在为 sudo 导入 LDIF 架构 schema.ActiveDirectory 时出错。第 144 行的错误是“参数不正确”。

这是从第 144 行开始的内容:

dn: CN=sudoRole,CN=Schema,CN=Configuration,DC=X
changetype: add
objectClass: top
objectClass: classSchema
cn: sudoRole
distinguishedName: CN=sudoRole,CN=Schema,CN=Configuration,DC=X
instanceType: 4
possSuperiors: container
possSuperiors: top
subClassOf: top
governsID: 1.3.6.1.4.1.15953.9.2.1
mayContain: sudoCommand
mayContain: sudoHost
mayContain: sudoOption
mayContain: sudoRunAs
mayContain: sudoRunAsUser
mayContain: sudoRunAsGroup
mayContain: sudoUser
rDNAttID: cn
showInAdvancedViewOnly: FALSE
adminDisplayName: sudoRole
adminDescription: Sudoer Entries
objectClassCategory: 1
lDAPDisplayName: sudoRole
name: sudoRole
schemaIDGUID:: SQn432lnZ0+ukbdh3+gN3w==
systemOnly: FALSE
objectCategory: CN=Class-Schema,CN=Schema,CN=Configuration,DC=X
defaultObjectCategory: CN=sudoRole,CN=Schema,CN=Configuration,DC=X
Run Code Online (Sandbox Code Playgroud)

我使用的命令是:

ldifde -i -f schema.ActiveDirectory -c dc=X dc=DOMAINNAME,dc=LOCAL
Run Code Online (Sandbox Code Playgroud)

Update2:我创建了一个新问题。谢谢大家的建议。

vor*_*aq7 16

为什么不废弃/etc/sudoers并使用 AD (LDAP)作为您的 sudoers 存储?- 更多信息在这里

您已经针对 AD 进行了身份验证,因此这只是下一个合乎逻辑的步骤,它为您提供了一个方便、集中的位置来处理身份验证授权。


Sha*_*den 15

配置管理工具怎么样? 木偶厨师CFEngine等?