Уже целый день сижу - не решается проблема.
Надо, чтобы при коммите обновлялись файлы сайта.
Post-commit скрипт запускается апачем и если на директорию сайта выставлены права 775 апач преспокойненько записывает файлы, т.е. все работает.
Но вот только все эти файлы принадлежат апачу, таким образом в home директории есть папка с сайтом, где все файлы не принадлежат этому пользователю.
Меня это не устраивает, как сделать, чтобы скрипт выполнялся от имени того пользователя, которому принадлежит папка с сайтом?
Т.е. надо чтобы svn update выполнился от другого пользователя, а не от apache
Скрипт выглядит так:
#! /bin/sh
sudo -u site-user /usr/bin/svn update /home/site-user/site.ru/httpdocs
#/usr/bin/svn update /home/yatp-ru/yatp.ru/httpdocs # вот это работает, если права на папку сайта 0775
В sudoers есть такая запись:
site-user ALL=(ALL) NOPASSWD: /usr/bin/svn
Тестирую так:
root-user# su www-data
root-user:/root$ sh /path/to/repositories/site-ru/hooks/post-commit
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for www-data:
Я в линуксах новенький :), подскажите, что делаю не так.