Por que as mudanças no / etc / passwd não entram em vigor?

4

Eu editei /etc/passwd executando usermod -s para alterar meu shell. ( chsh não funciona, porque pede uma senha; nós SSH usamos chaves.)

Quando eu desconecto e reconecto, a alteração não entra em vigor. Eu reiniciei sshd também, e ainda nada.

    
por Thanatos 03.02.2015 / 20:59

1 resposta

7

Eu uso ControlMaster e não estava realmente desconectando.

ControlMaster é uma opção de configuração SSH que mantém as conexões abertas por um certo tempo e pode multiplexar sessões SSH na mesma conexão (o que evita trocas de chaves, que são lentas). No entanto, se você ^ D de um shell e, em seguida, executar novamente ssh , você não matou a conexão original .

Reiniciar sshd apenas reinicia o processo de escuta: qualquer sessão em andamento permanece ativa, de modo que não reinicie a conexão.

Aparentemente, o lançamento de um novo shell não verifica novamente /etc/passwd para alterações.

A solução foi apenas para eliminar a conexão: ssh <hostname> -O exit e efetuar login novamente.

    
por 03.02.2015 / 21:02

Tags