Готовый перевод bash Cookbook / bash: Сборник рецептов: 1.9 Setting bash As Your Default Shell / Назначаем bash оболочкой по умолчанию
Проблема
Вы используете одно из следующих ОС: BSD, Solaris, или какой-либо другой вариант Unix , для которой bash не является стандартной оболочкой. Вам надоело постоянно запускать bash , и вы хотите
сделать bash оболочкой по умолчанию.
Решение
Во-первых, убедитесь, что bash установлен. Попробуйте ввести bash --version в командной строке. Если
Вы получите версию, то это означает, что bash установлен:
$ bash --version
GNU bash, version 3.00.16(1)-release (i386-pc-solaris2.10)
Copyright (C) 2004 Free Software Foundation, Inc.
Если вы не видите номера версии, это означает, что возможно не правильно определены пути. Команда
chsh -l or cat /etc/shells может предоставить вам список корректных оболочек на некоторых системах. В противном случае,
узнайте у своего системного администратора, где находится Bash , или, если попросите его установить.
Команда chsh -l приводит список корректных оболочек для Linux, а также открывает редактор, в которм вы можете изменить настройки для BSD. -L не является допустимым параметром команды chsh на Mac OS X, но просто запуск
chsh откроет редактор, разрешив изменение настроек,команда chpass-е изменит вашу оболочку.
Если bash установлен, используйте команду chsh -s для изменения оболочки, используемой по умолчанию. Например, chsh -s /bin/bash. Если по какой-либо причине это не удалось, попробуйте chsh, passwd -e, passwd -l
chpass, или usermod -s /usr/bin/bash. Если вам до сих пор не удалось изменить оболочку, используемую по умолчанию, то обратитесь в системному администратору, которому возможно понадобится отредактировать фйл /etc/passwd. В большинстве систем файл /etc/passwd имеет строчки следующего вида:
cam:pK1Z9BCJbzCrBNrkjRUdUiTtFOh/:501:100:Cameron Newham:/home/cam:/bin/bash
cc:kfDKDjfkeDJKJySFgJFWErrElpe/:502:100:Cheshire Cat:/home/cc:/bin/bash
Суперпользователь может изменить последнее поле в строчках файла на путь к той оболочке, которую вы хотите использовать. Есль в вашей системе имеется команда vipw, то следует использовать ее для редактирование файла, чтобы быть уверенным в том, что не нарушилась целостность паролей.
Некоторые системы откажутся менять входной shell на не представленный в списке в /etc/shells. Если bash не присутствует в этом списке, надо упросить сисадмина его добавить.
Обсуждение
Некоторые ОС, например семейства BSD, обычно располагают bash в разделе /usr. Нужно подумать дважды насчёт смены shell в такой системе. Если система запускается с проблемами при загрузке, и её работа начинается прежде монтирования раздела /usr, то у Вас реальная проблема: здесь shell для суперпользователя вообще не используется. так что лучше оставить для суперпользователя оболочку по умолчанию без изменений. Однако, нет поводов не сделать bash стандартным shell для пользователей. И это идёт без ворчаний что это-де дурная практика - использовать суперпользователя без абсолютной на то необходимости. Задействуйте свой обычный пользовательский аккаунт всегда, когда возможно. Команда sudo позволит очень редко трогать оболочку суперпользователя.
Если всё иное не удалось, возможно, необходимо поменять существующий начальный shell на bash? используя команду exec, но это нам не по сердцу. См. "А7) Как сделать bash начальной оболочкой?" в ЧАВО по bash на ftp://ftp.cwru.edu/pub/bash/FAQ.
См. также
• man chsh
• man passwd
• man chpass
• /etc/shells
• “A7) Как сделать bash начальной оболочкой?” в ЧАВО по bash на ftp://ftp.cwru.edu/pub/bash/FAQ
• Рецепт 14.19, “Применение sudo более безопасно”
• Рецепт 14.13, “Установочные изменения”
Переведено на Нотабеноиде
http://notabenoid.org/book/750/3526
Переводчики: tehhi
Настройки
Готово:
