1

Я хочу запустить команду "svn update" из php-скрипта, пользователь которого называется "apache". Как я могу назначить разрешения для пользователя Apache для выполнения "обновления SVN"?

1 ответ1

3

Я хотел бы создать команду в файле 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)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .