Se você tiver acesso à conta root, poderá alterar o shell para um usuário usando chsh -u user -s $SHELL
.
Se você tiver acesso ao processo de inicialização, poderá anexar init=$SHELL
para ser descartado para um shell de usuário único, onde poderá corrigir isso, novamente com chsh -u user -s $SHELL
(alguns sistemas usando uma inicialização de dois estágios com um A imagem initrd pode exigir que você use real_init
). Você provavelmente precisará remontar o sistema de arquivos contendo /etc/passwd
como leitura-gravação (usando mount -o remount,rw /
ou similar).
Caso contrário, se você puder su
no usuário de outro usuário, tente su user -c $SHELL
, ou se puder ssh no usuário, você pode tentar algo como ssh user@localhost $SHELL
.
Você também pode inicializar em um CD / USB ativo, montar /
e corrigir /etc/passwd
manualmente.