$ HOME não é configurada automaticamente

3

Eu tenho um usuário que criei usando

adduser --system --shell /bin/bash --home /home/myuser myuser

A linha correspondente em / etc / passwd se parece com:

myuser:x:106:65534::/home/myuser:/bin/bash

Quando eu faço login como este usuário executando sudo -u myuser bash , recebo o erro

bash: /root/.bashrc: Permission denied

De fato, echo $HOME me dá /root/ . Portanto, toda vez que eu fizer login como esse usuário, terei que executar export HOME=/home/myuser manualmente, caso contrário, muitos programas não serão executados corretamente. Eu adicionei esta linha para o .profile, .bash_profile e .bashrc desse usuário (apenas no caso), mas nada para fazer.

Qualquer ajuda apreciada. Obrigado!

    
por christophetd 14.12.2015 / 11:53

1 resposta

3

Você não está fazendo login como esse usuário. sudo apenas altera suas credenciais de segurança (UID, GID ...), no máximo, chama alguns módulos de sessão do PAM, mas isso ainda não é um "login" real (e nem é su nem mesmo su -l ).

Em particular, sudo é frequentemente configurado para manter o diretório home original por conveniência, já que muitas pessoas usam sudo -s para privilégios de root, mas querem manter seus ~ / .vimrc regulares e tal.

Existe a opção sudo -H para forçar a configuração de $ HOME, e a opção sudo -i para executar o shell no modo "login" (para permitir a leitura de .bash_profile), mas nenhuma delas será um login completo de qualquer forma. Para fazer login corretamente como esse usuário, tente ssh myuser@localhost ou apenas faça-o a partir do prompt de login normal.

    
por 14.12.2015 / 12:03

Tags