Хотя это, наверное , не использовать для переименования /etc/passwd
и /etc/shadow
файлов, если вы хотите дополнительную безопасность вы можете захотеть взглянуть на РАМ (вставные модули аутентификации) и NSS (Name Service) Переключатель. Как здесь.
PAM можно использовать для добавления модулей аутентификации, которые вместо чтения своей аутентификационной информации из стандартных файлов считывают ее из другого источника, например из ldap или базы данных. Использование его будет означать, что /etc/shadow
его можно почти полностью исключить.
NSS дополняет PAM, делая некоторые разрешения имен (например, к каким группам принадлежит этот пользователь) независимо от стандартных файлов ( /etc/passwd
, /etc/groups
). Его использование будет означать, что ваш файл passwd потенциально будет содержать только запасную опцию для root, и ничего более. Использование ключей SSH для проверки входа в систему root также устранит необходимость иметь пароль root внутри теневого файла (хотя это может быть желательно, если разрывается соединение SSH).
В качестве альтернативы, если вы не хотите аутентифицировать своих пользователей через отдельную базу данных или хост ldap, вы также можете создать свои собственные модули PAM и NSS, которые читают их данные из нестандартного файла, хотя я бы не рекомендовал этот вариант.
Когда вы хотите попробовать их использовать, никогда не забывайте оставлять какой-то запасной вариант на известном работающем слое аутентификации, иначе вы можете заблокировать себя вне системы, даже с root.
Обратите внимание, что не все приложения поддерживают PAM (однако многие из них поддерживают). Однако NSS можно использовать для реализации аутентификации для приложений, которые не поддерживают PAM, и некоторые сайты, о которых я читал, действительно предлагают такой подход. Это, однако, означает, что модуль NSS предоставит (потенциально) хешированный пароль любому, кто может получить доступ к слою аутентификации NSS, чего почти всегда нужно избегать (в основном это то же самое, что предоставить некорневому доступу на чтение к теневому файлу). )! Поэтому, если вы собираетесь использовать этот подход, всегда убедитесь, что NSS используется только для предоставления пользователю основных данных (например, содержимого /etc/passwd
), а PAM используется в качестве уровня аутентификации.