Нужно было организовать шлюз в оптоволокно из внутренней сети, поставил на машину FreeBSD 6.2, настроил шлюз и ipfirewall, все работает, изнутри все пашет, снаружи не залезешь. Хотел включить интерпретатор строки Bash, начитались понимаешь, тут всякого.
Теперь при попытке зайти root-ом, или по команде su из любого пользователя, выдает сообщение su: /usr/local/bin/bash: No such file or directory и опять в режим $ встает.
Теперь никак исправить не могу, опыта практически нет, только учимся с этими системами...
Ясное дело что при установке файлы не поставились, но теперь ничего сделать не могу.
Посоветуйте, что в таких случаях можно сделать, как вернуть рабочую оболочку sh или доставить bash в этот каталог...
Нашел строчку, из-за которой вся проблема, в /etc/passwd
root:*:0:Charlie &:/root:/usr/local/bin/bash
А как ее исправить и на что???
Не дает система...
>Нашел строчку, из-за которой вся проблема, в /etc/passwd
>root:*:0:Charlie &:/root:/usr/local/bin/bash
>А как ее исправить и на что???
>Не дает система...
frebsd не знаю.
в линуксе так:
which bash - у меня выдаёт ( впрочем как и у всех) путь /bin/bash
Что у тебя?
>Нашел строчку, из-за которой вся проблема, в /etc/passwd
>root:*:0:Charlie &:/root:/usr/local/bin/bash
>А как ее исправить и на что???
>Не дает система...И вообще у твоего юзера ( не рута ) что в этой строке (root:*:0:Charlie &:/root:/usr/local/bin/bash) прописано?
>И вообще у твоего юзера ( не рута ) что в этой
>строке (root:*:0:Charlie &:/root:/usr/local/bin/bash) прописано?Не понял сути вопроса, всех пользователей по команде su отправляют на получения пароля для root как раз этим файлом, про который я указал выше, root просто не заходит, а пользователи остаются под $, далее под # не попадают...
Надо как-то отредактированый этот именно файл, его в своем home удается отредактировать копировать в /etc/ , это не удается, нет прав или смонтировать устройство FDD или USB-PEN и скопировать несуществующий файл bash в указанную выше папку.
>>И вообще у твоего юзера ( не рута ) что в этой
>>строке (root:*:0:Charlie &:/root:/usr/local/bin/bash) прописано?
>
>Не понял сути вопроса, всех пользователей по команде su отправляют на получения
>пароля для root как раз этим файлом, про который я указал
>выше, root просто не заходит, а пользователи остаются под $, далее
>под # не попадают...
>
>Надо как-то отредактированый этот именно файл, его в своем home удается отредактировать
>копировать в /etc/ , это не удается, нет прав или смонтировать
>устройство FDD или USB-PEN и скопировать несуществующий файл bash в указанную
>выше папку.
>
Загрузись в однопользовательском режиме и редактируй на здоровье. В линуксе параметр single ядра. В freebsd по-моему boot -s
>Загрузись в однопользовательском режиме и редактируй на здоровье. В линуксе параметр single
>ядра. В freebsd по-моему boot -sПробовал этот вариант, все одно этот файл используется для проверки пароля root...
>Нужно было организовать шлюз в оптоволокно из внутренней сети, поставил на машину
>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 то записывать можешь.
В FreeBSD файл /etc/passwd редактируется командой vipw. Но это можно сделать только под рутом. Так что, наиболее верный выход, это как подсказали, для начала сделать линк на bash, а потом уже, залогинившись, поправить всё, как следует.
> В 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. С рутом лучше не экспериментировать или аккуратно и внимательно :)