Мы хотим автоматизировать создание репозиториев svn и окружений trac для новых проектов. По сути, это означало бы создание веб-скрипта, который получил некоторую информацию (например, env, имя репо и т. Д.) От пользователя, а затем выполнял
sudo -u svn svnadmin create /var/svn/<projectname>
trac-admin /var/trac/sites/<projectname> initenv [... All extra params...]
Для второй команды это просто, поскольку она уже работает как пользователь www-data, поэтому мне не пришлось бы использовать sudo. Но для первой команды мне пришлось бы использовать sudo и добавить www-data
в файл sudoers. Мне было интересно, хорошая ли это идея и как это сделать в таком случае. Чтение справочной страницы оставило у меня больше сомнений, чем уверенности в этом.
Кстати, этот веб-сервер будет доступен только из нашей внутренней сети. Операционная система - Ubuntu Server 10.04.
ОБНОВИТЬ
Установка /var/svn
владельцу папки www-data
:
chown -R www-data:www-data /var/svn
и затем вы можете создать репозиторий Subversion с веб-страницы без sudo
.
Если вы действительно хотите это сделать, давайте ограничим www-data
пользователь для запуска svnadmin
команда без запроса пароля. Тип visudo
и добавьте следующую строку:
www-data ALL=(ALL) NOPASSWD:/usr/bin/svnadmin