Разрешения с Git Post-Receive
Я установил git локально и на моем сервере и создал 'после приема» так что, когда я делаю толчок к работающему серверу, он должен затем обратиться к каталогу виртуальных хостов веб-сайта.
#!/bin/sh
GIT_WORK_TREE=/var/www/domainname/public_html/ git checkout -f
Тем не менее, когда я пытаюсь выполнить push, он успешно выходит из мастера, но я получаю ошибки об отказе в разрешении при попытке создать эти файлы в корне моего сервера.
напримерremote: error: unable to create file index.php (Permission denied)
Эти ошибки действительно имеют смысл для меня из-за того, как я настроил свой сервер. Я отключил root-доступ и создал нового пользователя, который добавляется в sudoers через visudo - тогда я настроил SSH-ключи для этого пользователя. Я использую этого пользователя для отправки изменений в git на сервер.
Проблема в том, что этот пользователь, которого я подключаю к push, неУ него нет прав на запись в каталог виртуальных хостов. Все мои файлы в этих папках принадлежат www-data (мой пользователь nginx) из той же группы.
Каково решение? Создайте другого пользователя с SSH-ключами для подключения только для git с более высокими разрешениями или есть способ предоставить sudo-возможности после получения?
Извиняюсь за очень длинный вопрос, но хотел быть абсолютно ясным с тем, что я сделал.