首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法限制用户可以在devtoolset-3启用shell中作为root用户运行的命令。

无法限制用户可以在devtoolset-3启用shell中作为root用户运行的命令。
EN

Unix & Linux用户
提问于 2016-09-22 04:01:11
回答 1查看 925关注 0票数 0

我们在RHEL6.6 6.6上使用devtoolset-3。用户运行scl启用devtoolset-3 bash,以便使用所有devtoolset-3工具访问环境。

我希望允许用户以根用户的身份运行命令子集。通常的方法是对包含命令别名的sudoers文件使用sudo,其中包含您希望用户能够作为root用户执行的命令列表。

我试过各种组合,但我想不出正确的配方。

以下是我尝试过的一些事情:

尝试1:

我创建一个命令别名:

代码语言:javascript
复制
Cmnd_Alias ALLOWEDCOMMANDS=/usr/bin/pkill <process name>

然后允许myGroup的成员在没有密码的情况下执行这些命令。

代码语言:javascript
复制
%myGroup  ALL=(ALL) NOPASSWD:SETENT: ALLOWEDCOMMANDS

通过这种设置,如果我尝试运行sudo pkill,就会得到:

对不起,不允许用户作为root用户执行'/usr/bin/scl启用devtoolset-3 'pkill‘“”。

企图2:

我修改了sudoers文件,使其具有完整的命令:

代码语言:javascript
复制
Cmnd_Alias ALLOWEDCOMMANDS=/usr/bin/scl enable devtoolset-3 pkill <some_process_name>

但我还是会犯同样的错误。

企图3:

如果我将/usr/bin/scl列为允许的命令,则允许用户在启用scl的环境中以根用户身份执行任何命令。

有人能想出一种可靠的方法让用户在启用scl的shell中运行特定的命令列表吗?

EN

回答 1

Unix & Linux用户

发布于 2016-10-05 02:17:57

为了防止其他人遇到这个问题,我想我应该在这里贴出我从红帽支持中得到的答案。

原来,devtoolset-3版本的sudo没有很好地使用命令别名的格式,您可以在/etc/sudoers中指定它。

在启用devtoolset-3的shell中,您可以别名sudo=/usr/bin/sudo。然后,您的用户将运行标准sudo,它正确地处理命令别名。

有了这个别名,一切都如期而至。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/311491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档