FreeBSD: /usr/local/bin/bash: No such file or directory

Автор: | 10/18/2012
 

Проблема: при попытке логина вы получаете сообщение:

login:  /usr/local/bin/bash: No such file or directory

после чего вас снова выбрасывает в строку приглашения логина.

Для исправления ситуации — перезагружаемся в Single User Mode, как описано тут>>>, и выполняем следующие действия.

Проверим, какие разделы есть на диске:

# cat /etc/fstab
# Device        Mountpoint      FStype  Options                 Dump    Pass#
/dev/da0p2      none            swap    sw                      0       0
/dev/da0p3      /               ufs     rw,noatime              1       1
/dev/da0p4      /tmp            ufs     rw,noexec,noatime       2       2
/dev/da0p5      /var            ufs     rw,noatime              2       2
/dev/da0p6      /usr            ufs     rw,noatime              2       2
linproc         /compat/linux/proc linprocfs rw 0 0

Нам необходимы разделы /etc (т.к. в нём хранится файл /etc/passwd, который нам надо будет отредактировать с помощью утилиты pw) и /bin (т.к. в нем есть shell — sh).

Проверим, что смонтировано сейчас:

# mount
/dev/da0p3 on / (ufs, local, read-only)

Примонтируем корневой раздел / в режим чтение-запись:

# mount /

Проверяем:

# mount
/dev/da0p3 on / (ufs, local, noatime, journaled soft-updates)

Теперь можно менять shell для пользователя root:

# pw usermod root -s /bin/sh

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