作为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

最佳答案

我很确定你的配置是反向的。您以jupyterhub的身份登录并尝试以cody的身份运行它-您的配置允许相反的操作。您还有一个NOPASSWD:<command>之间的空间-您需要删除该空间。然后您应该能够(使用您的配置)执行以下操作:
$ whoamicody$ sudo -u jupyterhub /boot/tp/python3/bin/sudospawner
如果没有,您应该尝试从jupyterhub中删除shell和任何密码,并且不要将其用作登录用户。以cody身份登录并尝试以上操作。或者,创建一个没有shell(或者可能/bin/false)和密码的新用户,并用它代替jupyterhub
你在上面的最后一条评论中发布了你想要达到的目的,这与你所实现的完全相反。

关于linux - 如何以用户组的身份运行特定命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46412759/

10-12 00:43