Мой веб-сервер был взломан кем-то, кто использовал оболочку zsh. Я чувствую себя более комфортно, используя оболочку bash, так как это настройки по умолчанию, которые поставляются с Ubuntu и OS X (две основные операционные системы, которые я использую). Но этот вопрос ориентирован на сервер Ubuntu. У меня есть 4 веб-сайта, работающих на этом веб-сервере, я использую byobu, я использую tmux, я использую ruby / ruby на rails, node.js, apache, несколько демонов. Если я переключу текущую корневую оболочку с zsh на bash, могут ли быть какие-либо негативные побочные эффекты, которые могут возникнуть в результате этого переключения? Например, будут ли процессы уничтожены, потому что их родительский процесс (оболочка) был переключен?
Изменение оболочки с помощью sudo chsh --shell = / bin / bash $ USER
изменит поле оболочки в / etc / passwd
. Это значение используется только во время входа в систему, когда система не знает, какую оболочку использовать для вас.
Запущенные процессы, независимо от того, запущены ли они zsh
, bash
apache
или evil_overlord's_program
, не будут затронуты
Ответ из переполнения стека ( переключение с zsh на bash ):
Вы можете просто использовать exec для замените текущую оболочку новой оболочкой:
Переключиться на bash:
exec bash
Перейти к zsh:
exec zsh
Это не повлияет на новые окна терминала или что-то еще, но это удобно.
Откройте свой терминал и используйте следующую команду:
chsh -s $(which bash)
В Mac OS Catalina
Изменить на zsh:
chsh -s / bin / zsh
Перейти на bash:
chsh -s / bin / bash