Разработка программного модуля PAM::Журнал СА 11.2013
www.samag.ru
Льготная подписка для студентов      
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
О журнале
Журнал «БИТ»
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

Jobsora


  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
28.05.2019г.
Просмотров: 1990
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 2001
Комментарии: 1
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 1565
Комментарии: 0
Django 2 в примерах

 Читать далее...

28.05.2019г.
Просмотров: 1131
Комментарии: 0
Введение в анализ алгоритмов

 Читать далее...

27.03.2019г.
Просмотров: 1714
Комментарии: 1
Arduino Uno и Raspberry Pi 3: от схемотехники к интернету вещей

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

Электронка - 2020!

 Разработка программного модуля PAM

Архив номеров / 2013 / Выпуск №11 (132) / Разработка программного модуля PAM

Рубрика: Разработка /  Инструменты

Рашид Ачилов РАШИД АЧИЛОВ, поклонник FreeBSD с многолетним опытом использования ее в совмещенных с Windows сетях и сторонник Open Source. Администратор сетей и средств защиты крупной торговой сети, shelton@sheltonsoft.ru

Разработка программного модуля PAM

Как создать свой собственный PAM-модуль, реализующий тот или иной функционал? Особенности разработки и отладки модулей PAM

Описание модуля

В «Системном администраторе» №9 за 2013 год была опубликована статья «Использование PAM», в которой рассказывалось об общих принципах его построения, о преимуществах, которые дает его использование, о том, как правильно составить файл сервиса и каким образом вызывать программные модули PAM. В данной статье мы рассмотрим вопрос с точки зрения программиста – как разработать собственный модуль PAM, и зачем он нам может пригодиться.

Что такое PAM-модуль и зачем его разрабатывать

PAM-модуль – это динамическая библиотека (файл с расширением .so), содержащая набор функций, которые вызываются для реализации некоторого сервиса, например, проверить логин и пароль на сервере LDAP или же наличие домашнего каталога и создать его, если его нет. В приводимом ниже файле сервиса pam_unix.so, pam_ldap.so и pam_mkhome.so – это имена PAM-модулей.

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

Или столь любимый мной метод авторизации в домене Active Directory без Samba основан на использовании PAM-модуля pam_ldap, предыдущий же метод – с Samba – на модуле pam_winbindd. Эти модули тоже отсутствуют в OpenPAM, первый устанавливается из ports/security/pam_ldap, второй – из пакета Samba.

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

Поэтому в файле PAM в сервисе account или session (а часто и там и там) присутствует некий модуль, который должен проверить наличие домашнего каталога и, если он отсутствует, создать его и скопировать туда типовые файлы с настройками.

Пример файла, где используется данный модуль, приводился в статье в предыдущем номере «СА», там же рассказывалось, почему данный модуль указан и в сервисе account и в сервисе session (вкратце: программа может не использовать сервис account или session, но, как правило, хотя бы один из них она использует).

Здесь мы приведем текст данного файла только для того, чтобы ссылаться на него:

auth sufficient pam_unix.so no_warn try_first_pass local_pass debug

auth required pam_ldap.so use_first_pass

account sufficient pam_unix.so

account required pam_mkhome.so mode=0700

session required pam_mkhome.so mode=0700

Параметр mode задает режим доступа к создаваемому домашнему каталогу. Другими допустимыми параметрами являются debug=N, где любое N, не равное 0, включает отладку, и skel=<pathway>, где pathway указывает на каталог, где находятся шаблоны настроечных файлов.

Статью целиком читайте в журнале «Системный администратор», №11 за 2013 г. на страницах 61-65.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru