Как дать “апачские” права выполнить “svn обновление”

Я хочу запустить "svn обновление" команда из сценария PHP, пользователя, для которого является "апачским". Как я могу присвоить полномочия апачскому пользователю выполнить "svn обновление"?

1
задан 15.03.2010, 18:39

1 ответ

Я создал бы команду в sudoers файле и затем использовал бы sudo -u user-who-owns-svn-repo svn update в Вашем Сценарии PHP.

Изменения в /etc/sudores было бы подобно:

Cmnd_Alias      SVN = /usr/local/bin/svn
apache          ALL=(ALL,!root,!#0) NOPASSWD: SVN

См. руководство Sudoers для большего количества информации.

Если Вы хотите более трудные средства управления, сделайте сценарии оболочки, которые имеют определенные команды SVN и только предоставляют доступ Apache тем. Например:

Файл /path/to/my/project/update.sh:

#!/bin/bash
svn update /path/to/my/project/svn-files

Файл /etc/sudores:

Cmnd_Alias      SVN = /path/to/my/project/update.sh
apache          ALL=(ALL,!root,!#0) NOPASSWD: SVN

(и не забывайте chmod +x path/to/my/project/update.sh)

4
ответ дан 12.12.2019, 09:21

Теги

Похожие вопросы