我尝试寻找有关 sudo 问题的解决方案。
我需要根据服务器上的用户,将不同的 sudoers 文件推送到不同的服务器上。但我想知道是否可以避免这种情况,并在所有地方放置一个 sudoers 文件。
例如:
有些服务器有多个以“-dv-grp”结尾的组,有些服务器有以“-pa-grp”结尾的组
如果我可以在组名上加上通配符,那就太好了:
%*-grp ALL=(ALL) NOPASSWD: /usr/bin/vi
但它不起作用,即使我设置了User_Alias
(我也尝试使用简单和双引号)....并且我不能将所有这些组放在一个主组上(出于我的基础设施的安全原因)。
如果真的不可能,我会创建不同的组并把它们放在不同的组里,但我需要管理不同版本的 sudoers 文件……我想避免这种情况
你能确认这是不可能的吗?有什么想法吗?
答案1
如下的多行代码难道不能达到目的吗?
%g1-dv-grp server1=(ALL) NOPASSWD: some_commands
%g1-pa-grp server2=(ALL) NOPASSWD: some_commands
%g2-pa-grp server3=(ALL) NOPASSWD: some_commands
Yuu 仍然需要为每个服务器/组组合添加行(因此不如通配符那么整洁)但这意味着您可以在所有机器上拥有一个 sudoers 文件。