服务器是CentOS,用户名为dev_admin
。
现在我添加了一个新用户ops_admin
,我想要复制dev_admin
的许可ops_admin
。
我以 root 身份尝试了以下命令:
useradd ops_admin
usermod -g dev_admin ops_admin // add ops_admin to group dev_admin
作为dev_admin
:
chmod g=u /path/to/file // copy user's permission to group.
当我尝试运行该文件时,结果是
as user ops_admin /etc/init.d/command
结果是出乎意料的,它要求输入密码,输入密码后,我得到了ops_admin is not in the sudoers
(类似这样的东西)。
作为用户dev_admin
,这很好。
我怎样才能让它发挥作用?
答案1
Unix 权限和/etc/sudoers
规则完全无关。
您需要在/etc/sudoers
(例如 with visudo
)中添加一条规则,允许用户ops_admin
或组的所有成员dev_admin
以 root 身份运行部分或全部命令。
例如,允许 ops_admin 以 root 身份运行所有命令:
ops_admin ALL=(ALL) ALL
或者允许 dev_admin 组的所有成员以 root 身份运行所有命令:
%dev_admin ALL=(ALL) ALL
这些只是示例。我建议您不要盲目地将它们复制粘贴到您的/etc/sudoers
文件中,而是要仔细考虑用户 ops_admin 或组 dev_admin 真正需要以 root 身份运行哪些命令,并仅授予对所需命令的访问权限。
如果已经有规则用户dev_admin,也许最好复制该规则并编辑它,以便它适用于用户 ops_admin。
最后,请注意,如果用户 ops_admin 在您将其添加到组 dev_admin 时已经登录,则他们需要注销并再次登录(或使用newgrp
)才能使更改生效。