我正在努力标准化我们环境中的 sudo 访问。首先,我了解当前的设置。
目前,我们sudo bash
无需输入任何密码即可进入 root shell。我知道建议对单个命令授予 sudo 访问权限,但至少现在,我想要一种机制,让我们输入密码,然后获得 root shell。
重新迭代,sudo bash
或者sudo -s
工作正常,但是当我输入 时sudo su -
,它提示输入我的密码,一旦我输入它,它就会给我一条消息“*抱歉,用户 <用户名> 不允许执行 '/bin/su -' 作为扎根于lt;服务器名称>'。这让我很好奇它是如何sudo bash
工作的。
在/etc/sudoers
文件中,我看到与此上下文相关的两行:
root ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
而且我不是这个%wheel
团体的一员。admin
是我的默认组 in/etc/passwd
并且admin
组不是wheel
组的一部分/etc/group
。因此,为了使其sudo su -
正常工作,我在sudoers
文件中添加了以下行并且它起作用了。
%admin ALL=(ALL) ALL
但我无法理解:
- 每个人的工作情况如何
sudo bash
? wheel
默认情况下每个人都是该组的成员吗?
如果我在这里遗漏了什么,请告诉我。另外,如果有更好的方法来做事。
操作系统:CentOS 7.2(红帽系列)
事实证明,其中有某些文件/etc/sudoers.d
,这就是sudo bash
工作方式,但我认为它已被注释掉......谢谢。
#includedir /etc/sudoers.d
答案1
根据评论汇总的答案:
sudo bash
为什么要为不在该组中的人工作的问题wheel
通过认识到主sudoers
配置文件包含进一步的配置文件/etc/sudoers.d
(并且这些文件之一允许这种情况发生)而得到解决。
是的,一#
开始#include
就令人困惑。
关于如何安全地向系统管理员授予超级用户权限的进一步问题已通过参考老问题得到解答“获得root权限最安全的方法是:sudo、su还是login?”。从该问题的答案可以明显看出,这不是一个简单的问题。
另相关:“是否有充分的理由运行 sudo su?”