Изменение оболочки входа не обязательно препятствует аутентификации пользователей (за исключением некоторых служб, которые проверяют, упоминается ли оболочка пользователя /etc/shells).
Люди по-прежнему могут проходить проверку подлинности в различных службах, которые ваша система предоставляет пользователям Unix, и могут по-прежнему иметь право выполнять некоторые действия, хотя, возможно, не выполняют произвольные команды напрямую.
Изменение оболочки на /bin/falseили /usr/sbin/nologinзапретит им запускать команды только в тех службах, которые можно использовать для запуска команд (вход в консоль, ssh, telnet, rlogin, rexec ...), поэтому влияет на авторизацию только для некоторых служб.
Для ssh, например, что по- прежнему позволяет им делать перенаправление портов.
passwd -lотключит аутентификацию по паролю, но пользователю все равно может быть разрешено использовать другие методы аутентификации (например, authorized_keysс ssh).
По pamкрайней мере, в Linux вы можете использовать pam_shellsмодуль для ограничения аутентификации или авторизации для пользователей с разрешенной оболочкой (упомянутой в /etc/shells). Для ssh, вы хотите сделать это при авторизации ( account) уровня , как для аутентификации sshdиспользования pam в дополнение к другим методам аутентификации (как authorized_keys), или вы можете сделать это с sshd_configдирективами /etc/ssh/sshd_config(как AllowUsersи друзей).
Однако следует помнить, что добавление некоторых ограничений в глобальную авторизацию pam может помешать запуску cronзаданий от имени этих пользователей.
/bin/falseкажется более распространенным, чем/bin/true.