2017-09-25 79 views
0

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

+0

你確定這有效嗎?它看起來像'cody'和'admin'屬於'mgrs'組。這在sudoers世界中可能是合法的,但是如果你試圖運行的命令只能由'mgrs'的成員執行並且不屬於'jupyterhub',那麼我將開始尋找。 –

+0

我將可執行文件的權限設置爲777進行測試。 – Siecje

+0

這消除了這個問題。我想你有理由不希望在文件上爲組「mgrs」設置'setgid',所以它總是以'mgrs'運行? –

回答

0

問題在於權限。 sudoers本身很好。

0

我敢肯定,你有你的配置倒退。您以jupyterhub的身份登錄並嘗試將其作爲cody運行 - 您的配置允許相反。您還有一個NOPASSWD:<command>之間的空間 - 您需要刪除該空間。然後,您應該能夠(與你的配置)來做到這一點:

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

如果沒有,你應該嘗試從jupyterhub去掉殼和任何密碼,而不是使用一個登錄用戶。以cody身份登錄並嘗試以上操作。或者,創建一個沒有shell(或者可能是/bin/false)且沒有密碼的新用戶,並使用該用戶代替jupyterhub

您在上面的最後評論中發佈的作爲您期望的目的的內容與您實施的內容完全相反。

+0

當我這樣做時,我得到一個密碼提示。 – Siecje

+0

更新了我的答案。 –

+0

很好的捕捉空間,但這是這篇文章的格式問題。 – Siecje

相關問題