8.16. Проверка целостности файлов паролей

Проблема

Файлы паролей (/etc/group, /etc/passwd, /etc/shadow и /etc/gshadow) интенсивно используются в процессе администрирования, и вам нужно какое-нибудь средство для проверки правильности их синтаксиса. Было бы неприятно узнать о допущенной ошибке (например, о том, что вы забыли назначить кому-то пароль) после того, как ваша система будет взломана!

Решение

Файлы /etc/passwd и /etc/shadow проверяются командой pwck, а файлы /etc/group и /etc/gshadow — командой grpck:

# pwck
# grpck

Если команды завершаются без выдачи сообщений, значит, ошибки не обнаружены. В противном случае команды выводят перечень ошибок, которые нужно будет исправить, иначе программа завершит свою работу с ошибками. Чтобы ограничиться просмотром всех ошибок, запустите программы в режиме «только чтения»:

# pwck -r
# grpck -r

Комментарий

Программа pwck проверяет логическую целостность файлов /etc/passwd и /etc/shadow. Она анализирует записи и проверяет, что каждая запись содержит:

Pwck сообщает обо всех записях, не имеющих пароля. Особенно важно, что проверки правильности количества полей и уникальности имени пользователя являются критичными, как подчёркивается в документации программы. Однако не стоит волноваться: вызов pwck не вредит файлам.

Если pwck обнаруживает ошибку, вы можете либо удалить проблемную учётную запись, либо проигнорировать её. В случае игнорирования pwck прекращает проверку новых строк (с исключением: при обнаружении повторяющегося имени программа продолжит проверку).

Программа grpck анализирует файлы /etc/group и /etc/gshadow и проверяет, что каждая запись содержит:

Важно регулярно проверять файлы паролей, особенно на серверах, чтобы избежать потенциальных уязвимостей. Ошибки, такие как отсутствие паролей или повторяющиеся записи, могут открыть доступ к системе для злоумышленников.

См. также

pwck(8), grpck(8).