2015-01-14 3 views
2

Я настраиваю свой EC2 с Git прямо сейчас, используя http://toroid.org/ams/git-website-howto.-bash: hooks/post-receive: Permission denied

Я добираюсь до этого шага;

mkdir /var/www/www.example.org 
cat > hooks/post-receive 
#!/bin/sh 
GIT_WORK_TREE=/var/www/www.example.org git checkout -f 
chmod +x hooks/post-receive 

Однако, когда я вхожу «кошачьи> крюки/после приема» или «Суда кот> Крючки/после приема», я получаю эту ошибку: -bash: Крючки/после приема: Разрешение отказано

У меня есть настройка ключа SSH с моей учетной записью git, так что все установлено. Что я могу сделать для этого, чтобы я мог двигаться дальше. Я не могу перейти от этого шага, пока не создам это дерево работы.

+0

Каковы права на каталог '.git', каталог' .git/hooks' и файл '.git/hooks/post-receive'? –

+0

не уверен, как мне это узнать? –

+0

'ls -ld .git .git/hooks .git/hooks/post-receive' –

ответ

2

sudo cat > hooks/post-receive работает только cat как пользователь root.

Перенаправление (и создание файла) происходит как текущий пользователь.

Чтобы перенаправление произошло в контексте sudo, вам нужно запустить все это как скрипт под оболочкой sudo.

sudo bash -c 'cat > hooks/post-receive'