linecommander писал(а):
lavr писал(а):
мульон раз расписывалось НЕ ТРОГАТЬ root, вместо этого
есть полный эквивалент toor И где только это не расписывалось... и столько лет...
...и честное слово, первый раз читаю об этом (хоть и переворачиваю как все мульйоны самых разных доков)
сейчас вот столкнулся с тем, что надо держать два разных шелла (один привычный для меня и один привычный для некоторого большинства)
сделал просто - рута по правилам оставил на
sh, но в рутовой дирректории поселил конфиги
zsh и
bash и запускаю оболочки по надобности
думаю, все так и делают
всем надоело про это писать, возможно есть в FreeBSD FAQ?
Для всех Unix-like OS, первое правило:
- не трогать root account
Традиционно в xBSD главный пользователь системы:
- root и имеет в качестве shell'а=csh, для FreeBSD это обрезанный tcsh
By default в FreeBSD два SHELL'а:
- "Bourne Shell", точнее Ash
- csh, точнее урезанный tcsh
Для программирования, csh/tcsh не представляют интереса и вероятно
оставлены в дань традиции, все скрипты в FreeBSD на /bin/sh.
Если память не изменяет, в старых версиях FreeBSD, csh и sh были собраны статически,
чтобы не было проблем в single-user mode.
Простая ситуация, заменили у root'а: /bin/csh на /usr/local/bin/[bash|zsh|ksh|...]
но при этом оформили /usr как отдельную FS, значит она не смонтируется
в single-user mode, или возникли проблемы с обновлением или... или...
Получаем проблемы с root'овым account'ом.
Вот почему правильные подходы:
- не трогать root (в крайнем случае менять csh на статический bash)
- вместо root использовать toor и лучше со статически собранным bash
- использовать su
- можно использовать sudo - но это сторонняя утилита (из пакетов/портов)
ps. Во многих Unix'ах, root-account использовался для обновления, установки патчей и тд и тп,
и утилиты были заточены на конкретный shell root'а: Solaris, HP-UX & etc и менять shell у root'а
могло привести к большим проблемам.