对于多个用户(大约 15 个)能够 sudo 到另一个用户的帐户来运行特权命令的最有效方法是什么?
因此,为了明确起见,我有一个名为mainaccount
sudo/root 访问权限的主用户,我还有 15 个其他用户需要能够更改或运行命令 su - mainaccount
来管理测试环境。
我怎样才能做到这一点?
编辑:我问这是如何完成的,所以如果用户user1
想要以 (su - mainaccount) 运行命令mainaccount
但不输入主帐户的密码,而是使用他们自己的密码。我想有点像wheel
组,您可以在其中添加多个用户,但这只是为了能够以主帐户身份更改或运行命令
答案1
这(以及进行备份)几乎是传统的用法操作员用户和组...
建立一个小组 - 例如。主要用户- 并添加允许“成为”的用户主账户
在/etc/sudoers添加:
%mainusers ALL = (root) su - mainaccount
这将使成员主要用户变得主账户通过使用su - mainaccount
。通过这样做根,他们不需要为su
- 命令提供密码。替代方案%mainusers ALL = (mainaccount) ALL
让成员主要用户运行任何命令主账户。
让主账户-用户是以下组织的成员须藤-组(即可以sudo
可以根并运行命令为根)。这将使任何用户首先成为主账户然后使用sudo
成为根。
也就是说,这听起来像是馊主意! 可能更好的是让主账户- 以及属于以下的用户主要用户谁能成为他——只被允许经营一家数量有限特权命令(也许只有专用目录中的命令),也许是根。 sudo
也可以用来设置这个。
你可以看看man sudoers
- 以及 /usr/share/doc/sudo/examples/ 中的示例 sudoers-file - 以获得更多灵感。特别看看他们如何使用别名和操作员示例文件中的-用户/组。这里的“操作员”可能会做日常维护工作——比如关闭计算机、终止进程、启动/停止/添加打印机、安装 CDROM 等等——但是远的从一切根(以及成员须藤-组)可以做。这是一个更合适的设置,允许“受信任的用户”进行一些日常管理工作。如果您运行多台计算机,则最好将其权限仅限于一台或两台计算机(例如,用户组在“他们的”计算机上拥有特殊权限,但在其他计算机上则没有特殊权限)。
因此,如果我是你,我会三思而后行,也许会重新考虑这一点 - 尤其是你打算“推广”的用户数量。如果你必须做这个;我建议操作员-解决方案-将它们放在一组中,然后使用sudo
给它们有限集他们可以运行的特权命令(如根)来解决日常问题。但不让他们都能够提升到满根-地位!如果你真的需要一个完整的人根- 特权,然后从您所拥有的数十个特权中选择几个真正信任和知道知识渊博,并将它们添加到须藤-作为完全共同管理员进行分组...这比您提议的要干净得多,更容易控制。