Как изменить оболочку по умолчанию во FreeBSD?

10

Оболочка по умолчанию во FreeBSD - shи я действительно не могу этого вынести: автозаполнение очень ограничено, и команды перефразирования убивают меня. Я чувствую себя вооруженным и одноногим мужчиной ...

Как я могу изменить оболочку глобально на zshили bash- для root и для всех текущих и будущих пользователей?

Holms
источник
1
Просто попытался обновить существующего пользователя во FreeBSD 9.1, и система предложила мне использовать следующее: chpass -s / usr / local / bin / bash USER
commbot

Ответы:

28

Для существующих пользователей, используйте chshкоманду ( « ч Анж ш флигель»):

chsh -s SHELL USER
chsh -s /usr/local/bin/bash root

Для будущих пользователей:

  • Изменить " /etc/pw.conf" defaultshellключевые слова
  • При использовании adduser()выбирайте необходимую оболочку
alvosu
источник
15
... но будьте осторожны при изменении корневой оболочки на что-то из дерева портов (например, / usr / local / bin / bash), потому что, если вы что-то испортили во время обновления порта, вы можете оказаться без доступа root.
Жаворонки
2
s / особенность / будущее /?
Приостановлено до дальнейшего уведомления.
larsk: zsh можно построить статически правильно ..? [по крайней мере, я видел параметр в «make config»], насколько я понимаю, это двоичный файл со всеми зависимостями, встроенными? так можно ли поместить / usr / local / bin / zsh в / bin / zsh? Пользователь root может использовать старую версию, это нормально .. тогда это будет безопасно?
Холмс
8
Построить его статически и скопировать в / bin, вероятно, самое безопасное, что вы можете сделать. Я просто оставляю для оболочки root установленное значение, /bin/shа затем exec bashв тех редких случаях, когда мне действительно необходимо войти в систему как пользователь root (чаще всего я просто использую его sudoиз своей учетной записи).
Жаворонки
Обратите внимание, что это должно быть выполнено от имени пользователя root (или с помощью sudo).
Сопалахо де Арриерес