亞特實驗室說“使鉤子檔案可執行並確保它歸 git 所有「,但我讀到這裡文件可以由所有者、群組、世界執行。那麼它們指的是哪一個呢?
現在我正在改變
-rw-r--r-- 1 git git 0 Jun 24 00:32 pre-receive
到
-rwxr--r-- 1 git git 0 Jun 24 00:32 pre-receive
這足以使其所有者可執行嗎?
答案1
它們的意思是「使其可由將調用該應用程式的使用者執行」。這通常就是在未指定任何其他內容時「使文件可執行」的含義。
如果只有git
使用者應該能夠執行該文件,則使其只能由所有者執行。這可能就是他們的意思,因為它是伺服器端掛鉤。如果任何人應該能夠執行該文件,該文件需要可由每個人執行(這不太可能是本意)。
因此(可能與sudo
):
$ chown git pre-receive
$ chmod u+x pre-receive # or a+x if anyone should be able to run it
答案2
確實,我上面提出的建議有效。答案是要做
-rwxr--r-- 1 git git 0 Jun 24 00:32 pre-receive