Изменение оболочки входа не обязательно препятствует аутентификации пользователей (за исключением некоторых служб, которые проверяют, упоминается ли оболочка пользователя /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
.