Случайно модифицированный.bashrc и теперь я не могу войти, несмотря на то, что правильно ввел пароль

Я запутался с файлом bashrc. Я устанавливал Gurobi, и я должен был установить переменные пути в файле bashrc. Итак, я заменил весь текст в bashrc переменными пути и сохранил файл bashrc. И я также удостоверился, что, если что-то плохое случится, у меня есть резервная копия этого файла. Исходный неизмененный файл резервной копии находится в папке "Загрузки".

Теперь, когда я перезапустил систему, я не смог войти, несмотря на предоставление правильного пароля. Поэтому я хотел бы попросить вас о помощи. Какие исправления возможны, учитывая тот факт, что у меня все еще есть файл bashrc в каталоге Downloads

9 ответов

Решение

Используйте LiveUSB или LiveDVD.

Загрузитесь в живую сессию, смонтируйте жесткий диск и скопируйте оригинал .bashrc файл поверх измененного.

После этого вы можете безопасно перезагрузиться (извлечь USB или DVD).

Общая информация: Если у вас нет резервной копии .bashrc файл, вы можете использовать один из liveUSB/DVD.

38

Вы должны быть в состоянии загрузиться в режиме восстановления, который позволит вам зайти в корневую оболочку, а затем исправить проблему оттуда. Это позволяет избежать необходимости загружать дополнительную ОС.

Инструкции взяты из вики Ubuntu:

  1. Включи свой компьютер.
  2. Дождитесь окончания загрузки BIOS или его завершения. (В это время вы, вероятно, увидите логотип производителя вашего компьютера.)
  3. Быстро нажмите и удерживайте клавишу Shift, чтобы вызвать меню GNU GRUB. (Если вы видите логотип Ubuntu, вы упустили момент, когда вы можете войти в меню GRUB.)

  4. Выберите строку, которая начинается с "Advanced options".

  5. Выберите строку, заканчивающуюся на "(recovery mode)", вероятно, вторая строка, что-то вроде:

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

  6. Нажмите Return, и ваша машина начнет процесс загрузки.

  7. Через несколько секунд ваша рабочая станция должна отобразить меню с рядом опций. Один из вариантов (вам может понадобиться прокрутить вниз до конца списка) будет "Drop to root shell promptMsgstr "Нажмите Return, когда эта опция выделена.

  8. Корневой раздел монтируется только для чтения. Чтобы смонтировать его на чтение / запись, введите команду

    mount -o remount,rw /

  9. Если у вас есть / home, / boot, / tmp или любая другая точка монтирования в отдельном разделе, вы можете смонтировать их с помощью команды

    mount --all

    (Это должно быть сделано после шага 8, чтобы /etc/mtab доступно для записи.)

Если у вас нет опции восстановления, вы можете нажать e в GRUB, чтобы отредактировать стандартную опцию загрузки и добавить recovery в конце linux строка (вторая-последняя строка по умолчанию, непосредственно перед initrd). Затем нажмите F10, чтобы запустить его.

24

Используйте живой CD

  1. Загрузитесь с живого CD/DVD. Если у вас нет iso и вы не хотите загружать большие iso, скачайте Tiny Core - 10MB.
  2. Тип командной строки sudo mount /dev/sdXn /mnt где sdXn ваш раздел Ubuntu
  3. Тип cd /mnt/home/<your user name>/Downloads,
  4. Теперь восстановите свой .bashrc как твой новый .bashrc используя эту команду mv ../.bashrc ../.bashrc_old && cp ./.bashrc ../,
  5. Теперь перезапустите вашу систему, и вы должны быть готовы к работе.
9

Вставьте DVD или USB, который вы использовали для установки Ubuntu, и загрузитесь с него. Выберите "попробовать Ubuntu" и подождите, пока он вернется на рабочий стол.

Проверьте диски в лаучарах на тот, который имеет ваш дом. Нажатие на него монтирует его в /media/

Откройте терминал и cd в него в ваши загрузки и скопируйте файл в свой дом. Это было бы:

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

и перезагрузите компьютер без DVD /USB.

8

Подключиться через SFTP

Подключитесь к системе через SFTP, либо со встроенного другого компьютера Linux sftp Команда или ПК с WinSCP или FileZilla, и восстановить файл. .bashrc Файл обычно не участвует в SFTP (можно настроить authorized_keys файл, чтобы сделать это, но сомнительно, что вы сделали это).

6

Я предлагаю всегда иметь ДВА учетных записи sudo. Это учетные записи, которые могут выступать в роли пользователя root почти во всех случаях, если вы зададите обычный пароль для этой учетной записи. Вы временно получаете права root.

Если вы испортите одну учетную запись, вы можете исправить ее с другой.

Но, МОЖЕТ быть возможно быть в РЕГУЛЯРНОЙ учетной записи и 'su screw-up-sudo-account-name', если вы знаете пароль. Тогда вы будете действовать как испорченная учетная запись и можете 'sudo cp backup.bashrc' после 'dc / home / screwed-up-account'. Теперь это возможно без обмана, но не уверен в вашем конкретном случае.

5

По словам некоторых людей, лучше всего использовать одну учетную запись sudo. Во-вторых, если вы сделаете много модов для своего файла.bashrc, поместите копию на карту памяти, прежде чем начинать возиться, тогда вам не нужно начинать заново с пробела, вы можете вернуться к последнему известному благу. Bashrc файл, не теряя все свои предыдущие работы. Первое, что я делаю, когда возиться с моим.bashrc или.vimrc или.,, любой файл конфигурации - это скопировать на мою удобную карту памяти, прежде чем я начну. Я человек, у меня есть дети, я отвлекаюсь LOL. У меня есть карта памяти, полная конфигурационных файлов для bash, vim, conky, openbox, tint2 и других.

4

Каждый раз, когда я включал компьютер после этого инцидента, меня приветствовал обычный экран входа в систему Ubuntu, за исключением того, что после ввода пароля экран мигал секунду и экран входа снова появлялся.

Я не знаю, была ли это ваша проблема, но это случилось со мной однажды. Если какой-либо из файлов, загруженных при запуске оболочки (.bashrc, .bash_profile, .profile), выводит текст на стандартный вывод, вы не сможете войти в систему графически. Вы все еще можете войти в tty (ctrl+alt+f1), авторизоваться оттуда и затем восстановить свой файл.

0

Вместо этого войдите в систему как пользователь root и используйте свою резервную копию, чтобы исправить ваш.bashrc, как и в других ответах.

Для оптимальной безопасности не входите в обычную среду X Windows. Вместо этого нажмите control-alt-F2 чтобы перейти к текстовой консоли и войти в систему. После устранения проблемы выполните exit чтобы выйти из корневой оболочки, затем нажмите control-alt-F7 вернуться к X Windows. (Обратите внимание, что X Windows может быть на tty1 вместо tty7, поэтому вам может понадобиться control-alt-F1 вместо. tty6 или tty7 исторически являются традиционными, но некоторые дистрибутивы переносят его на tty1, потому что люди редко используют ttys чаще. Ubuntu может или не может сделать это. Эксперимент, чтобы узнать, как настроена ваша система.)

0
Другие вопросы по тегам