ssh root access denied depois de alterar o shell

2

depois que eu tentei mudar o meu shell do servidor, não consigo mais logar como root.

Primeiro, eu instalei o z-shell (zsh) como root e, em seguida, eu queria alterá-lo para o meu shell padrão. Por isso eu usei "chsh". Minha culpa era que eu digitei um caminho errado. Após o logout e novo login via Putty, recebi a mensagem "Acesso negado".

Era previsível, quando o caminho para o shell não existe. Então eu entrei no meu painel de controle, e mudei o arquivo / etc / passwd via filemanager: Eu corrigi a última parte errada da primeira linha - o usuário root:

root: x: 0: 0: raiz: / root: / usr / bin / zsh

Mesmo se eu alterá-lo para o shell antigo / bin / bash ou / bin / sh ele não funciona. Eu li que passwd & shadow não são arquivos ao vivo, então eu reiniciei o servidor, mas ainda o mesmo problema

Alguma idéia, o que mais eu poderia fazer?

SO: Debian 5 + Parallels Plesk 11

    
por tobias b. 20.02.2013 / 20:02

2 respostas

0

Eu encontrei uma solução em outro fórum. Para todas as pessoas com o mesmo problema, talvez essa abordagem também possa ajudar:

Meu provedor alterou a senha do root e tentou o "chsh -s / bin / bash root", o que não funcionou, porque a senha não foi aceita e ocorreu o seguinte erro: "chsh: PAM authentication failed".

dave_mystic deu a solução:

The real problem is in /etc/pam.d/chsh. In that file, the line which prevents users from changing back to a normal shell after being assigned a special shell appears before the line that authorizes all changes from the root.

Unfortunately, the following line was firing first, disallowing a change because the users shell was NOT in the list of available shells. The authorization line from me being 'root' via sudo never fired because it was never checked after the first line fired.

auth required pam_shells.so

The solution was to temporarily comment out the line in /etc/pam.d/chsh, change the users shell to the correct shell, and then remove the comment in the line.

Fonte: link

Então eu comentei a linha mencionada e depois disso consegui alterar o shell.

    
por 23.02.2013 / 11:39
6
  1. Sempre use vipw para editar / etc / passwd e vipw -s para editar / etc / shadow.
  2. Verifique se os shells que você está tentando usar estão listados em / etc / shells.
  3. Verifique se o SElinux não está configurado para 'enforcing' em / etc / selinux / config. Altere para 'permissivo' ou 'desativado'. [requer reinicialização]
  4. Quando você quiser experimentar um novo shell , não efetue logout para testá-lo . Inicie uma sessão SSH adicional ou tty e deixe a atual em execução no caso de você f * ck-lo.
  5. Verifique se há erros relevantes para o processo de login em seus registros que possam indicar o que else está errado.

Se você ainda não conseguir corrigi-lo, entre em contato com seu provedor de hospedagem. Eles saberão como consertar isso dentro de 10 minutos, ou você deverá encontrar um host melhor.

    
por 20.02.2013 / 20:25