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