Defina a variável de ambiente para outro usuário (problema do Trac Independente)

1

Gostaria de executar o tracd ( Trac no modo autônomo) com o modelo personalizado para lista de múltiplos repositórios:

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

Para modelos personalizados, eu preciso de uma variável de ambiente ( como dito aqui ):

$ export TRAC_ENV_INDEX_TEMPLATE=/path/to/template

Meu problema é que preciso executar tracd como outro usuário. Agora eu tenho:

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

Executando como devel , não há variável de ambiente e exibe a lista de projetos no modelo padrão. Eu tentei o óbvio:

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

A minha abordagem para isso está completamente errada, ou posso resolver isso com a configuração da variável de ambiente de outro usuário?

    
por Martin Tóth 30.11.2010 / 17:44

1 resposta

2

Se você pode executar comandos arbitrários como o usuário devel , um idioma comum é

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

Se você tiver permissões de root, poderá informar sudo para reter a variável de ambiente com a diretiva env_keep , por exemplo,

Defaults>devel: env_keep=TRAC_ENV_INDEX_TEMPLATE
    
por 01.12.2010 / 01:45