Modificado acidentalmente .bashrc e agora eu não consigo logar apesar de digitar a senha corretamente

23

Eu estraguei o bigtime com o arquivo bashrc. Eu estava instalando o Gurobi e tive que configurar variáveis de caminho no arquivo bashrc. Então, substituí todo o texto em bashrc pelas variáveis de caminho e salvei o arquivo bashrc. E também me certifiquei que, se algo de ruim acontecesse, eu tenho um backup deste arquivo. O arquivo de backup original não modificado está na pasta Downloads.

Agora, quando reiniciei o sistema, não consegui efetuar login, apesar de fornecer a senha correta. Por isso, gostaria de lhe pedir ajuda. Que tipo de correções são possíveis devido ao fato de eu ainda ter o arquivo bashrc no diretório Downloads

    
por crypto 26.10.2016 / 19:25

9 respostas

38

Use LiveUSB ou LiveDVD.

Inicialize na sessão ao vivo, monte seu disco rígido e copie o arquivo .bashrc original sobre o modificado.

Em seguida, você pode reinicializar com segurança (ejetar USB ou DVD).

Informações gerais: Caso você não tenha backup do arquivo .bashrc , você pode usar o do liveUSB / DVD.

    
por Michal Polovka 26.10.2016 / 19:30
24

Você deve ser capaz de inicializar no modo de recuperação , o que permitirá que você caia em um shell de root e corrija o problema de há. Isso evita a necessidade de baixar um sistema operacional adicional.

Instruções retiradas do wiki do Ubuntu:

  
  1. Ligue o seu computador.
  2.   
  3. Aguarde até que o BIOS termine de carregar ou esteja quase concluído. (Durante esse tempo, você provavelmente verá um logotipo do fabricante do computador.)
  4.   
  5. Pressione e segure rapidamente a tecla Shift, que abrirá o menu GNU GRUB. (Se você ver o logotipo do Ubuntu, você perdeu o ponto onde você pode entrar no menu GRUB.)

  6.   
  7. Selecione a linha que começa com " Advanced options ".

  8.   
  9. Selecione a linha que termina com " (recovery mode) ", provavelmente a segunda linha, algo como:

         

    Ubuntu GNU/Linux, with Linux 3.8.0-26-generic (recovery mode)

  10.   
  11. Pressione Retornar e sua máquina iniciará o processo de inicialização.

  12.   
  13. Após alguns momentos, sua estação de trabalho deve exibir um menu com várias opções. Uma das opções (você pode precisar rolar para baixo até o final da lista) será " Drop to root shell prompt ". Pressione Retornar com esta opção destacada.

  14.   
  15. A partição raiz é montada como somente leitura. Para montá-lo, leia / escreva, digite o comando

         

    mount -o remount,rw /

  16.   
  17. Se você tiver / home, / boot, / tmp ou qualquer outro ponto de montagem em uma partição separada, você poderá montá-los com o comando

         

    mount --all

         

    (Isso deve ser feito após a etapa 8 para que /etc/mtab seja gravável.)

  18.   

Se você não tiver a opção de recuperação, poderá pressionar e no GRUB para editar a opção de inicialização padrão e adicionar recovery no final da linha linux (segunda e última linha por padrão, logo antes de initrd ). Em seguida, pressione F10 para executá-lo.

    
por Bob 27.10.2016 / 04:29
9

Use um CD ao vivo

  1. Inicialize usando CD / DVD ao vivo. Caso você não tenha o iso e não queira baixar o iso grande, baixe o Tiny Core - 10MB.
  2. Em uma linha de comando, digite sudo mount /dev/sdXn /mnt em que sdXn é sua partição do Ubuntu.
  3. Digite cd /mnt/home/<your user name>/Downloads .
  4. Agora restaure seu .bashrc como seu novo .bashrc usando este comando mv ../.bashrc ../.bashrc_old && cp ./.bashrc ../ .
  5. Agora, reinicie o sistema e você deve estar pronto.
por Ceda EI 26.10.2016 / 19:33
8

Insira o dvd ou USB que você usou para instalar o Ubuntu e inicialize a partir dele. Escolha "tente o Ubuntu" e aguarde que ele retorne a área de trabalho.

Verifique os discos nos lançadores para aquele que tem a sua casa. Clicando, monta em / media /

Abra um terminal e cd nos seus downloads e copie o arquivo para sua casa. Isso seria:

cd /media/home/{your_username}/Downloads/
sudo cp .bashrc ../

e reinicie sem o dvd / USB.

    
por Rinzwind 26.10.2016 / 19:31
6

Conectar via SFTP

Conecte-se ao sistema via SFTP, seja a partir do comando sftp de outro computador com Linux ou de um PC com WinSCP ou FileZilla, e repare o arquivo. O arquivo .bashrc não está normalmente envolvido no SFTP (é possível ajustar seu arquivo authorized_keys para torná-lo envolvido, mas duvidoso que você tenha feito isso).

    
por Monty Harder 27.10.2016 / 20:34
5

Eu sugiro sempre ter duas contas sudo. Essas são contas que podem atuar como root em quase todos os casos, se você fornecer a senha normal para essa conta. Você temporariamente atua como root.

Se você estragar uma conta, pode consertá-la com a outra.

Mas, PODE ser possível estar em uma conta REGULAR e 'su screw-up-sudo-account-name' se você souber a senha. Então você estará agindo como a conta estragada e pode 'sudo cp backup .bashrc' depois de 'dc / home / screwed-up-account' Eu agora é possível sem que ele seja estragado, mas não tenho certeza no seu caso particular. / p>     

por Dennis 27.10.2016 / 02:47
4

Como dito por algumas pessoas, mais de uma conta "sudo" é o melhor caminho a percorrer. Em segundo lugar, se você faz um monte de mods para o seu arquivo .bashrc, solte uma cópia em um memory stick antes de começar a mexer, então você não precisa começar de novo com um espaço em branco, você pode voltar ao último bem conhecido. arquivo bashrc sem perder todos os seus ajustes anteriores. A primeira coisa que faço ao mexer com meu .bashrc ou .vimrc ou. . . qualquer arquivo de configuração é fazer uma cópia no meu memory stick antes de eu começar. Eu sou humano eu tenho filhos eu me distraio lol. Eu tenho um memory stick cheio de arquivos de configuração para bash, vim, conky, openbox, tint2 e muito mais.

    
por skytale 28.10.2016 / 00:19
0

Efetue login como root e use seu backup para corrigir seu .bashrc como nas outras respostas.

Para uma segurança otimizada, não faça login no ambiente normal do X Windows. Em vez disso, pressione control-alt-F2 para ir para um console de texto e efetue login. Depois de corrigir o problema, execute exit para efetuar logout do shell de root e, em seguida, pressione control-alt-F7 para voltar ao X Windows. (Note que o X Windows pode estar em tty1 ao invés de tty7, então você pode precisar usar control-alt-F1 . Tty6 ou tty7 são historicamente tradicionais, mas algumas distribuições estão movendo para tty1 porque as pessoas raramente usam ttys são mais. Ubuntu pode ou pode não ter feito isso. Experimente descobrir de que maneira seu sistema está configurado.)

    
por db48x 26.10.2016 / 22:37
0
  

Toda vez que eu ligava o PC após este incidente, eu era recebido com a tela usual de login do Ubuntu, exceto que após digitar a senha, a tela piscava por um segundo e a tela de login se apresentava novamente.

Eu não sei se esse é o seu problema, mas isso aconteceu comigo uma vez. Se algum dos arquivos carregados no shell-start (.bashrc, .bash_profile, .profile) exibir o texto no stdout, você não poderá efetuar login graficamente. Você ainda pode entrar em um tty (ctrl + alt + f1), fazer login a partir daí e, em seguida, recuperar seu arquivo.

    
por Scimonster 28.10.2016 / 08:55