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.