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_homeno arquivosudoers. - Se você tiver a opção
env_resetdefinida, incluaHOMEna listaenv_keep. - Não passe as opções de linha de comando
-H,-sou-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?