Obtenha acesso root sem usar o shell de login do root

4

Eu construí o login do meu usuário root removendo o zsh enquanto ele ainda era o shell padrão. Agora, como resultado, o login irá falhar, já que no login ele tentará usar /bin/zsh (1), que está faltando.

Apenas um outro usuário ainda está disponível para executar o código, mas quase não tem permissões. Eu tentei elevar os direitos, ambos com su (2), sudo e vários outros sem nenhum sucesso. Existe alguma maneira de corrigir isso usando o comando?

Como último recurso eu tentaria inicializar o servidor em um live CD e alterar o armazenamento de arquivos diretamente. Mas eu preferiria evitar isso, já que isso poderia induzir a interrupções e falhas, além de não permitir a reinicialização de todos os serviços atualmente em execução. O servidor está executando o CentOS.

(1)

$ cat /etc/passwd
root:x:0:0:root:/root:/bin/zsh

(2)

$ echo my-root-password | su --shell=/bin/bash - root -c 'yum install zsh -y'
Password: su: using restricted shell /bin/zsh
su: failed to execute /bin/zsh: No such file or directory

(A senha é canalizada, porque a execução do código não é feita em um shell interativo.)

EDITAR: Obrigado por todas as sugestões! Infelizmente nenhum deles era aplicável, então eu tive que me contentar com o tempo de inatividade. Demorei um pouco mais do que esperava, tentei muitas coisas que não funcionaram, mas em retrospectiva são os seguintes passos que resolveram o problema:

Alterei os parâmetros de inicialização para poder ter algum controle básico sobre o servidor. Editou o arquivo /etc/passwd e, por último, desativou o SELinux, pois tinha algumas políticas que faziam com que o serviço de autenticação falhasse na inicialização.

    
por Addono 17.05.2018 / 23:55

0 respostas