O que o chsh fez quando eu digito 'chsh -s SHELL' e como voltar ao SHELL anterior?

1

Por engano tenho configurado meu shell de login de usuário para algum diretório desconhecido: ([1]. Agora, não consigo fazer login neste usuário. Toda vez que tento ssh, sempre falha como se eu digitar a senha errada. Eu tento logar usando root e faço su --shell=/bin/tcsh username e eu tenho

su: /path/to/shell/i/set/previously: permission denied

Para ser claro, /path/to/shell/i/set/previously aponte para algum diretório, não para shell executável. Eu tentei mudar o meu shell de login em /etc/passwd volta para /bin/tcsh sem sorte :(. Sempre tem a mesma permissão negada erro: (.

Agora, gostaria de saber o que o chsh fez com que eu não conseguisse fazer login mesmo depois de alterar a entrada em /etc/passwd . Além disso, como faço para recuperar meu shell anterior ( /bin/tcsh )

Obrigado.

    
por ariefbayu 11.09.2009 / 04:18

1 resposta

1

Faça login como root e use:

chpass username

Você estará em um buffer vi com as configurações do usuário. Mude o shell para / bin / tcsh e Bob é seu tio.

Por que, essas configurações são realmente mantidas em /etc/master.passwd . / etc / passwd é gerado a partir desse arquivo. Leia o manual Fine para mais.

    
por 11.09.2009 / 07:14