我有一個post-receive掛鉤,它調用我的bash腳本(這將拉動本地repo並重新啓動Java服務器)。Git後接收掛鉤失敗:不允許操作
這裏的後收到鉤的所有者信息:
-rwsr-x--x 1 cyril devs 676 19 dec. 14:45 post-receive
正如你所看到的,我設置此腳本setuid bit
才能辦成cyril/devs
也爲其他用戶。
這個腳本的內容很簡單:
echo "Running post-receive hook"
echo "Server will be up and running in about 1 minute"
/home/project/start_dev restart &
我的腳本start_dev
擁有這些權利:
-rwsr-x--- 1 cyril devs 1515 19 dec. 14:41 start_dev
注:也setuid.
如果我把東西給服務器帳戶cyril
,它完美運作。
如果是別人,與其他賬戶,發送到服務器中,他們得到了:
remote: /home/project/start_dev: line 52: kill: (11490) - Operation not allowed
(壓井用於停止實例。)
爲什麼他們有這樣的錯誤,腳本應該運行爲cyril
,而不是用戶,因此他們應該有權殺死這個實例,對吧?
我在做什麼錯?
感謝您的幫助!
哇:我該怎麼辦呢?你有好主意嗎? –
添加Tuxation的解決方案。 – asm
感謝您的提示! :) –