LINUX.ORG.RU
ФорумAdmin

Запуск post-commit скрипта от имени разных пользователей

 ,


0

1

Уже целый день сижу - не решается проблема.

Надо, чтобы при коммите обновлялись файлы сайта.

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:
Запрашивает пароль для www-data (а для него пароля нет), жму Enter - и ничего не происходит

Я в линуксах новенький :), подскажите, что делаю не так.

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.