Inicialize no modo de usuário único e, em seguida:
mount -w /
vipw
Alterar caminho para /usr/local/bin/bash
exit
Eu cometi um erro:
vipw
(editar arquivo passwd) /bin/csh
para /bin/bash
Como você provavelmente adivinhou, o bash shell não é colocado em / bin :( Um erro muito burro!
Agora não consigo fazer login como root.
Eu posso fazer o login como meu usuário de roda, mas não posso vipw
.
Tentei o seguinte sem sorte:
/rescue/vi /etc/passwd
su -m
Então, como altero o shell de root de volta para /bin/csh
?
Eu poderia simplesmente reinstalar - mas eu prefiro aprender algumas coisas novas!
Use um CD / DVD ao vivo de algum tipo. (O Gentoo é uma boa escolha.) Basta montar a unidade e editar o arquivo / etc / passwd.
Apenas uma dica ... Após o primeiro login como root, eu mudo a senha ou a senha. Desta forma, mesmo com dados corrompidos / disco ou partição perdidos, tenho um usuário com privilégios e 2 shells diferentes.
Você pode su
(sem -
)?
Se não, talvez sudo -u root /usr/bin/bash
funcione?
Caso contrário, inicialize a partir do CD, monte o sistema de arquivos raiz, altere o arquivo etc/passwd
no sistema de arquivos raiz, sincronize, umount, reinicialize.
Tente modificar a string de inicialização do grub durante a inicialização para que não encontre o kernel. O grub vai deixá-lo no busybox. Tem um editor vi embutido. Monte, edite e reinicie.
O comando correto para o modo de usuário único é:
mount -u -rw /
mount -a -t ufs
faça o seguinte: chsh -s / usr / local / bin / bash root
Acabei de fazer exatamente o mesmo em uma Synology Diskstation - presumi que o / bin / bash estava disponível quando mudava rapidamente o shell de root. Doh.
Eu usei a opção -s do su quando logado como administrador para forçar um shell:
-s, --shell=SHELL run SHELL if /etc/shells allows it
Isto é:
su -s /bin/ash
Ufa.