Какой пользователь выполняет рычаг мерзавца?

Если вы используете WAMP. Щелкните левой кнопкой мыши по значку WAMP, затем перейдите в MySQL -> Настройки MySQL -> sql-mode, а затем выберите режим sql-mode-> user

27
задан atp 13 April 2010 в 18:18
поделиться

2 ответа

Хуки запускаются от имени пользователя, выполняющего push. Если у вас есть какая-то предварительная настройка, это может быть пользователь типа git или gitosis, или это можете быть вы. Просто посмотрите, как у вас настроен пульт. (git remote show или просто посмотрите .git/config, если не знаете) Предположительно, вы толкаете через SSH, и в URL есть имя пользователя@hostname.

P.S. Продемонстрировать это можно довольно быстро - просто клонируйте репозиторий локально, вставьте хук post-update с echo $USER или что-то подобное, и попробуйте выполнить push от своего имени или имени другого пользователя (напрямую или через ssh).

20
ответ дан 28 November 2019 в 05:50
поделиться

Я решил проверить это на своем сервере gitlab 6, создав ловушку предварительного получения и отобразив информацию о пользователе

$ cat /home/git/repositories/foo/foo.git/hooks/pre-recieve
#!/bin/bash
set -x
echo -e "The user the hook is run as is $USER"
echo -e "Just to doublecheck, the user is $(whoami)"
exit 1

Похоже, что он запускается как пользователь git

$ git push 
Counting objects: 3, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 269 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: + echo -e 'The user the hook is run as is'
remote: The user the hook is run as is
remote: ++ whoami
remote: + echo -e 'Just to doublecheck, the user is git'
remote: Just to doublecheck, the user is git
remote: + exit 1
2
ответ дан spuder 28 November 2019 в 05:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: