Цель:
Поддерживая систему бывших коллег, я хочу заблокировать все входы в систему по паролю, чтобы разрешить вход только на основе ключа ssh.
Информация:
Система CentOS 6.5 не предлагает никаких сетевых функций аутентификации (нет Kerberos, ldap, gssapi и т. Д., /etc/nsswitch.conf
знает только "файлы").
/etc/passwd
показывает всех ожидаемых мной несистемных пользователей.
Проблема:
/etc/shadow
показывает только половину из них. Блокировка паролей с помощью passwd -l username
работал. Теперь я хотел бы видеть записи и для других пользователей, и что их пароли тоже заблокированы.
Пробный:
сделал passwd -l username
для одного из «пропавших без вести» пользователей, и система дает мне passwd: Success
. Но я все еще не вижу записи для этого пользователя в тени. Любые идеи?
Я думаю, вы должны иметь возможность запретить все входы в систему с паролем и разрешить только аутентификацию на основе ключа в системе, установив следующие параметры конфигурации в глобальной конфигурации ssh (обычно в / etc / ssh / sshd_config):
PubkeyAuthentication yes
PasswordAuthentication no
Вам нужно будет перезагрузить службу sshd после любого изменения в файле конфигурации.
Определенный тест, если ОС не знает таких данных, как хэш пароля, срок действия и т. Д., Следующий:
getent shadow thatuser
Если ОС может получить эти данные любым способом (ldap или что-то еще), в выводе будет непустая строка:
getent shadow thatuser
thatuser:x:::::::
Если я использую текстовый редактор для удаления строки из /etc/shadow
, нет вывода.
Предлагаемая вами блокировка паролем будет работать независимо от того, есть ли там теневые линии или нет. Отсутствие теневой линии означает, что пользователь не может войти в систему с паролем.
Бывшие администраторы, вероятно, создали некоторых пользователей, отредактировав вручную /etc/passwd
. Выглядит некрасиво, но это не ошибка; ОС предназначена для этого. Быстрый метод повторного заполнения тени - перебрать все записи passwd эти команды:
chage -m 0 thatuser
Это создаст недостающий /etc/shadow
линии просто login:x::0:::::
. Побочный эффект заключается в том, что все существующие /etc/shadow
строки сбросят «минимальное количество дней между последовательными сменами пароля» на нуль. Но это не часто используемая настройка, и вы, вероятно, знаете, нужна ли она вам (политика компании и т. Д.).