Substituí acidentalmente o arquivo / bin / bash com um script idiota que pretendia colocar dentro da pasta / bin.
Como recupero o conteúdo desse arquivo? Existe uma maneira de encontrar o conteúdo na Web e copiá-lo de volta? Quais são minhas opções aqui, considerando que o terminal apresenta um erro ao falar sobre "Muitos links simbólicos?"
Ainda sou novato nesse tipo de coisa e agradeço toda a ajuda que posso obter.
Edit: Eu esqueci de mencionar que estou no Kali 2.2 Rolling, que é praticamente o debian com alguns recursos adicionais.
Edit 2: Também reiniciei a máquina, pois não havia percebido meu erro até alguns dias atrás. Isso torna isso um pouco mais difícil.
linux
bash
kali-linux
data-recovery
GarrukApex
fonte
fonte
$HOME/.bin
e adicione-o ao seuPATH
ou use-o/usr/local/bin
se precisar que ele seja de todo o sistema. Ou, melhor ainda, crie um pacote.Respostas:
bash
é um shell, provavelmente o shell do sistema, agora acontecem coisas estranhas, enquanto partes do shell ainda estão na memória. Depois de sair ou reiniciar, você terá mais problemas.Portanto, a primeira coisa deve ser mudar seu shell para algo seguro. Veja quais shells você instalou
Em seguida, mude seu shell para um dos outros shells listados lá, por exemplo
Atualização, porque você já reiniciou:
Você tem sorte de que hoje em dia o processo de inicialização não depende
bash
, portanto, seu sistema inicializa, você simplesmente não pode obter uma linha de comando. Mas você pode iniciar um editor para editar/etc/passwd
e alterar o shell naroot
linha de/bin/bash
para/bin/dash
. Saia e faça login novamente. Apenas não faça nenhuma outra alteração nesse arquivo, ou você pode atrapalhar seu sistema completamente.Em seguida, tente reinstalar
bash
comSe tudo der certo, você pode
chsh
voltar parabash
.Finalmente: acho que o kali é uma distribuição altamente especializada, provavelmente não adequada para pessoas que sobrescrevem acidentalmente seu shell. Como essa frase foi chamada de rude e severa, devo acrescentar que a escrevi por experiência própria. Quando eu era mais jovem, estraguei meu sistema porque ninguém me disse para evitar mexer como root.
fonte
command > /bin/bash ...
contracommand > (/bin/bash ...)
.Não desligue sua máquina.
Você ainda tem um shell em execução? É festança? Se sim, você está bem. (Mas não faça isso de novo.)
Corre:
Voila, está tudo bem.
Como alguém nos comentários duvida que isso funcione:
fonte
/bin/sh
rbash
root
é quando executadocp
. Links rígidos são um bom ponto, no entanto.Se você pode fazer login, mas não pode abrir um terminal ou acessar um shell, mas pode acessar arquivos por meio da GUI, vá para
/bin
, procure arquivos cujos nomes terminem comsh
(mas não.sh
) e execute um (clicando duas vezes em ou clique com o botão direito do mouse). Em particular, procure o seguinte:sh
dash
ash
ksh
(ouksh
seguido de um número; por exemplo,ksh93
)zsh
yash
ou, como último recurso,
tcsh
oucsh
Se você conseguir executar um shell, tente a resposta de Philippos .
Outra abordagem é inicializar no modo de usuário único seguindo estas instruções, mas especifique
init=/bin/sh
(ou um dos outros shells) em vez deinit=/bin/bash
.fonte