集中sudo sudoers文件?

我是几个不同服务器的pipe理员,目前每个服务器上都有一个不同的sudoers文件。 这是微不足道的,因为通常我需要授予某人使用sudo执行某些操作的权限,但只能在一台服务器上完成。 有没有简单的方法来编辑我的中央服务器上的sudoers文件,然后通过SFTP或类似的东西以简单的方式分发给其他服务器?

主要想知道其他系统pipe理员如何解决这个问题,因为sudoers文件似乎不能用NIS远程访问。

操作系统是SUSE Linux Enterprise Server 11 64位,但不应该紧要关头。

编辑:现在,每台机器将有相同的sudoers文件。

编辑2:接受的答案的评论是最接近我实际上前进和做的。 我现在正在使用一个SVN支持的木偶安装,经过一些头痛后,它工作得很好。

我想要做的绝对最后一件事就是创build一个单独的sudoers文件,就像Dave所build议的那样。 如果你有很多机器,并且只有细微的差别(通常是这样),你真的不需要这个。 这会产生很多开销。

你真正想做的是创build一个 sudoers文件。 在那个sudoers文件中,你可以定义Host_Aliases来为你想要应用某个策略的系统组。 你也可以使User_Aliases和什么。 完成的权利,这将给你一个巨大的好处,有一个文件编辑,所以很容易看到什么适用于哪里,你不必担心不同版本的sudoers文件被部署在不同的机器偶然。

新版本的sudo甚至支持/ etc中的sudoers.d目录,这可能也有帮助,但我还没有尝试过。

第1步。设置ldap服务器并configuration所有机器通过ldapvalidation用户和组

第2步。在ldap中创build一个主sudoers组,比如yourcompany-sudoers。 在每台机器上的/ etc / sudoers文件中为该组授予sudo(带密码)权限。

第3步。在ldap中创build一个sudoers-machinename组,将该组添加到相应机器上的/ etc / sudoers。

通过这三个步骤,在机器安装完成后,您不需要编辑/ etc / sudoers文件,并且还可以获得许多其他好处

为了额外的效果

第4步。设置木偶,cfengine,厨师或类似的,并自动部署一个模板sudoers文件到每台机器。

/ etc / sudoers也可以被直接调用集中式LDAP服务器所取代。 您通常在本地计算机上设置的所有权限和设置都将在LDAP中进行设置。

http://www.gratisoft.us/sudo/man/sudoers.ldap.html

或者,你可以考虑在/ etc中使用版本控制(比如git或者mercurial)来configuration一些你的configuration文件,把sudoers文件放在VCS下,然后让每台机器从版本库中获取公共configuration文件的副本。

你可能要考虑同样易于实现和安装的解决scheme(openlikewise是免费的),有关sudoers策略的具体信息请看这个:

http://www.likewise.com/resources/documentation_library/manuals/lwe/group-policy-guide.html#TestSudo