.Bashrc modificato accidentalmente e ora non riesco ad accedere nonostante abbia inserito la password correttamente


23

Ho fatto un gran casino con il file bashrc. Stavo installando Gurobi e ho dovuto impostare le variabili di percorso nel file bashrc. Quindi, ho sostituito tutto il testo in bashrc con le variabili del percorso e ho salvato il file bashrc. E ho anche assicurato, se succede qualcosa di brutto, ho un backup di questo file. Il file di backup originale non modificato si trova nella cartella Download.

Ora, quando ho riavviato il sistema, non sono stato in grado di accedere nonostante abbia fornito la password corretta. Quindi, vorrei chiederti un aiuto. Che tipo di correzioni sono possibili dato che ho ancora il file bashrc nella directory dei download


1
usa grub rescue o una sessione live per copiarlo dalla directory dei download su quella sbagliata.
Rinzwind,

potresti per favore elaborare il tuo suggerimento? Sono ancora alle prime
armi

1
Ora mi stai chiedendo cosa sia successo all'opzione fail-safe che esisteva nella schermata di accesso per questo tipo di scenario.
Kasperd,

3
Perché non accedere come root e correggere il file .bashrc dell'utente?
jamesqf,

3
Il modo classico è l'avvio in modalità utente singolo. Devi interrompere il boot loader e aggiungere "single" alla riga specificando il tuo kernel e i parametri di boot, come descritto qui per esempio .
Peter - Ripristina Monica il

Risposte:


38

Usa LiveUSB o LiveDVD.

Avvia la sessione dal vivo, monta il disco rigido e copia il .bashrcfile originale sul file modificato.

Quindi è possibile riavviare in modo sicuro (espellere USB o DVD).

Informazioni generali: Nel caso in cui non avessi il backup del .bashrcfile, puoi utilizzare quello da liveUSB / DVD.


Suppongo che il punto di fare i backup sia quando i tuoi file sono diversi da quelli predefiniti dal CD di installazione.
Dmitry Grigoryev,

2
Sì, lo sono, ma c'è anche la possibilità che tu abbia rovinato qualcosa e non sappia esattamente cosa, o non hai un backup. Ecco perché ho aggiunto alla risposta alla domanda dei PO anche informazioni generali per chiunque non abbia un backup;)
Michal Polovka,

Bene sì, se non hai un backup di qualcosa che hai rovinato, dovrai ricominciare da capo. Fortunatamente, l'OP ne ha uno.
Dmitry Grigoryev,

25

Dovresti essere in grado di eseguire l' avvio in modalità di ripristino , che ti consentirà di passare a una shell di root e quindi correggere il problema da lì. Ciò evita la necessità di scaricare un sistema operativo aggiuntivo.

Istruzioni tratte dal wiki di Ubuntu:

  1. Accendi il tuo computer.
  2. Attendere fino a quando il BIOS ha terminato il caricamento o ha quasi terminato. (Durante questo periodo probabilmente vedrai un logo del produttore del tuo computer.)
  3. Premi e tieni premuto rapidamente il tasto Maiusc, che farà apparire il menu GNU GRUB. (Se vedi il logo Ubuntu, hai perso il punto in cui puoi accedere al menu di GRUB.)

  4. Seleziona la riga che inizia con " Advanced options".

  5. Seleziona la riga che termina con " (recovery mode)", probabilmente la seconda riga, qualcosa del tipo:

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

  6. Premi Invio e il tuo computer inizierà il processo di avvio.

  7. Dopo alcuni istanti, la workstation dovrebbe visualizzare un menu con una serie di opzioni. Una delle opzioni (potrebbe essere necessario scorrere fino alla fine dell'elenco) sarà " Drop to root shell prompt". Premi Invio con questa opzione evidenziata.

  8. La partizione di root è montata in sola lettura. Per montarlo in lettura / scrittura, immettere il comando

    mount -o remount,rw /

  9. Se hai / home, / boot, / tmp o qualsiasi altro punto di montaggio su una partizione separata, puoi montarli con il comando

    mount --all

    (Questo deve essere fatto seguendo il passaggio 8 in modo che /etc/mtabsia scrivibile.)

Se non si dispone dell'opzione di ripristino, è possibile premere ein GRUB per modificare l'opzione di avvio standard e aggiungerla recoveryalla fine della linuxriga (seconda riga per impostazione predefinita, appena prima initrd). Quindi premere F10per eseguirlo.


9

Usa un CD live

  1. Avvio tramite CD / DVD live. Nel caso in cui non si disponga dell'iso e non si desideri scaricare l'iso grande, scaricare Tiny Core - 10 MB.
  2. Su un tipo di riga di comando sudo mount /dev/sdXn /mntdove si sdXntrova la tua partizione Ubuntu.
  3. Tipo cd /mnt/home/<your user name>/Downloads.
  4. Ora ripristina il .bashrctuo nuovo .bashrcusando questo comando mv ../.bashrc ../.bashrc_old && cp ./.bashrc ../.
  5. Ora riavvia il sistema e dovresti essere pronto per partire.

8

Inserisci il dvd o USB che hai usato per installare Ubuntu e avvia da esso. Scegli "prova Ubuntu" e attendi che restituisca il desktop.

Controlla i dischi nei lavandini per quello che ha la tua casa. Cliccandolo si monta in / media /

Apri un terminale e cdinseriscilo nei tuoi download e copia il file nella tua casa. Sarebbe:

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

e riavviare senza il dvd / USB.


Ottengo qualcosa come cp: impossibile creare il file regolare '../bashrc': autorizzazione negata. :(
crypto,

ah usa sudo! :)
Rinzwind,

Era una domanda scadente. Scusate. Lezione imparata! E come hai suggerito, sto accettando la risposta di Michal. Spero che vada bene
cripto

non è un problema, sono su 200 comunque> :)
Rinzwind,

6

Connetti tramite SFTP

Connettersi al sistema tramite SFTP, dal sftpcomando integrato di un'altra macchina Linux o da un PC con WinSCP o FileZilla, e riparare il file. Il .bashrcfile non è normalmente coinvolto in SFTP (è possibile modificare il authorized_keysfile per renderlo coinvolto, ma dubito che tu l'abbia fatto).


Oppure, allo stesso modo, connettiti con ssh dash(o con qualsiasi altra shell non bash).
Peter Taylor,

5

Suggerisco di avere sempre DUE account sudo. Si tratta di account che possono agire come root in QUASI tutti i casi, se si fornisce la normale password per quell'account. Puoi agire temporaneamente come root.

Se rovini un account, puoi risolverlo con l'altro.

Tuttavia, può essere possibile essere in un account REGOLARE e "su rovinato-sudo-account-name" se si conosce la password. Quindi ti comporterai come account rovinato e potrai 'sudo cp backup .bashrc' dopo 'dc / home / screw-up-account'. Ora è possibile senza che sia rovinato, ma non sono sicuro nel tuo caso particolare.


4

Come affermato da alcune persone, più di un account "sudo" è il modo migliore per procedere. In secondo luogo, se fai molte modifiche al tuo file .bashrc, rilascia una copia su una memory stick prima di iniziare a armeggiare, quindi non devi ricominciare con uno spazio vuoto, puoi tornare all'ultimo bene noto. bashrc file senza perdere tutto il tuo armeggiamento precedente. La prima cosa che faccio mai quando armeggio con il mio .bashrc o .vimrc o. . . qualsiasi file di configurazione deve essere copiato sul mio pratico memory stick prima di iniziare. Sono umano, ho figli, mi lascio distrarre. Ho una memory stick piena di file di configurazione per bash, vim, conky, openbox, tint2 e altro.


Un altro trucco è usare RCS per la cronologia delle versioni dei file di configurazione (come bashrc, vimrc o qualsiasi cosa in / etc).
ChuckCottrill,

0

Accedi come root invece e usa il tuo backup per correggere il tuo .bashrc come nelle altre risposte.

Per una sicurezza ottimale, non accedere al normale ambiente X Windows. Invece, premi control-alt-F2per accedere a una console di testo e accedere. Una volta risolto il problema, esegui il exitlogout dalla shell di root, quindi premi control-alt-F7per tornare a X Windows. (Nota che X Windows potrebbe essere su tty1 invece di tty7, quindi potrebbe essere necessario utilizzare control-alt-F1invece. Tty6 o tty7 sono storicamente tradizionali, ma alcune distro lo stanno spostando su tty1 perché le persone raramente usano ttys sono di più. Ubuntu potrebbe o meno fatto così. Sperimenta per scoprire in che modo è configurato il tuo sistema.)


L'account root è disabilitato in Ubuntu, quindi a meno che tu non l'abbia abilitato non c'è modo di accedere come root.
Seth,

1
@Seth Se si ha accesso al bootloader, è possibile avviare in modalità di ripristino e ottenere lì una shell di root.
Bob,

@Bob vero, ma non è quello che dice la risposta. Dovrebbe funzionare comunque.
Seth,

1
@Seth Sì, ho già aggiunto la mia risposta con maggiori dettagli lì. Oh, a proposito @ db48x, normalmente X11 funziona tty7(Ctrl + Alt + F7), no tty1.
Bob,

Ouch, non sapevo che hanno disabilitato l'account di root. Forse non aggiornerò la mia unica macchina Ubuntu dopo tutto ...
db48x,

0

Ogni volta che ho acceso il PC dopo questo incidente, sono stato accolto con la solita schermata di accesso a Ubuntu, tranne che dopo aver inserito la password, lo schermo lampeggiava per un secondo e la schermata di accesso si presentava di nuovo.

Non so se questo è il tuo problema, ma questo mi è successo una volta. Se uno dei file caricati su shell-start (.bashrc, .bash_profile, .profile) restituisce il testo a stdout, non sarà possibile accedere graficamente. Puoi ancora andare in un tty (ctrl + alt + f1), accedere da lì e quindi recuperare il tuo file.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.