Обновить файлы как другой пользователь - PullRequest
0 голосов
/ 18 июля 2009

Я пытаюсь создать синхронизацию между [Unfuddle] [1] и моим локальным сервером, чтобы при фиксации SVN в Unfuddle код моего локального сервера автоматически обновлялся. Unfuddle обеспечивает обратный вызов, и я могу получить обратный вызов, когда сделана фиксация.

Теперь мой веб-сервер работает как пользователь с именем «apache», но все существующие файлы принадлежат пользователю «разработки». Это пользователь ftp, который моя команда использует для обновления кода каждый день. Я хочу сделать так, чтобы мой обратный вызов записывал файлы как пользователь "разработки".

Это те, которые я пытался сделать до сих пор

  1. Я не могу использовать sudo -u development, так как это означает, что мне нужно расслабиться, выполнив команду "sudo" для apache.
  2. Изменение прав доступа к файлам на 777 работает, но, очевидно, это не то, что я хочу сделать.

Единственная опция, о которой я могу подумать сейчас, - это запустить автономный HTTP-сервер Python и заставить его работать от имени пользователя-разработчика и сделать его URL-адресом обратного вызова. Таким образом, я могу обновить локальную рабочую копию как пользователь "разработки", и мои другие люди также могут использовать ее, как они делали это раньше.

Есть ли другие способы сделать это?

Спасибо!

Ответы [ 2 ]

1 голос
/ 18 июля 2009

Для личного использования я бы использовал подход Python HTTP Server, но если вы довольны Apache - я полагаю, что затем будет запущен скрипт для получения данных из Unfuddle SVN в локальный. В этом случае попробуйте mod_suexec , который запускает сценарии от имени другого пользователя.

0 голосов
/ 18 июля 2009

Рассматривали ли вы включение двух пользователей в одну группу и предоставление разрешения для группы?

...