我是几台不同服务器的管理员,目前每台服务器上都有不同的 sudoers 文件。这有点失控,因为我经常需要授予某人使用 sudo 执行某些操作的权限,但它只能在一台服务器上完成。是否有一种简单的方法可以在我的中央服务器上编辑 sudoers 文件,然后通过 SFTP 或类似的方式以简单的方式将其分发到其他服务器?
主要是想知道其他系统管理员如何解决这个问题,因为 sudoers 文件似乎无法通过 NIS 远程访问,例如。
操作系统是 SUSE Linux Enterprise Server 11 64 位,但应该没有关系。
编辑:现在,每台机器都有相同的 sudoers 文件。
EDIT2:接受的答案的评论最接近我实际进行的操作。我现在正在使用 SVN 支持的 puppet 安装,经过几次头痛,它运行良好。
我最不想做的事情是创建一个单独的 sudoers 文件,就像 Dave 建议的那样。如果您有很多机器,并且只有细微的差异(通常是这种情况),那么您真的不想要这个。它会产生大量的开销。
您真正想做的是创建一个sudoers 文件。在该 sudoers 文件中,您可以为要应用特定策略的系统组定义 Host_Aliases。您还可以制作 User_Aliases 等等。做得对,通过编辑一个文件为您带来巨大的好处,因此很容易看到适用于何处的内容,您不必担心不同版本的 sudoers 文件意外部署在不同的机器上。
新版本的 sudo 甚至支持 /etc 中的 sudoers.d 目录,这可能也有帮助,但我还没有尝试过。
步骤 1. 设置 ldap 服务器并配置您的所有机器以通过 ldap 对用户和组进行身份验证
步骤 2. 在 ldap 中创建一个 master sudoers 组,比如 yourcompany-sudoers。在每台机器上的 /etc/sudoers 文件中授予该组 sudo 权限(使用密码)。
步骤 3. 在 ldap 中创建一个 sudoers-machinename 组,将该组添加到相应机器上的 /etc/sudoers。
通过这三个步骤,您无需在安装机器后编辑 /etc/sudoers 文件,您还可以获得许多其他好处
为了额外的效果
步骤 4. 设置 puppet、cfengine、chef 或类似工具,并自动将模板化的 sudoers 文件部署到每台机器。
/etc/sudoers 也可以直接替换为对集中式 LDAP 服务器的调用。您通常在本地计算机上设置的所有权限和设置都在 LDAP 中设置。
http://www.gratisoft.us/sudo/man/sudoers.ldap.html
| 归档时间: |
|
| 查看次数: |
9584 次 |
| 最近记录: |