1

Я хотел бы запустить tracd (Trac в автономном режиме) с пользовательским шаблоном для списка нескольких хранилищ:

$ tracd -p 8080 -e /my/projects/path

Для пользовательского шаблона мне нужна переменная окружения (как сказано здесь):

$ export TRAC_ENV_INDEX_TEMPLATE=/path/to/template

Моя проблема в том, что мне нужно запустить tracd от имени другого пользователя. Теперь у меня есть:

$ sudo -u devel tracd -d -p 8080 -e /my/projects/path 

Работая как devel , нет переменной среды, и он отображает список проектов в шаблоне по умолчанию. Я попробовал очевидное:

$ sudo -u devel export TRAC_ENV_INDEX_TEMPLATE=/path/to/template
sudo: export: command not found

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

1 ответ1

2

Если вы можете запускать произвольные команды от имени пользователя devel , распространенная идиома

sudo -u devel env TRAC_ENV_INDEX_TEMPLATE=/path/to/template tracd -d -p 8080 -e /my/projects/path

Если у вас есть права доступа root, вы можете указать sudo сохранить переменную окружения с помощью директивы env_keep , например:

Defaults>devel: env_keep=TRAC_ENV_INDEX_TEMPLATE

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