8

Я попытался изменить оболочку моего пользователя, но использовал "sudo chsh" и изменил корневую оболочку на "bash" вместо «/bin/bash». Теперь, когда я пытаюсь изменить его, я получаю «chsh: PAM аутентификация не удалась», и кажется, что другие вещи тоже не работают.

~$ sudo su
Cannot execute bash: No such file or directory

Это происходит и в режиме восстановления. Что я делаю, чтобы изменить это на что-то полезное?

4 ответа4

16

Если вы можете войти под своим обычным пользователем, просто измените оболочку root-пользователей напрямую:

sudo gedit /etc/passwd

Найдите строку для своего пользователя root, обычно первую, и измените последнюю часть с

...:bash

в

...:/bin/bash

И тебе должно быть хорошо идти.

(NB: Замените gedit любым редактором, который вам нравится.)

6

Используйте установочный диск Ubuntu для загрузки живого сеанса.

Смонтируйте корневой раздел ('/') на жесткий диск (убедитесь, что он доступен для записи).

отредактируйте '[точку монтирования HD]/etc/passwd' (например, /media /sda1 /etc/passwd),

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

Размонтировать жесткий диск. Удалить CD. перезагружать

2

Я играл с этим однажды давным-давно:

cd /bin ; sudo su

То, что происходит, без / впереди оболочка интерпретируется как относительный путь. О боже, если мы находимся в / bin, это решает правильно.

Если вы действительно застряли; спасательный CD - долгий путь. Опция загрузки init =/bin/sh сразу дает вам корневую оболочку. Курсор просто мигает без подсказок, но у вас есть корневая оболочка. Делать

set -i
# mount / -o remmount,rw
# vi /etc/passwd
<fix it>
# mount / -o remount,ro
# reboot -f
1

Обратите внимание, что в качестве краткосрочного обходного пути вы можете использовать ключ "-s" в команде su, чтобы указать оболочку. Например:

su -s /bin/bash

начал бы сеанс su с оболочкой /bin /bash. То же самое касается sudo su -s /bin /bash (или любой другой оболочки, которую вы хотите) @Bjarke Freund-Hansen - это постоянное исправление.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .