Os aplicativos normalmente leem arquivos por usuário no diretório indicado pela variável de ambiente HOME
.
Por padrão, o sudo não altera o valor de HOME
, portanto, ele ainda aponta para o diretório inicial do usuário original. Várias opções podem fazer o sudo alterá-lo para o diretório inicial do usuário de destino, portanto, certifique-se de que nenhum deles esteja ativado:
- Não defina a opção
always_set_home
no arquivosudoers
. - Se você tiver a opção
env_reset
definida, incluaHOME
na listaenv_keep
. - Não passe as opções de linha de comando
-H
,-s
ou-i
.
Para definir opções em sudoers
para apenas um comando, use algo como
Defaults !myapp env_keep+=HOME,!always_set_home
Se a variável HOME
for preservada, mas o aplicativo não parecer lá, você precisará encontrar uma maneira específica de aplicativo para informar a variável HOME
em vez de procurar na origem do UID efetivo diretório.
Observe que é incomum exigir que um aplicativo seja executado como root, mas leia arquivos pertencentes a um usuário físico. Talvez esses arquivos devam estar em um diretório de configuração do sistema?