URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID15
Нить номер: 1039
[ Назад ]

Исходное сообщение
"Не могу войти в режим root (su) из-за отсутствия Bash"

Отправлено sunapex , 16-Апр-07 20:08 
Нужно было организовать шлюз в оптоволокно из внутренней сети, поставил на машину FreeBSD 6.2, настроил шлюз и ipfirewall, все работает, изнутри все пашет, снаружи не залезешь. Хотел включить интерпретатор строки Bash, начитались понимаешь, тут всякого.
Теперь при попытке зайти root-ом, или по команде su из любого пользователя, выдает сообщение su: /usr/local/bin/bash: No such file or directory и опять в режим $ встает.
Теперь никак исправить не могу, опыта практически нет, только учимся с этими системами...
Ясное дело что при установке файлы не поставились, но теперь ничего сделать не могу.
Посоветуйте, что в таких случаях можно сделать, как вернуть рабочую оболочку sh или доставить bash в этот каталог...

Содержание

Сообщения в этом обсуждении
"Не могу войти в режим root (su) из-за отсутствия Bash"
Отправлено sunapex , 16-Апр-07 20:59 
Нашел строчку, из-за которой вся проблема, в /etc/passwd
root:*:0:Charlie &:/root:/usr/local/bin/bash
А как ее исправить и на что???
Не дает система...

"Не могу войти в режим root (su) из-за отсутствия Bash"
Отправлено Аноним , 16-Апр-07 21:28 
>Нашел строчку, из-за которой вся проблема, в /etc/passwd
>root:*:0:Charlie &:/root:/usr/local/bin/bash
>А как ее исправить и на что???
>Не дает система...


frebsd не знаю.
в линуксе так:
which bash  -  у меня выдаёт ( впрочем как и у  всех) путь /bin/bash
Что у тебя?


"Не могу войти в режим root (su) из-за отсутствия Bash"
Отправлено Аноним , 16-Апр-07 21:32 
>Нашел строчку, из-за которой вся проблема, в /etc/passwd
>root:*:0:Charlie &:/root:/usr/local/bin/bash
>А как ее исправить и на что???
>Не дает система...

И вообще у твоего юзера ( не рута ) что в этой строке (root:*:0:Charlie &:/root:/usr/local/bin/bash) прописано?


"Не могу войти в режим root (su) из-за отсутствия Bash"
Отправлено sunapex , 18-Апр-07 16:39 
>И вообще у твоего юзера ( не рута ) что в этой
>строке (root:*:0:Charlie &:/root:/usr/local/bin/bash) прописано?

Не понял сути вопроса, всех пользователей по команде su отправляют на получения пароля для root как раз этим файлом, про который я указал выше, root просто не заходит, а пользователи остаются под $, далее под # не попадают...

Надо как-то отредактированый этот именно файл, его в своем home удается отредактировать копировать в /etc/ , это не удается, нет прав или смонтировать устройство FDD или USB-PEN и скопировать несуществующий файл bash в указанную выше папку.


"Не могу войти в режим root (su) из-за отсутствия Bash"
Отправлено bill , 18-Апр-07 18:23 
>>И вообще у твоего юзера ( не рута ) что в этой
>>строке (root:*:0:Charlie &:/root:/usr/local/bin/bash) прописано?
>
>Не понял сути вопроса, всех пользователей по команде su отправляют на получения
>пароля для root как раз этим файлом, про который я указал
>выше, root просто не заходит, а пользователи остаются под $, далее
>под # не попадают...
>
>Надо как-то отредактированый этот именно файл, его в своем home удается отредактировать
>копировать в /etc/ , это не удается, нет прав или смонтировать
>устройство FDD или USB-PEN и скопировать несуществующий файл bash в указанную
>выше папку.
>


Загрузись в однопользовательском режиме и редактируй на здоровье. В линуксе параметр single ядра. В freebsd по-моему boot -s


"Не могу войти в режим root (su) из-за отсутствия Bash"
Отправлено sunapex , 18-Апр-07 19:27 

>Загрузись в однопользовательском режиме и редактируй на здоровье. В линуксе параметр single
>ядра. В freebsd по-моему boot -s

Пробовал этот вариант, все одно этот файл используется для проверки пароля root...


"Не могу войти в режим root (su) из-за отсутствия Bash"
Отправлено bill , 18-Апр-07 18:26 
>Нужно было организовать шлюз в оптоволокно из внутренней сети, поставил на машину
>FreeBSD 6.2, настроил шлюз и ipfirewall, все работает, изнутри все пашет,
>снаружи не залезешь. Хотел включить интерпретатор строки Bash, начитались понимаешь, тут
>всякого.
>Теперь при попытке зайти root-ом, или по команде su из любого пользователя,
>выдает сообщение su: /usr/local/bin/bash/bash: No such file or directory и опять
>в режим $ встает.
>Теперь никак исправить не могу, опыта практически нет, только учимся с этими
>системами...
>Ясное дело что при установке файлы не поставились, но теперь ничего сделать
>не могу.
>Посоветуйте, что в таких случаях можно сделать, как вернуть рабочую оболочку sh
>или доставить bash в этот каталог...


Есть ещё вариант создать ссылку /usr/local/bin/bash , указывающую на реальный shell.
В /usr/local/bin то записывать можешь.


"Не могу войти в режим root (su) из-за отсутствия Bash"
Отправлено cppmm_ , 26-Апр-07 12:15 
В FreeBSD файл /etc/passwd редактируется командой vipw. Но это можно сделать только под рутом. Так что, наиболее верный выход, это как подсказали, для начала сделать линк на bash, а потом уже, залогинившись, поправить всё, как следует.

"Не могу войти в режим root (su) из-за отсутствия Bash"
Отправлено tos , 30-Сен-10 11:18 
> В FreeBSD файл /etc/passwd редактируется командой vipw. Но это можно сделать только
> под рутом. Так что, наиболее верный выход, это как подсказали, для
> начала сделать линк на bash, а потом уже, залогинившись, поправить всё,
> как следует.

Вообщем сделать линк на bash не дает - пишет
#su: /bin/bash: No such file or directory
Редактировать под vipw в single-user mode тоже не получилось:
#read-only file system
Вообщем выход такой: в single-user mode (меню 4 пункт), выбираем оболочку (по умолчанию /bin/sh), далее вводим
# mount -a
# chsh root
и! исправляем путь до нашего шела!!!
ВСЕ! перезагружаемся и все снова работает.
P.S. С рутом лучше не экспериментировать или аккуратно и внимательно :)