我想以临时组成员身份运行命令,但似乎我没有权限执行此操作。例如,如果我运行sudo -g internet ls
,我会收到消息Sorry, user rudivonstaden is not allowed to execute '/bin/ls' as rudivonstaden:internet on rudivonstaden-desktop
。
以我有限的理解,这应该由文件控制/etc/sudoers
,可能由中的文件修改/etc/sudoers.d
。后一个文件夹仅包含 README 文件,而 sudoers 文件具有以下内容:
root ALL=(ALL:ALL) ALL
%sudo ALL=(ALL:ALL) ALL
据我所知,这应该允许任何 sudo 用户使用 -g 选项以任何组的身份运行任何文件。 是不是哪里出了问题,还是我遗漏了什么?
答案1
我设法通过编辑我的 /etc/sudoers 文件(使用sudo vimsudo
)并更改管理员组权限来使其工作
%admin ALL=(ALL) ALL
到
%admin ALL=(ALL:ALL) ALL
sudo 组在 Ubuntu 上有点让人分神,它实际上是定义 sudo 权限的管理员组。请参阅这个问题有关 Ubuntu 如何使用管理员和 sudo 组的更多信息。