Классический | Список | Древовидный |
Это сообщение было обновлено .
Согласно Википедии, Pluggable Authentication Modules (PAM, подключаемые модули аутентификации) — это набор разделяемых библиотек, которые позволяют интегрировать различные низкоуровневые методы аутентификации в виде единого высокоуровневого API. Это позволяет предоставить единые механизмы для управления, встраивания прикладных программ в процесс аутентификации. Является одной из частей стандартного механизма обеспечения безопасности UNIX-систем. Говоря простым языком, с помощью PAM'а можно добавлять дополнительные модули аутентификации для входа в систему. Конфигурационные файлы этих модулей находятся в папке /usr/share/pam-configs, а конфиги самого pam находятся в папке /etc/pam.d. Если посмореть содержание этой папки, можно увидеть такие файлы, как lightdm, gnome-screensaver, sudo. В ubuntu многие из них ссылаются на "/etc/pam.d/common-auth". Он (как и все другие файлы в /etc/pam.d) состоит из 4 столбцов:
<тип модуля> <управляющий флаг> <путь к библиотеке> <параметры> Тип модуля соответствует обозначениям самих модулей (т.е. auth/account/session/passwd) Управляющий флаг указывает критичность модуля для успешного выполнения операции. Флаг может принимать следующие значения: requisite (необходимый), required (требуемый), sufficient (достаточный) и optional (необязательный). Путь к библиотеке задает собственно путь до файла модуля. По умолчанию они ищутся в /lib/security/ Параметры задают список аргументов, которые будут переданы модулю. Аргументы передаются аналогично принципу argc/argv в функции main(), за исключением того, что argv[0] содержит не имя модуля, а конкретный аргумент. Таким образом, мы получаем стек модулей, каждый из которых выполняет свое действие. PAM при этом разбирает стек как и положено – сверху вниз. В соответствии с управляющим флагом задаются следующие требования к успешности операции: requisite (необходимый): если модуль стека вернет отрицательный ответ, то запрос сразу же отвергается. Другие модули при этом не будут выполнены. required (требуемый): если один или несколько модулей стека вернут отрицательный ответ, все остальные модули будут выполнены, но запрос приложения будет отвергнут. sufficient (достаточный): если модуль помечен как достаточный и перед ним ни один из необходимых или достаточных модулей не возвратил отрицательного ответа, то все оставшиеся модули в стеке игнорируются, и возвращается положительный ответ. optional (дополнительный): если в стеке нет требуемых модулей, и если ни один из достаточных модулей не возвратил положительного ответа, то хотя бы один из дополнительных модулей приложения или службы должен вернуть положительный ответ. Наиболее известные модули: pam-face-authentication - аутентификация по лицу. Подробнее здесь pam_usb - аутентификация по флешке или sd-карте. fprint - аутентификикация по отпечатку пальца. С помощью них можно расширить функционал системы. Лично у меня установлены pam-face-authentication и pam_usb, и мне этого хватает. Аутентификация при включении компьютера и выхода из экрана блокировки проходит по следующему алгоритму: А при установке программ или выполнения sudo достаточно либо вставить флешку, либо ввести пароль. Для этого в моём файле /etc/pam.d/common-auth перед строкой auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass стоит auth sufficient pam_usb.so А в файлах lightdm и gnome screensaver перед строкой @include common-auth стоит auth requisite pam_face_authentication.so enableX |
Free forum by Nabble | Edit this page |