当 gitlab 说使文件可执行时,它们到底是什么意思?

当 gitlab 说使文件可执行时,它们到底是什么意思?

亚特实验室说“使钩子文件可执行并确保它归 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

相关内容