Инерция.
Bash, оказалось, был наиболее легко доступной бесплатно оболочкой, когда Linux (GNU/Linux, если Вы предпочитаете) системы начал появляться. То, что это из проекта GNU, не причиняло боль.
Что касается того, почему это - все еще оболочка по умолчанию, никогда не было достаточно хорошей причины изменить его. Даже если некоторая другая оболочка лучше, существуют преимущества для наличия той же оболочки входа в систему по умолчанию через различные дистрибутивы, и было бы трудно заставить всех (Debian, Red Hat, SuSe, и т.д.) соглашаться переключиться на что-то еще.
И в конце концов, это - только значение по умолчанию. Любой пользователь может использовать chsh
изменить его оболочку входа в систему. Нет никакой потребности изменить значение по умолчанию для всех.
Учетная запись с /usr/sbin/nologin
поскольку его оболочке разрешают установить, устанавливают перенаправление портов. Однако, при попытке выполнить команду оболочки, соединение насильственно завершается. Фиксация не должна выполнять команду оболочки. С OpenSSH (реализация SSH почти во всех невстроенных системах Unix/Linux), передайте опцию -N
клиенту SSH.
ssh -N -L 1234:somehost:5678 restricteduser@host.example.com
С PuTTY галочка “Не запускает оболочку или команду вообще” на вкладке Connection> SSH.
От человека ssh:
The session terminates when the command or shell on the remote machine exits and all X11 and TCP connections have been closed.
Я думаю, что самый легкий путь (но не единственное) делает/bin/cat как регистрирующуюся оболочку. Грязный взлом.