У меня есть веб-сервер Debian с запущенной на нем Subversion.
Я пытаюсь использовать скрипт post-commit для обновления моей промежуточной версии моего сайта.
#!/bin/sh
/usr/bin/svn update /home/sites/example.com/www >> /var/log/svn/example.log 2>&1
если я запускаю эту команду из командной строки, вошедшей в систему как пользователь 'derek', то все работает нормально
но когда он запускается как post-commit, в моем лог-файле появляется следующая ошибка:
svn: Can't open file '/home/sites/example.com/www/.svn/lock': Permission denied
Хорошо, я понимаю, что здесь происходит то, что пользователь, вызывающий скрипт post-commit, не 'derek', поэтому у него нет разрешения.
Так что мой вопрос в том, что пользователь вызывает скрипт post-commit.
демон svnserve запущен от имени Дерека ... Я думал, это будет означать, что команда post-commit будет вызываться как Дерек, но, похоже, нет.
Любые идеи, как я могу узнать, что пользователь называет это
и во-вторых, каков наилучший метод, разрешающий доступ для этого пользователя? Я не думаю, что добавление его в группу поможет, потому что по умолчанию у группы нет прав на запись в каталоги .svn.
Обновление:
Я обнаружил, что пользователь, вызывающий скрипт post-commit, на самом деле www-data. Так что теперь, как мне решить проблему.