Pluggable Authentication Modules (PAM) 🔒
Как-то в статье про окружение рабочего стола я разбирал компонент, который использует PAM для аутинтификации пользователя в системе, имя ему "Дисплейный менеджер".
Данная система представляет собой набор библиотек и конфигурационных файлов, с помощью которых стороннее приложение получает возможность авторизовать пользователя.
Существуют библиотеки PAM, позволяющие выполнять аутентификацию через: локальные пароли, LDAP или считыватели отпечатков пальцев 👍
Как было раньше: желая войти в систему, пользователь был вынужден пообщаться с программой-охранником, гордо именуемой login. Она спрашивала имя, затем шифровала пароль известным алгоритмом и сверяла получивуюся абракадабру с записью в файле /etc/passwd. Если все совпадало, то вход в систему был разрешен.
Через некоторое время, наученные горьким опытом, системы перестали хранить зашифрованные пароли в файле /etc/passwd, открытом на всеобщее обозрение, и переместили эту интимную информацию в файл /etc/shadow, читать который дозволено было только обладателям прав суперпользователя. Программа login была переписана заново: теперь она умела читать из нового файла и шифровать данные по более серьезному алгоритму.
Неизвестно, сколько еще раз пришлось бы переписывать эту программу, если бы не пришла кому-то в голову мысль вынести механизм аутентификации в отдельную систему. Данная разработка получила название PAM.
Теперь, если программа жалает произвести аутентификацию пользователя, она не делает этого самостоятельно, а обращается к PAM с соответствующей просьбой. Последний выполняет все проверки и докладывает о результатах - пускать или нет.
Post #29
2.4K
- 👍 8
- 🤩 2
- ❤🔥 1