Гитлаб говорит: "Сделайте файл хука исполняемым и убедитесь, что он принадлежит 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