如何将特定命令作为组中的用户运行

时间:2017-09-25 19:27:17

标签: linux

作为jupyterhub用户,我正在尝试以mgrs组中的用户身份运行命令。

$ cat /etc/group
mgrs:x:1011:cody,admin
$ cat /etc/sudoers
jupyterhub ALL=(%mgrs) NOPASSWD:/boot/tp/python3/bin/sudospawner
$ whoami
jupyterhub
$ sudo -u cody /boot/tp/python3/bin/sudospawner
Password:

此sudoers行的示例来自https://github.com/jupyterhub/jupyterhub/wiki/Using-sudo-to-run-JupyterHub-without-root-privileges

2 个答案:

答案 0 :(得分:0)

我很确定你的配置倒退了。您以jupyterhub身份登录并尝试将其作为cody运行 - 您的配置允许相反。您还需要NOPASSWD:<command>之间的空格 - 您需要删除该空格。然后您应该(使用您的配置)执行此操作:

$ whoami cody $ sudo -u jupyterhub /boot/tp/python3/bin/sudospawner

如果没有,您应该尝试从jupyterhub中删除shell和任何密码,而不是将其用作登录用户。以cody身份登录并尝试以上操作。或者,创建一个没有shell(或者可能是/bin/false)且没有密码的新用户,并使用它来代替jupyterhub

您在上一条评论中发布的所谓目的与您实施的内容完全相反。

答案 1 :(得分:0)

问题是权限。 sudoers本身很好。