Модуль pam_access.so використовується для надання / заборони доступу на підставі файлу /etc/security/access.conf. Рядки цього файлу мають такий вигляд:
права: користувачі: звідки
- права - або + (дозволити), або - (заборонити)
- користувачі - ALL, ім'я користувача або користувач @ вузол, де вузол відповідає імені локальної машини, інакше запис ігнорується.
Модуль pam_cracklib.so перевіряє паролі за словником. Він призначений для перевірки нового пароля і дозволяє запобігти використанню в системі легко зламувати паролі, якими вважаються загальновживані слова, паролі, що містять повторювані символи, і занадто короткі паролі. Є необов'язкові параметри: debug, type = і retry =. Параметр debug включає занесення налагоджувальної інформації в файл журналу. Параметр type, за яким слідує рядок, змінює в виведеному за замовчуванням запрошенні New Unix password: слово Unix на зазначену рядок. Параметр retry задає число спроб, що надаються користувачеві для введення пароля, після вичерпання яких повертається помилка (за замовчуванням дається одна спроба).
Лістинг 1.8. файл /etc/pam.d/other
auth required pam_deny.so
auth required pam_warn.so
account required pam_deny.so
password required pam_deny.so
password required pam_warn.so
session required pam_deny.so
Модуль pam_dialup.so перевіряє, чи потрібно вказувати пароль для доступу до віддаленого терміналу або терміналам, для чого використовується файл / etc / security / ttys.dialup. Модуль можна застосувати не тільки до ttyS, а взагалі до будь-якого tty-терміналу. Коли пароль потрібен, він звіряється з прописаним в файлі / etc / security / passwd.dialup. Зміни файлу passwd.dialup здійснюються програмою dpasswd.
Модуль pam_group.so займається перевірками відповідно до вмісту файлу /etc/security/group.conf. У цьому файлі вказуються групи, членом яких може стати зазначений у файлі користувач при виконанні певних умов.
Модуль pam_lastlog.so заносить в файл lastlog відомості про те, коли і звідки ви увійшли в систему. Зазвичай цей модуль позначається типом session і прапором optional.
Модуль pam_limits.so дозволяє накладати різні обмеження на користувачів, які увійшли в систему. Ці обмеження не розповсюджуються на абонентів root (або будь-якого іншого користувача з нульовим ідентифікатором). Обмеження встановлюються на рівні входу в систему і не є глобальними або постійними, діючи тільки в межах одного входу.
Модуль pam_lastfile.so приймає деяку запис (item), порівнює її зі списком в файлі і на підставі результатів порівняння повертає УСПІХ (SUCCESS) або НЕВДАЧА (FAILURE). Параметри цього модуля такі:
- item = [термінал користувач | удаленний_узел | удаленний_пользователь | група | оболонка]
- sense = [allow | deny] (статус для повернення; коли запис знайдений в списку, в іншому випадку повертається статус, протилежний зазначеному)
filе = / повний / шлях / і / имя_файла - onerr = [succeed | fail] (який статус повертати в разі виникнення помилки)
- Арр1е = [користувач | @ група] (задає користувача або групу, щодо якої застосовуються обмеження. Має сенс тільки для записів виду item = [термінал | удаленний_узел | оболонка], для записів виду item = [користувач | удаленний_пользователь | група] ігнорується)
Модуль pam_permit.so є додатковим до модуля pam_deny.so. Він завжди повертає значення УСПІХ (SUCCESS). Будь-які передані параметри модулем ігноруються.
Модуль pam_pwdb.so надає інтерфейс до файлів passwd і shadow. Можливі наступні параметри:
- debug - запис налагоджувальної інформації в файл журналу;
- audit - додаткова налагоджувальна інформація для тих, кому недостатньо звичайної налагоджувальної інформації;
- use_first_pass - ніколи не запитувати пароль у користувача, а брати його у попередніх модулів стека;
- try_first_pass - спробувати отримати пароль у попередніх модулів, в разі невдачі запросити у користувача;
- use_authtok - повернути значення НЕВДАЧА (FAILURE) в разі, якщо pam_authtok ні встановлено, що не запитувати пароль у користувача, а брати його у попередніх модулів стека (тільки для стека модулів типу password);
- not_set_pass - не встановлювати пароль з цього модуля в якості пароля для наступних модулів;
- shadow - підтримувати систему тіньових паролів;
- unix - поміщати паролі в файл / etc / passwd;
- md5 - при наступній зміні паролів використовувати паролі md5;
- bigcrypt - при наступній зміні паролів використовувати паролі DEC C2;
Модуль pam_rhosts_auth.so дозволяє / забороняє використання файлів .rhosts або hosts.equiv. Крім того, він також дозволяє / забороняє використання «небезпечних» записів в цих файлах. Параметри цього модуля такі:
- no_hosts_equiv - ігнорувати файл /etc/hosts.equiv;
- no_rhosts - ігнорувати файл / etc / rhosts або
- debug - протоколювати зневадження;
- nowarn - не виводити попередження;
- suppress - не виводити ніяких повідомлень;
- promiscuous - дозволити використовувати знаки підстановки «+» в будь-якому полі.
Модуль pam_rootok.so повертає значення УСПІХ (SUCCESS) для будь-якого користувача з нульовим ідентифікатором. Будучи позначений прапором sufficient, даний модуль дозволяє отримувати доступ до служби без вказівки пароля. Параметр у модуля всього один: debug.
Модуль pam_shells.so повертає значення УСПІХ (SUCCESS), якщо оболонка користувача, зазначена в файлі / etc / passwd, присутній в списку оболонок з файлу / etc / shells. Якщо файл / etc / passwd не призначить користувачеві ніякої оболонки, то запускається / bin / sh. Якщо у файлі / etc / passwd для користувача вказана оболонка, відсутня в списку / etc / shells, модуль повертає значення НЕВДАЧА (FAILURE). Правом на запис в файл / etc / shells повинен володіти тільки привілейований користувач.
Модуль pam_stress.so використовується для управління паролями. У нього досить багато параметрів, в тому числі і незмінний debug, але в загальному випадку з усіх параметрів інтерес представляють тільки два:
- rootok - дозволити суперкористувачеві міняти паролі користувачів без введення старого пароля;
- expired - з цим параметром модуль виконується, як якщо б термін дії пароля користувача уже закінчився.
Інші параметри модуля дозволяють відключити будь-який з цих двох режимів, використовувати пароль від іншого модуля або передати пароль іншому модулю і т. П. Тут я не буду розглядати всі параметри модуля, тому якщо у вас виникне потреба у використанні спеціальних можливостей цього модуля, прочитайте їх опис в документації модуля.
- onerr = [succeed | fail] - що робити, якщо виникла помилка, наприклад не вдалося відкрити файл;
- filе = / повний / шлях / і / имя_файла - якщо відсутня, то використовується файл за умовчанням. Наступний параметр має сенс тільки для типу auth:
- no_magic_root - включає підрахунок числа спроб для суперкористувача (за замовчуванням не ведеться). Корисно, якщо дозволено вхід суперкористувача в систему через telnet. Наступні параметри мають сенс тільки для типу account:
- deny = n - відмовити в доступі після n спроб. При використанні цього параметра поведінку модуля reset / no_reset за замовчуванням змінюється з no_reset на reset. Це відбувається для всіх користувачів, за винятком користувача root (UID 0), якщо тільки не використовується параметр no_magic_root;
- no_magic_root - не ігнорувати параметр deny для спроб доступу, здійснюваних користувачем root. При використанні спільно з параметром deny = (див. Раніше) для користувача root за замовчуванням встановлюється поведінка reset, як і для всіх інших користувачів;
- reset - обнуляти лічильник числа спроб при успішному вході;
- no_reset - НЕ обнуляти лічильник числа спроб при успішному вході; використовується за умовчанням, якщо тільки не вказано параметр deny =.
Модуль pam_time.so дозволяє обмежити доступ до служби в залежності від часу. Всі інструкції по його налаштування можна знайти в файлі / etc / security / time.conf. Параметрів у нього немає: все задається у файлі конфігурації.
Модуль pam_warn.so заносить повідомлення про своє виклик до syslog. Параметрів не має.
Модуль pam_wheel.so дозволяє ставати суперкористувачем тільки членам групи wheel. Група wheel - це спеціальна системна група, члени якої мають великі привілеї, ніж звичайні користувачі, але менші, ніж привілейований користувач. Її наявність дозволяє зменшити число користувачів системи з привілеями суперкористувача, зробивши їх членами групи wheel і тим самим підвищивши безпеку системи. Якщо привілейований користувач може входити в систему тільки за допомогою терміналу, то даний модуль можна використовувати для того, щоб зробити недоступною для користувачів роботу через telnet з привілеями суперкористувача, відмовивши їм у доступі, якщо вони не належать до групи wheelМодуль використовує такі параметри:
- debug - протоколювання налагоджувальної інформації;
- use_uid - визначення приналежності на підставі поточного ідентифікатора користувача, а не того, що був призначений йому при вході в систему;
- trust - в разі належності користувача до групи wheel повертати значення УСПІХ (SUCCESS), а не ІГНОРУВАТИ (IGNORE);
- deny - змінює зміст процедури на протилежний (повернення неуспішних). У комбінації з group = дозволяє відмовляти в доступі членам даної групи.
Каталог / etc / security має безпосереднє відношення до каталогу /etc/pam.d, оскільки містить файли конфігурації різних модулів РАМ, що викликаються в файлах з /etc/pam.d.