Пакет: Linux-PAM

Версия
1.7.0
Релиз
1.niceos5
Архитектура
x86_64
Хэш GOST
a0a466113aacf84c4c11631bb714aca98280b6f3794d1a99dfed7444799f9adb
Хэш MD5
6e2edf994c1121f35619e9683024af2a
Хэш SHA256
9573b8ba5b4c4f6fbcbaa4a6b9f1f28909e0ec41c5e4abb1bbbd526a1de61be9
Лицензия
BSD и GPLv2+
Дата сборки
12 мая 2025 г.
Размер
1,938 ГиБ
Совместимые ОС
rpm файл:
Linux-PAM-1.7.0-1.niceos5.x86_64.rpm
Подпакеты
Имя Краткое описание
Linux-PAM-devel Описание отсутствует
lib32-Linux-PAM 32-битные библиотеки для Linux-PAM
Зависимости
Имя Тип Версия
/bin/sh runtime -
/sbin/ldconfig runtime -
config(Linux-PAM) runtime -
gdbm runtime -
ld-linux-x86-64.so.2()(64bit) runtime -
ld-linux-x86-64.so.2(GLIBC_2.3)(64bit) runtime -
libaudit.so.1()(64bit) runtime -
libc.so.6()(64bit) runtime -
libc.so.6(GLIBC_2.14)(64bit) runtime -
libc.so.6(GLIBC_2.2.5)(64bit) runtime -
libc.so.6(GLIBC_2.25)(64bit) runtime -
libc.so.6(GLIBC_2.27)(64bit) runtime -
libc.so.6(GLIBC_2.3)(64bit) runtime -
libc.so.6(GLIBC_2.33)(64bit) runtime -
libc.so.6(GLIBC_2.34)(64bit) runtime -
libc.so.6(GLIBC_2.38)(64bit) runtime -
libc.so.6(GLIBC_2.4)(64bit) runtime -
libcrypt.so.2()(64bit) runtime -
libcrypt.so.2(XCRYPT_2.0)(64bit) runtime -
libcrypt.so.2(XCRYPT_4.3)(64bit) runtime -
libgdbm.so.6()(64bit) runtime -
libnsl.so.3()(64bit) runtime -
libnsl.so.3(LIBNSL_2.0)(64bit) runtime -
libpam.so.0()(64bit) runtime -
libpam.so.0(LIBPAM_1.0)(64bit) runtime -
libpam.so.0(LIBPAM_EXTENSION_1.0)(64bit) runtime -
libpam.so.0(LIBPAM_EXTENSION_1.1)(64bit) runtime -
libpam.so.0(LIBPAM_MODUTIL_1.0)(64bit) runtime -
libpam.so.0(LIBPAM_MODUTIL_1.1)(64bit) runtime -
libpam.so.0(LIBPAM_MODUTIL_1.1.3)(64bit) runtime -
libpam.so.0(LIBPAM_MODUTIL_1.1.9)(64bit) runtime -
libpam.so.0(LIBPAM_MODUTIL_1.3.2)(64bit) runtime -
libpam.so.0(LIBPAM_MODUTIL_1.4.1)(64bit) runtime -
libpwquality(x86-64) runtime -
libselinux runtime -
libselinux.so.1()(64bit) runtime -
libselinux.so.1(LIBSELINUX_1.0)(64bit) runtime -
libsystemd.so.0()(64bit) runtime -
libsystemd.so.0(LIBSYSTEMD_209)(64bit) runtime -
libsystemd.so.0(LIBSYSTEMD_254)(64bit) runtime -
libtirpc.so.3()(64bit) runtime -
libtirpc.so.3(TIRPC_0.3.0)(64bit) runtime -
rtld(GNU_HASH) runtime -
Граф зависимостей
История изменений
Дата Автор Сообщение
1 апр. 2025 г. Stanislav Belikov <sbelikov@ncsgp.ru> Первая сборка для Linux-PAM
Файлы пакета
    • /etc/environment 97 Б
      • /etc/pam.d/other 1,145 КиБ
      • /etc/pam.d/system-account 593 Б
      • /etc/pam.d/system-auth 572 Б
      • /etc/pam.d/system-password 3,538 КиБ
      • /etc/pam.d/system-session 574 Б
    • /etc/security 0 Б
    • /run/faillock 0 Б
      • /usr/lib/libpam.so.0 16 Б
      • /usr/lib/libpam.so.0.85.1 75,289 КиБ
      • /usr/lib/libpam_misc.so.0 21 Б
      • /usr/lib/libpam_misc.so.0.82.1 17,18 КиБ
      • /usr/lib/libpamc.so.0 17 Б
      • /usr/lib/libpamc.so.0.82.1 20,859 КиБ
          • /usr/lib/rpm/macros.d/macros.Linux-PAM 179 Б
        • /usr/lib/security/pam_access.so 29,859 КиБ
        • /usr/lib/security/pam_canonicalize_user.so 15,406 КиБ
        • /usr/lib/security/pam_debug.so 15,547 КиБ
        • /usr/lib/security/pam_deny.so 14,859 КиБ
        • /usr/lib/security/pam_echo.so 15,945 КиБ
        • /usr/lib/security/pam_env.so 21,211 КиБ
        • /usr/lib/security/pam_exec.so 25,477 КиБ
        • /usr/lib/security/pam_faildelay.so 15,461 КиБ
        • /usr/lib/security/pam_faillock.so 26,031 КиБ
        • /usr/lib/security/pam_filter 0 Б
        • /usr/lib/security/pam_filter.so 20,82 КиБ
        • /usr/lib/security/pam_ftp.so 15,703 КиБ
        • /usr/lib/security/pam_group.so 20,617 КиБ
        • /usr/lib/security/pam_issue.so 16,664 КиБ
        • /usr/lib/security/pam_keyinit.so 16,227 КиБ
        • /usr/lib/security/pam_limits.so 29,609 КиБ
        • /usr/lib/security/pam_listfile.so 16,039 КиБ
        • /usr/lib/security/pam_localuser.so 15,617 КиБ
        • /usr/lib/security/pam_loginuid.so 16,242 КиБ
        • /usr/lib/security/pam_mail.so 16,352 КиБ
        • /usr/lib/security/pam_mkhomedir.so 16,219 КиБ
        • /usr/lib/security/pam_motd.so 20,68 КиБ
        • /usr/lib/security/pam_namespace.so 48,703 КиБ
        • /usr/lib/security/pam_nologin.so 15,828 КиБ
        • /usr/lib/security/pam_permit.so 15,336 КиБ
        • /usr/lib/security/pam_pwhistory.so 26,164 КиБ
        • /usr/lib/security/pam_rhosts.so 15,508 КиБ
        • /usr/lib/security/pam_rootok.so 16,125 КиБ
        • /usr/lib/security/pam_securetty.so 16,211 КиБ
        • /usr/lib/security/pam_selinux.so 26,172 КиБ
        • /usr/lib/security/pam_sepermit.so 21,188 КиБ
        • /usr/lib/security/pam_setquota.so 16,047 КиБ
        • /usr/lib/security/pam_shells.so 15,672 КиБ
        • /usr/lib/security/pam_stress.so 20,164 КиБ
        • /usr/lib/security/pam_succeed_if.so 20,734 КиБ
        • /usr/lib/security/pam_time.so 20,375 КиБ
        • /usr/lib/security/pam_timestamp.so 25,344 КиБ
        • /usr/lib/security/pam_tty_audit.so 16,234 КиБ
        • /usr/lib/security/pam_umask.so 16,094 КиБ
        • /usr/lib/security/pam_unix.so 70,555 КиБ
        • /usr/lib/security/pam_unix_acct.so 11 Б
        • /usr/lib/security/pam_unix_auth.so 11 Б
        • /usr/lib/security/pam_unix_passwd.so 11 Б
        • /usr/lib/security/pam_unix_session.so 11 Б
        • /usr/lib/security/pam_userdb.so 20,484 КиБ
        • /usr/lib/security/pam_usertype.so 16,227 КиБ
        • /usr/lib/security/pam_warn.so 15,602 КиБ
        • /usr/lib/security/pam_wheel.so 15,961 КиБ
        • /usr/lib/security/pam_xauth.so 26,234 КиБ
          • /usr/lib/systemd/system/pam_namespace.service 331 Б
        • /usr/lib/tmpfiles.d/pam.conf 33 Б
      • /usr/sbin/faillock 25,469 КиБ
      • /usr/sbin/mkhomedir_helper 16,836 КиБ
      • /usr/sbin/pam_namespace_helper 467 Б
      • /usr/sbin/pam_timestamp_check 16,562 КиБ
      • /usr/sbin/pwhistory_helper 25,281 КиБ
      • /usr/sbin/unix_chkpwd 118,922 КиБ
      • /usr/sbin/unix_update 47,688 КиБ
            • /usr/share/locale/af/LC_MESSAGES/Linux-PAM.mo 494 Б
            • /usr/share/locale/am/LC_MESSAGES/Linux-PAM.mo 491 Б
            • /usr/share/locale/ar/LC_MESSAGES/Linux-PAM.mo 6,406 КиБ
            • /usr/share/locale/as/LC_MESSAGES/Linux-PAM.mo 10,091 КиБ
            • /usr/share/locale/az/LC_MESSAGES/Linux-PAM.mo 1,949 КиБ
            • /usr/share/locale/be/LC_MESSAGES/Linux-PAM.mo 569 Б
            • /usr/share/locale/bg/LC_MESSAGES/Linux-PAM.mo 11,984 КиБ
            • /usr/share/locale/bn/LC_MESSAGES/Linux-PAM.mo 10,592 КиБ
            • /usr/share/locale/bn_IN/LC_MESSAGES/Linux-PAM.mo 10,596 КиБ
            • /usr/share/locale/bs/LC_MESSAGES/Linux-PAM.mo 566 Б
            • /usr/share/locale/ca/LC_MESSAGES/Linux-PAM.mo 9,936 КиБ
            • /usr/share/locale/cs/LC_MESSAGES/Linux-PAM.mo 9,968 КиБ
            • /usr/share/locale/cy/LC_MESSAGES/Linux-PAM.mo 535 Б
            • /usr/share/locale/da/LC_MESSAGES/Linux-PAM.mo 9,8 КиБ
            • /usr/share/locale/de/LC_MESSAGES/Linux-PAM.mo 10,13 КиБ
            • /usr/share/locale/de_CH/LC_MESSAGES/Linux-PAM.mo 511 Б
            • /usr/share/locale/el/LC_MESSAGES/Linux-PAM.mo 467 Б
            • /usr/share/locale/eo/LC_MESSAGES/Linux-PAM.mo 3,689 КиБ
            • /usr/share/locale/es/LC_MESSAGES/Linux-PAM.mo 8,474 КиБ
            • /usr/share/locale/et/LC_MESSAGES/Linux-PAM.mo 2,266 КиБ
            • /usr/share/locale/eu/LC_MESSAGES/Linux-PAM.mo 968 Б
            • /usr/share/locale/fa/LC_MESSAGES/Linux-PAM.mo 485 Б
            • /usr/share/locale/fi/LC_MESSAGES/Linux-PAM.mo 9,996 КиБ
            • /usr/share/locale/fr/LC_MESSAGES/Linux-PAM.mo 10,578 КиБ
            • /usr/share/locale/ga/LC_MESSAGES/Linux-PAM.mo 10,87 КиБ
            • /usr/share/locale/gl/LC_MESSAGES/Linux-PAM.mo 493 Б
            • /usr/share/locale/gu/LC_MESSAGES/Linux-PAM.mo 10,134 КиБ
            • /usr/share/locale/he/LC_MESSAGES/Linux-PAM.mo 10,76 КиБ
            • /usr/share/locale/hi/LC_MESSAGES/Linux-PAM.mo 9,603 КиБ
            • /usr/share/locale/hr/LC_MESSAGES/Linux-PAM.mo 9,948 КиБ
            • /usr/share/locale/hu/LC_MESSAGES/Linux-PAM.mo 10,361 КиБ
            • /usr/share/locale/ia/LC_MESSAGES/Linux-PAM.mo 6,911 КиБ
            • /usr/share/locale/id/LC_MESSAGES/Linux-PAM.mo 7,989 КиБ
            • /usr/share/locale/is/LC_MESSAGES/Linux-PAM.mo 494 Б
            • /usr/share/locale/it/LC_MESSAGES/Linux-PAM.mo 9,586 КиБ
            • /usr/share/locale/ja/LC_MESSAGES/Linux-PAM.mo 10,884 КиБ
            • /usr/share/locale/ka/LC_MESSAGES/Linux-PAM.mo 15,138 КиБ
            • /usr/share/locale/kk/LC_MESSAGES/Linux-PAM.mo 12,512 КиБ
            • /usr/share/locale/km/LC_MESSAGES/Linux-PAM.mo 8,66 КиБ
            • /usr/share/locale/kn/LC_MESSAGES/Linux-PAM.mo 10,596 КиБ
            • /usr/share/locale/ko/LC_MESSAGES/Linux-PAM.mo 10,409 КиБ
            • /usr/share/locale/kw_GB/LC_MESSAGES/Linux-PAM.mo 448 Б
            • /usr/share/locale/ky/LC_MESSAGES/Linux-PAM.mo 484 Б
            • /usr/share/locale/lt/LC_MESSAGES/Linux-PAM.mo 558 Б
            • /usr/share/locale/lv/LC_MESSAGES/Linux-PAM.mo 527 Б
            • /usr/share/locale/mk/LC_MESSAGES/Linux-PAM.mo 525 Б
            • /usr/share/locale/ml/LC_MESSAGES/Linux-PAM.mo 12,388 КиБ
            • /usr/share/locale/mn/LC_MESSAGES/Linux-PAM.mo 494 Б
            • /usr/share/locale/mr/LC_MESSAGES/Linux-PAM.mo 10,169 КиБ
            • /usr/share/locale/ms/LC_MESSAGES/Linux-PAM.mo 532 Б
            • /usr/share/locale/my/LC_MESSAGES/Linux-PAM.mo 485 Б
            • /usr/share/locale/nb/LC_MESSAGES/Linux-PAM.mo 9,072 КиБ
            • /usr/share/locale/ne/LC_MESSAGES/Linux-PAM.mo 491 Б
            • /usr/share/locale/nl/LC_MESSAGES/Linux-PAM.mo 9,566 КиБ
            • /usr/share/locale/nn/LC_MESSAGES/Linux-PAM.mo 9,175 КиБ
            • /usr/share/locale/or/LC_MESSAGES/Linux-PAM.mo 15,058 КиБ
            • /usr/share/locale/pa/LC_MESSAGES/Linux-PAM.mo 14,33 КиБ
            • /usr/share/locale/pl/LC_MESSAGES/Linux-PAM.mo 10,18 КиБ
            • /usr/share/locale/pt/LC_MESSAGES/Linux-PAM.mo 9,906 КиБ
            • /usr/share/locale/pt_BR/LC_MESSAGES/Linux-PAM.mo 9,747 КиБ
            • /usr/share/locale/ro/LC_MESSAGES/Linux-PAM.mo 10,438 КиБ
            • /usr/share/locale/ru/LC_MESSAGES/Linux-PAM.mo 13,131 КиБ
            • /usr/share/locale/si/LC_MESSAGES/Linux-PAM.mo 8,416 КиБ
            • /usr/share/locale/sk/LC_MESSAGES/Linux-PAM.mo 10,019 КиБ
            • /usr/share/locale/sl/LC_MESSAGES/Linux-PAM.mo 10,044 КиБ
            • /usr/share/locale/sq/LC_MESSAGES/Linux-PAM.mo 493 Б
            • /usr/share/locale/sr/LC_MESSAGES/Linux-PAM.mo 8,802 КиБ
            • /usr/share/locale/sr@latin/LC_MESSAGES/Linux-PAM.mo 6,764 КиБ
            • /usr/share/locale/sv/LC_MESSAGES/Linux-PAM.mo 9,803 КиБ
            • /usr/share/locale/ta/LC_MESSAGES/Linux-PAM.mo 10,629 КиБ
            • /usr/share/locale/te/LC_MESSAGES/Linux-PAM.mo 10,779 КиБ
            • /usr/share/locale/tg/LC_MESSAGES/Linux-PAM.mo 490 Б
            • /usr/share/locale/th/LC_MESSAGES/Linux-PAM.mo 482 Б
            • /usr/share/locale/tr/LC_MESSAGES/Linux-PAM.mo 9,896 КиБ
            • /usr/share/locale/uk/LC_MESSAGES/Linux-PAM.mo 13,168 КиБ
            • /usr/share/locale/ur/LC_MESSAGES/Linux-PAM.mo 468 Б
            • /usr/share/locale/vi/LC_MESSAGES/Linux-PAM.mo 7,177 КиБ
            • /usr/share/locale/yo/LC_MESSAGES/Linux-PAM.mo 392 Б
            • /usr/share/locale/zh_CN/LC_MESSAGES/Linux-PAM.mo 8,853 КиБ
            • /usr/share/locale/zh_HK/LC_MESSAGES/Linux-PAM.mo 570 Б
            • /usr/share/locale/zh_TW/LC_MESSAGES/Linux-PAM.mo 8,634 КиБ
            • /usr/share/locale/zu/LC_MESSAGES/Linux-PAM.mo 5,624 КиБ
          • /usr/share/man/man5/access.conf.5.gz 2,746 КиБ
          • /usr/share/man/man5/environment.5.gz 39 Б
          • /usr/share/man/man5/faillock.conf.5.gz 2,017 КиБ
          • /usr/share/man/man5/group.conf.5.gz 1,956 КиБ
          • /usr/share/man/man5/limits.conf.5.gz 2,889 КиБ
          • /usr/share/man/man5/namespace.conf.5.gz 2,938 КиБ
          • /usr/share/man/man5/pam.conf.5.gz 4,963 КиБ
          • /usr/share/man/man5/pam.d.5.gz 35 Б
          • /usr/share/man/man5/pam_env.conf.5.gz 1,794 КиБ
          • /usr/share/man/man5/pwhistory.conf.5.gz 1,181 КиБ
          • /usr/share/man/man5/sepermit.conf.5.gz 1,163 КиБ
          • /usr/share/man/man5/time.conf.5.gz 1,97 КиБ
          • /usr/share/man/man8/PAM.8.gz 2,267 КиБ
          • /usr/share/man/man8/faillock.8.gz 1,169 КиБ
          • /usr/share/man/man8/mkhomedir_helper.8.gz 916 Б
          • /usr/share/man/man8/pam.8.gz 30 Б
          • /usr/share/man/man8/pam_access.8.gz 2,117 КиБ
          • /usr/share/man/man8/pam_canonicalize_user.8.gz 1,139 КиБ
          • /usr/share/man/man8/pam_debug.8.gz 1,365 КиБ
          • /usr/share/man/man8/pam_deny.8.gz 1,076 КиБ
          • /usr/share/man/man8/pam_echo.8.gz 1,227 КиБ
          • /usr/share/man/man8/pam_env.8.gz 1,823 КиБ
          • /usr/share/man/man8/pam_exec.8.gz 1,846 КиБ
          • /usr/share/man/man8/pam_faildelay.8.gz 1012 Б
          • /usr/share/man/man8/pam_faillock.8.gz 2,988 КиБ
          • /usr/share/man/man8/pam_filter.8.gz 1,964 КиБ
          • /usr/share/man/man8/pam_ftp.8.gz 1,427 КиБ
          • /usr/share/man/man8/pam_group.8.gz 1,386 КиБ
          • /usr/share/man/man8/pam_issue.8.gz 1,283 КиБ
          • /usr/share/man/man8/pam_keyinit.8.gz 1,85 КиБ
          • /usr/share/man/man8/pam_limits.8.gz 1,847 КиБ
          • /usr/share/man/man8/pam_listfile.8.gz 2,271 КиБ
          • /usr/share/man/man8/pam_localuser.8.gz 1,347 КиБ
          • /usr/share/man/man8/pam_loginuid.8.gz 1,243 КиБ
          • /usr/share/man/man8/pam_mail.8.gz 1,617 КиБ
          • /usr/share/man/man8/pam_mkhomedir.8.gz 1,571 КиБ
          • /usr/share/man/man8/pam_motd.8.gz 1,731 КиБ
          • /usr/share/man/man8/pam_namespace.8.gz 2,807 КиБ
          • /usr/share/man/man8/pam_namespace_helper.8.gz 827 Б
          • /usr/share/man/man8/pam_nologin.8.gz 1,347 КиБ
          • /usr/share/man/man8/pam_permit.8.gz 1,02 КиБ
          • /usr/share/man/man8/pam_pwhistory.8.gz 1,753 КиБ
          • /usr/share/man/man8/pam_rhosts.8.gz 1,482 КиБ
          • /usr/share/man/man8/pam_rootok.8.gz 1,124 КиБ
          • /usr/share/man/man8/pam_securetty.8.gz 1,549 КиБ
          • /usr/share/man/man8/pam_selinux.8.gz 1,797 КиБ
          • /usr/share/man/man8/pam_sepermit.8.gz 1,438 КиБ
          • /usr/share/man/man8/pam_setquota.8.gz 1,932 КиБ
          • /usr/share/man/man8/pam_shells.8.gz 1005 Б
          • /usr/share/man/man8/pam_stress.8.gz 1,815 КиБ
          • /usr/share/man/man8/pam_succeed_if.8.gz 1,76 КиБ
          • /usr/share/man/man8/pam_time.8.gz 1,362 КиБ
          • /usr/share/man/man8/pam_timestamp.8.gz 1,427 КиБ
          • /usr/share/man/man8/pam_timestamp_check.8.gz 1,281 КиБ
          • /usr/share/man/man8/pam_tty_audit.8.gz 1,805 КиБ
          • /usr/share/man/man8/pam_umask.8.gz 1,692 КиБ
          • /usr/share/man/man8/pam_unix.8.gz 3,239 КиБ
          • /usr/share/man/man8/pam_userdb.8.gz 1,796 КиБ
          • /usr/share/man/man8/pam_usertype.8.gz 1,334 КиБ
          • /usr/share/man/man8/pam_warn.8.gz 1,067 КиБ
          • /usr/share/man/man8/pam_wheel.8.gz 1,554 КиБ
          • /usr/share/man/man8/pam_xauth.8.gz 2,188 КиБ
          • /usr/share/man/man8/pwhistory_helper.8.gz 910 Б
          • /usr/share/man/man8/unix_chkpwd.8.gz 868 Б
          • /usr/share/man/man8/unix_update.8.gz 877 Б
Документация (man-страницы)

LIMITS.CONF(5)		       Руководство Linux-PAM			LIMITS.CONF(5)



NAME
       limits.conf - файл конфигурации для модуля pam_limits

DESCRIPTION
       Модуль pam_limits.so применяет ограничения ulimit, приоритет nice и
       ограничение на количество одновременных сеансов входа для сеансов
       входа пользователя. Это описание синтаксиса файла конфигурации
       относится к файлу /etc/security/limits.conf и файлам *.conf в
       директории /etc/security/limits.d.

       Синтаксис строк следующий:

       <domain> <type> <item> <value>

       Поля, перечисленные выше, должны быть заполнены следующим образом:

       <domain>

	   •   имя пользователя

	   •   имя группы, с синтаксисом @group. Это не следует путать
	       с netgroups.

	   •   подстановочный знак *, для записи по умолчанию.

	   •   подстановочный знак %, только для ограничения maxlogins, также
	       может использоваться с синтаксисом %group. Если % используется
	       в одиночку, он идентичен использованию * с ограничением
	       maxsyslogins. Если после % указана группа, это ограничивает
	       общее количество входов для всех пользователей, которые являются
	       членами группы.

	   •   диапазон uid, указанный как <min_uid>:<max_uid>. Если min_uid
	       omitted, совпадение точное для max_uid. Если max_uid omitted,
	       совпадают все uid, большие или равные min_uid.

	   •   диапазон gid, указанный как @<min_gid>:<max_gid>. Если min_gid
	       omitted, совпадение точное для max_gid. Если max_gid omitted,
	       совпадают все gid, большие или равные min_gid. Для точного
	       совпадения проверяются все группы, включая дополнительные группы
	       пользователя. Для совпадения по диапазону проверяется только
	       основная группа пользователя.

	   •   gid, указанный как %:<gid>, применяется только к ограничению
	       maxlogins. Это ограничивает общее количество входов для всех
	       пользователей, которые являются членами группы с указанным gid.

       <type>

	   hard
	       для принудительного применения жёстких ограничений ресурсов.
	       Эти ограничения устанавливаются суперпользователем и
	       принудительно применяются ядром. Пользователи не могут
	       повысить свои требования к системным ресурсам выше таких
	       значений.

	   soft
	       для принудительного применения мягких ограничений ресурсов.
	       Эти ограничения являются теми, которые пользователь может
	       изменять в пределах разрешённого диапазона в соответствии с
	       существующими жёсткими ограничениями. Значения, указанные с
	       этим токеном, можно рассматривать как значения по умолчанию
	       для нормального использования системы.

	   -
	       для принудительного применения как мягких, так и жёстких
	       ограничений ресурсов вместе.

	       Обратите внимание, если указан тип '-', но не указаны поля
	       item и value, модуль никогда не будет принудительно применять
	       какие-либо ограничения для указанного пользователя/группы и т.д.

       <item>

	   core
	       ограничение размера файла core (КБ)

	   data
	       максимальный размер данных (КБ)

	   fsize
	       максимальный размер файла (КБ)

	   memlock
	       максимальный размер заблокированного в памяти адресного
	       пространства (КБ)

	   nofile
	       максимальное количество открытых дескрипторов файлов

	   rss
	       максимальный размер набора резидентных страниц (КБ) (игнорируется
	       в Linux 2.4.30 и выше)

	   stack
	       максимальный размер стека (КБ)

	   cpu
	       максимальное время CPU (минуты)

	   nproc
	       максимальное количество процессов

	   as
	       ограничение адресного пространства (КБ)

	   maxlogins
	       максимальное количество входов для этого пользователя (это
	       ограничение не применяется к пользователю с uid=0)

	   maxsyslogins
	       максимальное количество всех входов в систему; пользователю не
	       разрешается войти, если общее количество входов всех
	       пользователей превышает указанное число (это ограничение не
	       применяется к пользователю с uid=0)

	   nonewprivs
	       значение 0 или 1; если установлено в 1, отключает получение
	       новых привилегий путём вызова prctl(PR_SET_NO_NEW_PRIVS)

	   priority
	       приоритет для выполнения процессов пользователя (отрицательные
	       значения повышают приоритет процесса)

	   locks
	       максимальное количество заблокированных файлов (Linux 2.4 и выше)

	   sigpending
	       максимальное количество ожидающих сигналов (Linux 2.6 и выше)

	   msgqueue
	       максимальная память, используемая очередями сообщений POSIX
	       (байты) (Linux 2.6 и выше)

	   nice
	       максимальный приоритет nice, до которого разрешено повысить
	       (Linux 2.6.12 и выше) значения: [-20,19]

	   rtprio
	       максимальный приоритет реального времени для непривилегированных
	       процессов (Linux 2.6.12 и выше)

       Все элементы поддерживают значения -1, unlimited или infinity, что
       указывает на отсутствие ограничения, за исключением priority, nice и
       nonewprivs. Если nofile устанавливается в одно из этих значений, оно
       будет установлено в содержимое /proc/sys/fs/nr_open вместо этого (см.
       setrlimit(3)).

       Если жёсткое или мягкое ограничение ресурса устанавливается в допустимое
       значение, но за пределами поддерживаемого диапазона локальной системы,
       система может отклонить новое ограничение или возникнуть неожиданное
       поведение. Если используется требуемое значение контроля, модуль
       отклонит вход, если ограничение не удалось установить.

       В общем, индивидуальные ограничения имеют приоритет над групповыми,
       поэтому если для группы admin не установлены ограничения, но один из
       её членов имеет строку с ограничениями, для пользователя будут
       установлены ограничения в соответствии с этой строкой.

       Также обратите внимание, что все настройки ограничений устанавливаются
       на сеанс входа. Они не глобальные и не постоянные; существуют только
       на протяжении сеанса. Исключение составляет опция maxlogin, которая
       действует на всю систему. Однако существует гонка состояний, и
       одновременные входы в одно и то же время могут не всегда
       обнаруживаться как таковые, а только учитываться как один.

       В файле конфигурации limits символ '#' вводит комментарий - после него
       остаток строки игнорируется.

       Модуль pam_limits сообщает о проблемах конфигурации, найденных в его
       файле конфигурации, и ошибках через syslog(3).

EXAMPLES
       Вот некоторые примеры строк, которые могут быть указаны в
       /etc/security/limits.conf.

	   *		   soft	   core		   0
	   *		   hard	   nofile	   512
	   @student	   hard	   nproc	   20
	   @faculty	   soft	   nproc	   20
	   @faculty	   hard	   nproc	   50
	   ftp		   hard	   nproc	   0
	   @student	   -	   maxlogins	   4
	   @student	   -	   nonewprivs	   1
	   :123		   hard	   cpu		   5000
	   @500:	   soft	   cpu		   10000
	   600:700	   hard	   locks	   10


SEE ALSO
       pam_limits(8), pam.d(5), pam(8), getrlimit(2), getrlimit(3p)

AUTHOR
       pam_limits изначально был написан Cristian Gafton <gafton@redhat.com>



Linux-PAM			  05/12/2025			LIMITS.CONF(5)
LIMITS.CONF(5)		       Linux-PAM Manual			LIMITS.CONF(5)



NAME
       limits.conf - configuration file for the pam_limits module

DESCRIPTION
       The pam_limits.so module applies ulimit limits, nice priority and
       number of simultaneous login sessions limit to user login sessions.
       This description of the configuration file syntax applies to the
       /etc/security/limits.conf file and *.conf files in the
       /etc/security/limits.d directory.

       The syntax of the lines is as follows:

       <domain> <type> <item> <value>

       The fields listed above should be filled as follows:

       <domain>

	   •   a username

	   •   a groupname, with @group syntax. This should not be confused
	       with netgroups.

	   •   the wildcard *, for default entry.

	   •   the wildcard %, for maxlogins limit only, can also be used with
	       %group syntax. If the % wildcard is used alone it is identical
	       to using * with maxsyslogins limit. With a group specified
	       after % it limits the total number of logins of all users that
	       are member of the group.

	   •   an uid range specified as <min_uid>:<max_uid>. If min_uid is
	       omitted, the match is exact for the max_uid. If max_uid is
	       omitted, all uids greater than or equal min_uid match.

	   •   a gid range specified as @<min_gid>:<max_gid>. If min_gid is
	       omitted, the match is exact for the max_gid. If max_gid is
	       omitted, all gids greater than or equal min_gid match. For the
	       exact match all groups including the user's supplementary
	       groups are examined. For the range matches only the user's
	       primary group is examined.

	   •   a gid specified as %:<gid> applicable to maxlogins limit only.
	       It limits the total number of logins of all users that are
	       member of the group with the specified gid.

       <type>

	   hard
	       for enforcing hard resource limits. These limits are set by the
	       superuser and enforced by the Kernel. Users cannot raise their
	       own requirement of system resources above such values.

	   soft
	       for enforcing soft resource limits. These limits are ones that
	       the user can move up or down within the permitted range by any
	       pre-existing hard limits. The values specified with this token
	       can be thought of as default values, for normal system usage.

	   -
	       for enforcing both soft and hard resource limits together.

	       Note, if you specify a type of '-' but neglect to supply the
	       item and value fields then the module will never enforce any
	       limits on the specified user/group etc. .

       <item>

	   core
	       limits the core file size (KB)

	   data
	       maximum data size (KB)

	   fsize
	       maximum filesize (KB)

	   memlock
	       maximum locked-in-memory address space (KB)

	   nofile
	       maximum number of open file descriptors

	   rss
	       maximum resident set size (KB) (Ignored in Linux 2.4.30 and
	       higher)

	   stack
	       maximum stack size (KB)

	   cpu
	       maximum CPU time (minutes)

	   nproc
	       maximum number of processes

	   as
	       address space limit (KB)

	   maxlogins
	       maximum number of logins for this user (this limit does not
	       apply to user with uid=0)

	   maxsyslogins
	       maximum number of all logins on system; user is not allowed to
	       log-in if total number of all user logins is greater than
	       specified number (this limit does not apply to user with uid=0)

	   nonewprivs
	       value of 0 or 1; if set to 1 disables acquiring new privileges
	       by invoking prctl(PR_SET_NO_NEW_PRIVS)

	   priority
	       the priority to run user process with (negative values boost
	       process priority)

	   locks
	       maximum locked files (Linux 2.4 and higher)

	   sigpending
	       maximum number of pending signals (Linux 2.6 and higher)

	   msgqueue
	       maximum memory used by POSIX message queues (bytes) (Linux 2.6
	       and higher)

	   nice
	       maximum nice priority allowed to raise to (Linux 2.6.12 and
	       higher) values: [-20,19]

	   rtprio
	       maximum realtime priority allowed for non-privileged processes
	       (Linux 2.6.12 and higher)

       All items support the values -1, unlimited or infinity indicating no
       limit, except for priority, nice, and nonewprivs. If nofile is to be
       set to one of these values, it will be set to the contents of
       /proc/sys/fs/nr_open instead (see setrlimit(3)).

       If a hard limit or soft limit of a resource is set to a valid value,
       but outside of the supported range of the local system, the system may
       reject the new limit or unexpected behavior may occur. If the control
       value required is used, the module will reject the login if a limit
       could not be set.

       In general, individual limits have priority over group limits, so if
       you impose no limits for admin group, but one of the members in this
       group have a limits line, the user will have its limits set according
       to this line.

       Also, please note that all limit settings are set per login. They are
       not global, nor are they permanent; existing only for the duration of
       the session. One exception is the maxlogin option, this one is system
       wide. But there is a race, concurrent logins at the same time will not
       always be detect as such but only counted as one.

       In the limits configuration file, the '#' character introduces a
       comment - after which the rest of the line is ignored.

       The pam_limits module does report configuration problems found in its
       configuration file and errors via syslog(3).

EXAMPLES
       These are some example lines which might be specified in
       /etc/security/limits.conf.

	   *		   soft	   core		   0
	   *		   hard	   nofile	   512
	   @student	   hard	   nproc	   20
	   @faculty	   soft	   nproc	   20
	   @faculty	   hard	   nproc	   50
	   ftp		   hard	   nproc	   0
	   @student	   -	   maxlogins	   4
	   @student	   -	   nonewprivs	   1
	   :123		   hard	   cpu		   5000
	   @500:	   soft	   cpu		   10000
	   600:700	   hard	   locks	   10


SEE ALSO
       pam_limits(8), pam.d(5), pam(8), getrlimit(2), getrlimit(3p)

AUTHOR
       pam_limits was initially written by Cristian Gafton <gafton@redhat.com>



Linux-PAM			  05/12/2025			LIMITS.CONF(5)

SEPERMIT.CONF(5)	       Руководство Linux-PAM		      SEPERMIT.CONF(5)



NAME
       sepermit.conf - файл конфигурации для модуля pam_sepermit

DESCRIPTION
       Строки файла конфигурации имеют следующий синтаксис:

       <user>[:<option>:<option>...]

       Пользователь может быть указан следующим образом:

       •   имя пользователя

       •   имя группы, с синтаксисом @group. Это не следует путать с
	   netgroups.

       •   имя пользователя SELinux с синтаксисом %seuser.

       Распознаваемые опции:

       exclusive
	   Разрешена только одна сессия входа для пользователя, и
	   процессы пользователя будут завершены при выходе.

       ignore
	   Модуль никогда не вернёт статус PAM_SUCCESS для пользователя. Он
	   вернёт PAM_IGNORE, если SELinux находится в режиме enforcing, и
	   PAM_AUTH_ERR в противном случае. Это полезно, если вы хотите
	   поддерживать пользователей-гостей без пароля и других
	   ограниченных пользователей с паролями одновременно.

       Строки, начинающиеся с символа #, являются комментариями и игнорируются.

EXAMPLES
       Вот некоторые примеры строк, которые могут быть указаны в
       /etc/security/sepermit.conf.

	   %guest_u:exclusive
	   %staff_u:ignore
	   %user_u:ignore


SEE ALSO
       pam_sepermit(8), pam.d(5), pam(8), selinux(8),

AUTHOR
       pam_sepermit и эта страница руководства были написаны Tomas Mraz
       <tmraz@redhat.com>



Linux-PAM			  05/12/2025		      SEPERMIT.CONF(5)
SEPERMIT.CONF(5)	       Linux-PAM Manual		      SEPERMIT.CONF(5)



NAME
       sepermit.conf - configuration file for the pam_sepermit module

DESCRIPTION
       The lines of the configuration file have the following syntax:

       <user>[:<option>:<option>...]

       The user can be specified in the following manner:

       •   a username

       •   a groupname, with @group syntax. This should not be confused with
	   netgroups.

       •   a SELinux user name with %seuser syntax.

       The recognized options are:

       exclusive
	   Only single login session will be allowed for the user and the
	   user's processes will be killed on logout.

       ignore
	   The module will never return PAM_SUCCESS status for the user. It
	   will return PAM_IGNORE if SELinux is in the enforcing mode, and
	   PAM_AUTH_ERR otherwise. It is useful if you want to support
	   passwordless guest users and other confined users with passwords
	   simultaneously.

       The lines which start with # character are comments and are ignored.

EXAMPLES
       These are some example lines which might be specified in
       /etc/security/sepermit.conf.

	   %guest_u:exclusive
	   %staff_u:ignore
	   %user_u:ignore


SEE ALSO
       pam_sepermit(8), pam.d(5), pam(8), selinux(8),

AUTHOR
       pam_sepermit and this manual page were written by Tomas Mraz
       <tmraz@redhat.com>



Linux-PAM			  05/12/2025		      SEPERMIT.CONF(5)

NAMESPACE.CONF(5)	       Руководство Linux-PAM		     NAMESPACE.CONF(5)



NAME
       namespace.conf - файл конфигурации пространства имен

DESCRIPTION
       Модуль pam_namespace.so позволяет настраивать частные пространства имен с
       полиинстанцируемыми каталогами. Каталоги могут быть полиинстанцированы на
       основе имени пользователя или, в случае SELinux, имени пользователя, уровня
       чувствительности или полного контекста безопасности. Если существует
       исполняемый скрипт /etc/security/namespace.init, он используется для
       инициализации пространства имен каждый раз, когда устанавливается и
       монтируется каталог-инстанс. Скрипт получает путь к полиинстанцированному
       каталогу и путь к каталогу-инстансу в качестве аргументов. Скрипт вызывается
       с полными привилегиями root, и доступ к каталогу-инстансу в этом контексте
       следует выполнять осторожно, поскольку он контролируется непривилегированным
       пользователем, для которого он был создан.

       Файл /etc/security/namespace.conf определяет, какие каталоги полиинстанцируются,
       как они полиинстанцируются, как будут называться каталоги-инстансы и для
       каких пользователей полиинстанцирование не будет выполняться.

       При входе пользователя файл namespace.conf сканируется. Комментарии обозначаются
       символами #. Каждая строка, не являющаяся комментарием, представляет один
       полиинстанцируемый каталог. Поля разделены пробелами, но могут быть заключены
       в кавычки " и распознаются escape-последовательности \b, \n и \t. Поля
       следующие:

       polydir instance_prefix method list_of_uids

       Первое поле, polydir, является абсолютным путем к каталогу, который нужно
       полиинстанцировать. Специальная строка $HOME заменяется домашним каталогом
       пользователя, а $USER — именем пользователя. Это поле не может быть пустым.

       Второе поле, instance_prefix, является строковым префиксом, используемым для
       построения пути к инстансу <polydir>. Путь должен заканчиваться косой чертой,
       или это префикс каталога, используемый для построения полного пути на
       инстанс. В зависимости от метода полиинстанцирования к нему добавляется
       "строка дифференциации инстанса", чтобы сгенерировать конечный путь к
       каталогу-инстансу. Этот каталог создается, если он еще не существует, и затем
       монтируется на <polydir> с помощью bind, чтобы предоставить инстанс <polydir>
       на основе столбца <method>. Специальная строка $HOME заменяется домашним
       каталогом пользователя, а $USER — именем пользователя. Это поле не может
       быть пустым.

       Третье поле, method, является методом полиинстанцирования. Оно может принимать
       следующие значения: "user" для полиинстанцирования на основе имени
       пользователя, "level" для полиинстанцирования на основе уровня MLS процесса и
       имени пользователя, "context" для полиинстанцирования на основе контекста
       безопасности процесса и имени пользователя, "tmpfs" для монтирования файловой
       системы tmpfs как каталога-инстанса, и "tmpdir" для создания временного
       каталога как каталога-инстанса, который удаляется при закрытии сессии
       пользователя. Методы "context" и "level" доступны только с SELinux. Это поле
       не может быть пустым.

       Четвертое поле, list_of_uids, является запятыми разделенным списком имен
       пользователей, для которых полиинстанцирование не выполняется. Если оно
       оставлено пустым, полиинстанцирование будет выполняться для всех пользователей.
       Если список предшествует одиночный символ "~", полиинстанцирование выполняется
       только для пользователей в списке.

       Поле method также может содержать следующие необязательные флаги, разделенные
       символами :.

       create=mode,owner,group - создать полиинстанцируемый каталог. Параметры mode,
       owner и group необязательны. Значение mode по умолчанию определяется umask,
       значение owner по умолчанию — пользователь, чья сессия открыта, значение
       group по умолчанию — основная группа пользователя.

       iscript=path - путь к скрипту инициализации каталога-инстанса. Базовый
       каталог для относительных путей — /etc/security/namespace.d.

       noinit - скрипт инициализации каталога-инстанса не будет выполнен.

       shared - каталоги-инстансы для методов "context" и "level" не будут содержать
       имя пользователя и будут общими для всех пользователей.

       mntopts=value - значение этого флага передается вызову mount при монтировании
       tmpfs. Это позволяет, например, указать максимальный размер инстанса tmpfs,
       создаваемого вызовом mount. Кроме опций, указанных в руководстве tmpfs(5),
       можно использовать флаги nosuid, noexec и nodev для соответственно отключения
       эффекта setuid, отключения запуска исполняемых файлов и отключения
       интерпретации устройств на смонтированной файловой системе tmpfs.

       Каталог, где должны создаваться полиинстанцированные инстансы, должен
       существовать и по умолчанию иметь режим 0000. Требование, чтобы родительский
       каталог инстанса имел режим 0000, можно переопределить с помощью опции
       командной строки ignore_instance_parent_mode.

       В случае полиинстанцирования context или level контекст SELinux, используемый
       для полиинстанцирования, — это контекст, используемый для выполнения нового
       процесса, полученный с помощью getexeccon. Этот контекст должен быть установлен
       вызывающим приложением или модулем pam_selinux.so. Если этот контекст не
       установлен, полиинстанцирование будет основано только на имени пользователя.

       "Строка дифференциации инстанса" — это <имя пользователя> для метода "user" и
       <имя пользователя>_<сырой контекст каталога> для методов "context" и "level".
       Если вся строка слишком длинная, ее конец заменяется md5sum от нее самой.
       Также, когда используется опция командной строки gen_hash, вся строка
       заменяется md5sum от нее самой.

EXAMPLES
       Вот некоторые примеры строк, которые могут быть указаны в
       /etc/security/namespace.conf.

		 # Следующие три строки полиинстанцируют /tmp,
		 # /var/tmp и домашние каталоги пользователей. /tmp и /var/tmp
		 # будут полиинстанцированы на основе уровня безопасности,
		 # а также имени пользователя, в то время как домашний каталог будет
		 # полиинстанцирован на основе полного контекста безопасности и имени
		 # пользователя.
		 # Полиинстанцирование не будет выполняться для пользователя root
		 # и adm для каталогов /tmp и /var/tmp, в то время как домашние
		 # каталоги будут полиинстанцированы для всех пользователей.
		 #
		 # Обратите внимание, что каталоги-инстансы не обязательно должны
		 # находиться внутри полиинстанцируемого каталога. В примерах ниже,
		 # инстансы /tmp будут созданы в каталоге /tmp-inst,
		 # в то время как инстансы /var/tmp и домашних каталогов пользователей
		 # будут находиться в полиинстанцируемых каталогах.
		 #
		 /tmp	  /tmp-inst/		   level      root,adm
		 /var/tmp /var/tmp/tmp-inst/	   level      root,adm
		 $HOME	  $HOME/$USER.inst/inst- context


       Для <service>ов, где требуется полиинстанцирование (например, login), добавьте
       следующую строку в /etc/pam.d/<service> как последнюю строку группы session:

       session required pam_namespace.so [arguments]

       Этот модуль также зависит от настройки контекста pam_selinux.so.

SEE ALSO
       pam_namespace(8), pam.d(5), pam(8)

AUTHORS
       Страница руководства namespace.conf была написана Janak Desai
       <janak@us.ibm.com>. Дополнительные функции добавлены Tomas Mraz
       <tmraz@redhat.com>.



Linux-PAM			  05/12/2025		     NAMESPACE.CONF(5)
NAMESPACE.CONF(5)	       Linux-PAM Manual		     NAMESPACE.CONF(5)



NAME
       namespace.conf - the namespace configuration file

DESCRIPTION
       The pam_namespace.so module allows setup of private namespaces with
       polyinstantiated directories. Directories can be polyinstantiated based
       on user name or, in the case of SELinux, user name, sensitivity level
       or complete security context. If an executable script
       /etc/security/namespace.init exists, it is used to initialize the
       namespace every time an instance directory is set up and mounted. The
       script receives the polyinstantiated directory path and the instance
       directory path as its arguments. The script is invoked with full root
       privileges and accessing the instance directory in this context needs
       to be done with caution, as it is controlled by the unprivileged user
       for which it has been created.

       The /etc/security/namespace.conf file specifies which directories are
       polyinstantiated, how they are polyinstantiated, how instance
       directories would be named, and any users for whom polyinstantiation
       would not be performed.

       When someone logs in, the file namespace.conf is scanned. Comments are
       marked by # characters. Each non comment line represents one
       polyinstantiated directory. The fields are separated by spaces but can
       be quoted by " characters also escape sequences \b, \n, and \t are
       recognized. The fields are as follows:

       polydir instance_prefix method list_of_uids

       The first field, polydir, is the absolute pathname of the directory to
       polyinstantiate. The special string $HOME is replaced with the user's
       home directory, and $USER with the username. This field cannot be
       blank.

       The second field, instance_prefix is the string prefix used to build
       the pathname for the instantiation of <polydir>. The path must end in a
       trailing slash, or in a directory prefix used to build the full
       per-instance path. Depending on the polyinstantiation method it is then
       appended with "instance differentiation string" to generate the final
       instance directory path. This directory is created if it did not exist
       already, and is then bind mounted on the <polydir> to provide an
       instance of <polydir> based on the <method> column. The special string
       $HOME is replaced with the user's home directory, and $USER with the
       username. This field cannot be blank.

       The third field, method, is the method used for polyinstantiation. It
       can take these values; "user" for polyinstantiation based on user name,
       "level" for polyinstantiation based on process MLS level and user name,
       "context" for polyinstantiation based on process security context and
       user name, "tmpfs" for mounting tmpfs filesystem as an instance dir,
       and "tmpdir" for creating temporary directory as an instance dir which
       is removed when the user's session is closed. Methods "context" and
       "level" are only available with SELinux. This field cannot be blank.

       The fourth field, list_of_uids, is a comma separated list of user names
       for whom the polyinstantiation is not performed. If left blank,
       polyinstantiation will be performed for all users. If the list is
       preceded with a single "~" character, polyinstantiation is performed
       only for users in the list.

       The method field can contain also following optional flags separated by
       : characters.

       create=mode,owner,group - create the polyinstantiated directory. The
       mode, owner and group parameters are optional. The default for mode is
       determined by umask, the default owner is the user whose session is
       opened, the default group is the primary group of the user.

       iscript=path - path to the instance directory init script. The base
       directory for relative paths is /etc/security/namespace.d.

       noinit - instance directory init script will not be executed.

       shared - the instance directories for "context" and "level" methods
       will not contain the user name and will be shared among all users.

       mntopts=value - value of this flag is passed to the mount call when the
       tmpfs mount is done. It allows for example the specification of the
       maximum size of the tmpfs instance that is created by the mount call.
       In addition to options specified in the tmpfs(5) manual the nosuid,
       noexec, and nodev flags can be used to respectively disable setuid bit
       effect, disable running executables, and disable devices to be
       interpreted on the mounted tmpfs filesystem.

       The directory where polyinstantiated instances are to be created, must
       exist and must have, by default, the mode of 0000. The requirement that
       the instance parent be of mode 0000 can be overridden with the command
       line option ignore_instance_parent_mode

       In case of context or level polyinstantiation the SELinux context which
       is used for polyinstantiation is the context used for executing a new
       process as obtained by getexeccon. This context must be set by the
       calling application or pam_selinux.so module. If this context is not
       set the polyinstantiation will be based just on user name.

       The "instance differentiation string" is <user name> for "user" method
       and <user name>_<raw directory context> for "context" and "level"
       methods. If the whole string is too long the end of it is replaced with
       md5sum of itself. Also when command line option gen_hash is used the
       whole string is replaced with md5sum of itself.

EXAMPLES
       These are some example lines which might be specified in
       /etc/security/namespace.conf.

		 # The following three lines will polyinstantiate /tmp,
		 # /var/tmp and user's home directories. /tmp and /var/tmp
		 # will be polyinstantiated based on the security level
		 # as well as user name, whereas home directory will be
		 # polyinstantiated based on the full security context and user name.
		 # Polyinstantiation will not be performed for user root
		 # and adm for directories /tmp and /var/tmp, whereas home
		 # directories will be polyinstantiated for all users.
		 #
		 # Note that instance directories do not have to reside inside
		 # the polyinstantiated directory. In the examples below,
		 # instances of /tmp will be created in /tmp-inst directory,
		 # where as instances of /var/tmp and users home directories
		 # will reside within the directories that are being
		 # polyinstantiated.
		 #
		 /tmp	  /tmp-inst/		   level      root,adm
		 /var/tmp /var/tmp/tmp-inst/	   level      root,adm
		 $HOME	  $HOME/$USER.inst/inst- context


       For the <service>s you need polyinstantiation (login for example) put
       the following line in /etc/pam.d/<service> as the last line for session
       group:

       session required pam_namespace.so [arguments]

       This module also depends on pam_selinux.so setting the context.

SEE ALSO
       pam_namespace(8), pam.d(5), pam(8)

AUTHORS
       The namespace.conf manual page was written by Janak Desai
       <janak@us.ibm.com>. More features added by Tomas Mraz
       <tmraz@redhat.com>.



Linux-PAM			  05/12/2025		     NAMESPACE.CONF(5)

UNIX_UPDATE(8)		       Руководство Linux-PAM			UNIX_UPDATE(8)



NAME
       unix_update - Вспомогательная программа, которая обновляет пароль указанного пользователя

SYNOPSIS
       unix_update [...]

DESCRIPTION
       unix_update — это вспомогательная программа для модуля pam_unix, которая обновляет
       пароль указанного пользователя. Она не предназначена для запуска напрямую из
       командной строки и фиксирует нарушение безопасности, если это сделано.

       Цель вспомогательной программы — обеспечить более строгий контроль служб входа в
       систему и изменения пароля. Программа вызывается только при включенном SELinux
       в системе.

       Интерфейс вспомогательной программы — параметры командной строки и формат
       ввода/выходных данных — являются внутренними для модуля pam_unix, и её не следует
       вызывать напрямую из приложений.

SEE ALSO
       pam_unix(8)

AUTHOR
       Написано Tomas Mraz и другими различными людьми.



Linux-PAM			  05/12/2025			UNIX_UPDATE(8)
UNIX_UPDATE(8)		       Linux-PAM Manual			UNIX_UPDATE(8)



NAME
       unix_update - Helper binary that updates the password of a given user

SYNOPSIS
       unix_update [...]

DESCRIPTION
       unix_update is a helper program for the pam_unix module that updates
       the password of a given user. It is not intended to be run directly
       from the command line and logs a security violation if done so.

       The purpose of the helper is to enable tighter confinement of login and
       password changing services. The helper is thus called only when SELinux
       is enabled on the system.

       The interface of the helper - command line options, and input/output
       data format are internal to the pam_unix module and it should not be
       called directly from applications.

SEE ALSO
       pam_unix(8)

AUTHOR
       Written by Tomas Mraz and other various people.



Linux-PAM			  05/12/2025			UNIX_UPDATE(8)

PAM_MKHOMEDIR(8)	       Linux-PAM Manual		      PAM_MKHOMEDIR(8)



NAME
       pam_mkhomedir - модуль PAM для создания домашнего каталога пользователя

SYNOPSIS
       pam_mkhomedir.so [silent] [debug] [umask=mode] [skel=skeldir]

DESCRIPTION
       Модуль PAM pam_mkhomedir создаст домашний каталог пользователя, если
       он не существует на момент начала сеанса. Это позволяет пользователям
       присутствовать в центральной базе данных (например, NIS, Kerberos или
       LDAP), не используя распределённую файловую систему или заранее
       создавая большое количество каталогов. Каталог-скелетон (обычно
       /etc/skel/) используется для копирования файлов по умолчанию, а также
       для установки маски создания файлов.

       Домашний каталог нового пользователя не будет удалён после выхода
       пользователя из системы.

OPTIONS
       silent
	   Не выводить информационные сообщения.

       debug
	   Включить отладку через syslog(3).

       umask=mask
	   Маска создания файлов устанавливается в mask. Значение mask по
	   умолчанию — 0022. Если эта опция не указана, то разрешения
	   создаваемого домашнего каталога пользователя устанавливаются в
	   значение параметра HOME_MODE из файла /etc/login.defs. Если такого
	   параметра нет, то значение вычисляется из параметра UMASK в том же
	   файле. Если такого параметра тоже нет, то используется значение
	   по умолчанию 0755 для режима.

       skel=/path/to/skel/directory
	   Указать альтернативный каталог-скелетон для переопределения
	   каталога по умолчанию /etc/skel.

MODULE TYPES PROVIDED
       Предоставляется только тип модуля session.

RETURN VALUES
       PAM_BUF_ERR
	   Ошибка буфера памяти.

       PAM_PERM_DENIED
	   Недостаточно прав для создания нового каталога или чтения
	   каталога-скелетона.

       PAM_USER_UNKNOWN
	   Пользователь неизвестен базовому модулю аутентификации.

       PAM_SUCCESS
	   Переменные окружения были установлены.

FILES
       /etc/skel
	   Каталог-скелетон по умолчанию

EXAMPLES
       Пример файла /etc/pam.d/login:

	     auth	requisite   pam_securetty.so
	     auth	sufficient  pam_ldap.so
	     auth	required    pam_unix.so
	     auth	required    pam_nologin.so
	     account	sufficient  pam_ldap.so
	     account	required    pam_unix.so
	     password	required    pam_unix.so
	     session	required    pam_mkhomedir.so skel=/etc/skel/ umask=0022
	     session	required    pam_unix.so
	     session	optional    pam_lastlog.so
	     session	optional    pam_mail.so standard



SEE ALSO
       pam.d(5), pam(8).

AUTHOR
       pam_mkhomedir был написан Jason Gunthorpe <jgg@debian.org>.



Linux-PAM			  05/12/2025		      PAM_MKHOMEDIR(8)
PAM_MKHOMEDIR(8)	       Linux-PAM Manual		      PAM_MKHOMEDIR(8)



NAME
       pam_mkhomedir - PAM module to create users home directory

SYNOPSIS
       pam_mkhomedir.so [silent] [debug] [umask=mode] [skel=skeldir]

DESCRIPTION
       The pam_mkhomedir PAM module will create a users home directory if it
       does not exist when the session begins. This allows users to be present
       in central database (such as NIS, kerberos or LDAP) without using a
       distributed file system or pre-creating a large number of directories.
       The skeleton directory (usually /etc/skel/) is used to copy default
       files and also sets a umask for the creation.

       The new users home directory will not be removed after logout of the
       user.

OPTIONS
       silent
	   Don't print informative messages.

       debug
	   Turns on debugging via syslog(3).

       umask=mask
	   The file mode creation mask is set to mask. The default value of
	   mask is 0022. If this option is not specified, then the permissions
	   of created user home directory is set to the value of HOME_MODE
	   configuration item from /etc/login.defs. If there is no such
	   configuration item then the value is computed from the value of
	   UMASK in the same file. If there is no such configuration option
	   either the default value of 0755 is used for the mode.

       skel=/path/to/skel/directory
	   Indicate an alternative skel directory to override the default
	   /etc/skel.

MODULE TYPES PROVIDED
       Only the session module type is provided.

RETURN VALUES
       PAM_BUF_ERR
	   Memory buffer error.

       PAM_PERM_DENIED
	   Not enough permissions to create the new directory or read the skel
	   directory.

       PAM_USER_UNKNOWN
	   User not known to the underlying authentication module.

       PAM_SUCCESS
	   Environment variables were set.

FILES
       /etc/skel
	   Default skel directory

EXAMPLES
       A sample /etc/pam.d/login file:

	     auth	requisite   pam_securetty.so
	     auth	sufficient  pam_ldap.so
	     auth	required    pam_unix.so
	     auth	required    pam_nologin.so
	     account	sufficient  pam_ldap.so
	     account	required    pam_unix.so
	     password	required    pam_unix.so
	     session	required    pam_mkhomedir.so skel=/etc/skel/ umask=0022
	     session	required    pam_unix.so
	     session	optional    pam_lastlog.so
	     session	optional    pam_mail.so standard



SEE ALSO
       pam.d(5), pam(8).

AUTHOR
       pam_mkhomedir was written by Jason Gunthorpe <jgg@debian.org>.



Linux-PAM			  05/12/2025		      PAM_MKHOMEDIR(8)

PAM_SELINUX(8)		       Linux-PAM Manual			PAM_SELINUX(8)



NAME
       pam_selinux - модуль PAM для установки контекста безопасности по умолчанию

SYNOPSIS
       pam_selinux.so [open] [close] [restore] [nottys] [debug] [verbose]
		      [select_context] [env_params] [use_current_range]

DESCRIPTION
       pam_selinux - это модуль PAM, который настраивает контекст безопасности по умолчанию для следующего выполняемого процесса.

       При запуске новой сессии часть open_session модуля вычисляет и настраивает контекст безопасности выполнения, используемый для следующего вызова execve(2), контекст безопасности файла управляющего терминала, а также контекст безопасности, используемый для создания новой системной связки ключей.

       При завершении сессии часть close_session модуля восстанавливает предыдущие контексты безопасности, которые действовали до изменений, внесенных частью open_session модуля.

       Добавление pam_selinux в стек PAM может нарушить поведение других модулей PAM, которые выполняют приложения. Чтобы избежать этого, pam_selinux.so open следует размещать после таких модулей в стеке PAM, а pam_selinux.so close - перед ними. Если такое размещение невозможно, можно использовать pam_selinux.so restore для временного восстановления исходных контекстов безопасности.

OPTIONS
       open
	   Выполнять только часть open_session модуля.

       close
	   Выполнять только часть close_session модуля.

       restore
	   В части open_session модуля временно восстанавливать контексты безопасности такими, какими они были до предыдущего вызова модуля. Другой вызов этого модуля без опции restore снова настроит новые контексты безопасности.

       nottys
	   Не настраивать контекст безопасности управляющего терминала.

       debug
	   Включить отладочные сообщения через syslog(3).

       verbose
	   Пытаться информировать пользователя при установке контекста безопасности.

       select_context
	   Пытаться запросить у пользователя пользовательскую роль контекста безопасности. Если включен MLS, также запросить уровень чувствительности.

       env_params
	   Пытаться получить пользовательскую роль контекста безопасности из окружения PAM. Если включен MLS, также получить уровень чувствительности. Эта опция и опция select_context являются взаимоисключающими. Соответствующие переменные окружения PAM - SELINUX_ROLE_REQUESTED, SELINUX_LEVEL_REQUESTED и SELINUX_USE_CURRENT_RANGE. Первые две переменные самописны, а последняя, если установлена в 1, заставляет модуль PAM вести себя так, как будто указана опция use_current_range в командной строке модуля.

       use_current_range
	   Использовать уровень чувствительности текущего процесса для контекста пользователя вместо уровня по умолчанию. Также подавляет запрос уровня чувствительности у пользователя или получение его из окружения PAM.

MODULE TYPES PROVIDED
       Предоставляется только тип модуля session.

RETURN VALUES
       PAM_SUCCESS
	   Контекст безопасности был установлен успешно.

       PAM_SESSION_ERR
	   Не удалось получить или установить допустимый контекст.

       PAM_USER_UNKNOWN
	   Пользователь неизвестен системе.

       PAM_BUF_ERR
	   Ошибка выделения памяти.

EXAMPLES
	   auth	    required  pam_unix.so
	   session  required  pam_permit.so
	   session  optional  pam_selinux.so


SEE ALSO
       execve(2), tty(4), pam.d(5), pam(8), selinux(8)

AUTHOR
       pam_selinux был написан Dan Walsh <dwalsh@redhat.com>.



Linux-PAM			  05/12/2025			PAM_SELINUX(8)
PAM_SELINUX(8)		       Linux-PAM Manual			PAM_SELINUX(8)



NAME
       pam_selinux - PAM module to set the default security context

SYNOPSIS
       pam_selinux.so [open] [close] [restore] [nottys] [debug] [verbose]
		      [select_context] [env_params] [use_current_range]

DESCRIPTION
       pam_selinux is a PAM module that sets up the default SELinux security
       context for the next executed process.

       When a new session is started, the open_session part of the module
       computes and sets up the execution security context used for the next
       execve(2) call, the file security context for the controlling terminal,
       and the security context used for creating a new kernel keyring.

       When the session is ended, the close_session part of the module
       restores old security contexts that were in effect before the change
       made by the open_session part of the module.

       Adding pam_selinux into the PAM stack might disrupt behavior of other
       PAM modules which execute applications. To avoid that, pam_selinux.so
       open should be placed after such modules in the PAM stack, and
       pam_selinux.so close should be placed before them. When such a
       placement is not feasible, pam_selinux.so restore could be used to
       temporary restore original security contexts.

OPTIONS
       open
	   Only execute the open_session part of the module.

       close
	   Only execute the close_session part of the module.

       restore
	   In open_session part of the module, temporarily restore the
	   security contexts as they were before the previous call of the
	   module. Another call of this module without the restore option will
	   set up the new security contexts again.

       nottys
	   Do not setup security context of the controlling terminal.

       debug
	   Turn on debug messages via syslog(3).

       verbose
	   Attempt to inform the user when security context is set.

       select_context
	   Attempt to ask the user for a custom security context role. If MLS
	   is on, ask also for sensitivity level.

       env_params
	   Attempt to obtain a custom security context role from PAM
	   environment. If MLS is on, obtain also sensitivity level. This
	   option and the select_context option are mutually exclusive. The
	   respective PAM environment variables are SELINUX_ROLE_REQUESTED,
	   SELINUX_LEVEL_REQUESTED, and SELINUX_USE_CURRENT_RANGE. The first
	   two variables are self describing and the last one if set to 1
	   makes the PAM module behave as if the use_current_range was
	   specified on the command line of the module.

       use_current_range
	   Use the sensitivity level of the current process for the user
	   context instead of the default level. Also suppresses asking of the
	   sensitivity level from the user or obtaining it from PAM
	   environment.

MODULE TYPES PROVIDED
       Only the session module type is provided.

RETURN VALUES
       PAM_SUCCESS
	   The security context was set successfully.

       PAM_SESSION_ERR
	   Unable to get or set a valid context.

       PAM_USER_UNKNOWN
	   The user is not known to the system.

       PAM_BUF_ERR
	   Memory allocation error.

EXAMPLES
	   auth	    required  pam_unix.so
	   session  required  pam_permit.so
	   session  optional  pam_selinux.so


SEE ALSO
       execve(2), tty(4), pam.d(5), pam(8), selinux(8)

AUTHOR
       pam_selinux was written by Dan Walsh <dwalsh@redhat.com>.



Linux-PAM			  05/12/2025			PAM_SELINUX(8)

PAM_SEPERMIT(8)		       Руководство Linux-PAM		       PAM_SEPERMIT(8)



NAME
       pam_sepermit - модуль PAM для разрешения/запрета входа в зависимости от состояния принудительного режима SELinux

SYNOPSIS
       pam_sepermit.so [debug] [conf=/path/to/config/file]

DESCRIPTION
       Модуль pam_sepermit позволяет или запрещает вход в зависимости от состояния принудительного режима SELinux.

       Пользователи, которые осуществляют вход и соответствуют записи в файле конфигурации, получают доступ только в том случае, если SELinux находится в режиме принудительного выполнения. В противном случае доступ им запрещается. Для пользователей, не соответствующих ни одной записи в файле конфигурации, модуль pam_sepermit возвращает значение PAM_IGNORE.

       Файл конфигурации содержит список имен пользователей по одному на строку с необязательными аргументами. Если имя начинается с символа @, это означает, что все пользователи в группе с таким именем соответствуют. Если оно начинается с символа %, то для сопоставления используется пользователь SELinux вместо имени учетной записи. Обратите внимание, что при отключенном SELinux пользователь SELinux, назначенный учетной записи, не может быть определен. Это означает, что такие записи никогда не будут соответствовать, когда SELinux отключен, и pam_sepermit вернет PAM_IGNORE.

       См. sepermit.conf(5) для деталей.

OPTIONS
       debug
	   Включает отладку через syslog(3).

       conf=/path/to/config/file
	   Путь к альтернативному файлу конфигурации, переопределяющему значение по умолчанию.

MODULE TYPES PROVIDED
       Предоставляются типы модулей auth и account.

RETURN VALUES
       PAM_AUTH_ERR
	   SELinux отключен или находится в режиме разрешения, и пользователь соответствует.

       PAM_SUCCESS
	   SELinux находится в режиме принудительного выполнения, и пользователь соответствует.

       PAM_IGNORE
	   Пользователь не соответствует ни одной записи в файле конфигурации.

       PAM_USER_UNKNOWN
	   Модулю не удалось определить имя пользователя.

       PAM_SERVICE_ERR
	   Ошибка при чтении или анализе файла конфигурации.

FILES
       /etc/security/sepermit.conf
	   Файл конфигурации по умолчанию

EXAMPLES
	   auth	    [success=done ignore=ignore default=bad] pam_sepermit.so
	   auth	    required  pam_unix.so
	   account  required  pam_unix.so
	   session  required  pam_permit.so


SEE ALSO
       sepermit.conf(5), pam.conf(5), pam.d(5), pam(8), selinux(8)

AUTHOR
       pam_sepermit и эта страница руководства были написаны Tomas Mraz <tmraz@redhat.com>.



Linux-PAM			  05/12/2025		       PAM_SEPERMIT(8)
PAM_SEPERMIT(8)		       Linux-PAM Manual		       PAM_SEPERMIT(8)



NAME
       pam_sepermit - PAM module to allow/deny login depending on SELinux
       enforcement state

SYNOPSIS
       pam_sepermit.so [debug] [conf=/path/to/config/file]

DESCRIPTION
       The pam_sepermit module allows or denies login depending on SELinux
       enforcement state.

       When the users which are logging in match an entry in the config file
       they are allowed access only when SELinux is in enforcing mode.
       Otherwise they are denied access. For users not matching any entry in
       the config file the pam_sepermit module returns PAM_IGNORE return
       value.

       The config file contains a list of user names one per line with
       optional arguments. If the name is prefixed with @ character it means
       that all users in the group name match. If it is prefixed with a %
       character the SELinux user is used to match against the name instead of
       the account name. Note that when SELinux is disabled the SELinux user
       assigned to the account cannot be determined. This means that such
       entries are never matched when SELinux is disabled and pam_sepermit
       will return PAM_IGNORE.

       See sepermit.conf(5) for details.

OPTIONS
       debug
	   Turns on debugging via syslog(3).

       conf=/path/to/config/file
	   Path to alternative config file overriding the default.

MODULE TYPES PROVIDED
       The auth and account module types are provided.

RETURN VALUES
       PAM_AUTH_ERR
	   SELinux is disabled or in the permissive mode and the user matches.

       PAM_SUCCESS
	   SELinux is in the enforcing mode and the user matches.

       PAM_IGNORE
	   The user does not match any entry in the config file.

       PAM_USER_UNKNOWN
	   The module was unable to determine the user's name.

       PAM_SERVICE_ERR
	   Error during reading or parsing the config file.

FILES
       /etc/security/sepermit.conf
	   Default configuration file

EXAMPLES
	   auth	    [success=done ignore=ignore default=bad] pam_sepermit.so
	   auth	    required  pam_unix.so
	   account  required  pam_unix.so
	   session  required  pam_permit.so


SEE ALSO
       sepermit.conf(5), pam.conf(5), pam.d(5), pam(8) selinux(8)

AUTHOR
       pam_sepermit and this manual page were written by Tomas Mraz
       <tmraz@redhat.com>.



Linux-PAM			  05/12/2025		       PAM_SEPERMIT(8)

FAILLOCK(8)		       Руководство Linux-PAM			   FAILLOCK(8)



NAME
       faillock - Инструмент для отображения и изменения файлов записей неудачных попыток аутентификации

SYNOPSIS
       faillock [--dir /path/to/tally-directory] [--user username] [--reset]

DESCRIPTION
       Модуль pam_faillock.so поддерживает список неудачных попыток аутентификации для каждого пользователя в течение указанного интервала и блокирует учетную запись в случае, если было более deny последовательных неудачных аутентификаций. Он хранит записи неудач в файлах на пользователя в каталоге подсчета.

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

OPTIONS
       --conf /path/to/config-file
	   Файл, в котором находится конфигурация. Значение по умолчанию -
	   /etc/security/faillock.conf.

       --dir /path/to/tally-directory
	   Каталог, в котором хранятся файлы пользователей с записями неудач.

	   Приоритет установки этого параметра - использовать значение, указанное в командной строке. Если оно не указано, то используется значение из файла конфигурации. Наконец, если ни одно из них не указано, то используется /var/run/faillock.

       --user username
	   Пользователь, записи неудач которого должны быть отображены или очищены.

       --reset
	   Вместо отображения записей неудач пользователя, очистить их.

FILES
       /var/run/faillock/*
	   файлы, регистрирующие неудачные попытки аутентификации для пользователей

SEE ALSO
       pam_faillock(8), pam(8)

AUTHOR
       faillock был написан Tomas Mraz.



Linux-PAM			  05/12/2025			   FAILLOCK(8)
FAILLOCK(8)		       Linux-PAM Manual			   FAILLOCK(8)



NAME
       faillock - Tool for displaying and modifying the authentication failure
       record files

SYNOPSIS
       faillock [--dir /path/to/tally-directory] [--user username] [--reset]

DESCRIPTION
       The pam_faillock.so module maintains a list of failed authentication
       attempts per user during a specified interval and locks the account in
       case there were more than deny consecutive failed authentications. It
       stores the failure records into per-user files in the tally directory.

       The faillock command is an application which can be used to examine and
       modify the contents of the tally files. It can display the recent
       failed authentication attempts of the username or clear the tally files
       of all or individual usernames.

OPTIONS
       --conf /path/to/config-file
	   The file where the configuration is located. The default is
	   /etc/security/faillock.conf.

       --dir /path/to/tally-directory
	   The directory where the user files with the failure records are
	   kept.

	   The priority to set this option is to use the value provided from
	   the command line. If this isn't provided, then the value from the
	   configuration file is used. Finally, if neither of them has been
	   provided, then /var/run/faillock is used.

       --user username
	   The user whose failure records should be displayed or cleared.

       --reset
	   Instead of displaying the user's failure records, clear them.

FILES
       /var/run/faillock/*
	   the files logging the authentication failures for users

SEE ALSO
       pam_faillock(8), pam(8)

AUTHOR
       faillock was written by Tomas Mraz.



Linux-PAM			  05/12/2025			   FAILLOCK(8)

PAM_ENV.CONF(5)		       Linux-PAM Manual		       PAM_ENV.CONF(5)



NAME
       pam_env.conf, environment - файлы конфигурации переменных окружения

DESCRIPTION
       Файл /etc/security/pam_env.conf определяет переменные окружения, которые
       должны быть установлены, удалены или изменены модулем pam_env(8). Когда
       пользователь входит в систему, этот файл читается и переменные окружения
       устанавливаются соответственно.

       Каждая строка начинается с имени переменной, после чего могут следовать
       две опции: DEFAULT и OVERRIDE. Опция DEFAULT позволяет администратору
       установить значение переменной по умолчанию, если оно не указано, то
       предполагается пустая строка. Опция OVERRIDE указывает pam_env, что
       следует использовать её значение (переопределяя значение по умолчанию),
       если оно доступно. Если OVERRIDE не используется, то предполагается "",
       и переопределение не выполняется.

       VARIABLE [DEFAULT=[value]] [OVERRIDE=[value]]

       (Возможно, несуществующие) переменные окружения могут использоваться в
       значениях с помощью синтаксиса ${string}, а также (возможно,
       несуществующие) PAM_ITEMs, а также HOME и SHELL могут использоваться в
       значениях с помощью синтаксиса @{string}. Символы $ и @ могут быть
       экранированы обратным слешем для использования как литеральные значения.
       Значения могут быть заключены в "", экранирование " не поддерживается.
       Обратите внимание, что многие переменные окружения, которые вы хотели бы
       использовать, могут не быть установлены к моменту вызова модуля. Например,
       ${HOME} используется ниже несколько раз, но многие приложения PAM не
       делают его доступным к тому моменту, когда оно вам понадобится. Специальные
       переменные @{HOME} и @{SHELL} расширяются до значений для пользователя из
       соответствующей записи passwd.

       Символ "#" в начале строки (без пробела в начале) может использоваться
       для пометки этой строки как комментария.

       Файл /etc/environment определяет переменные окружения, которые должны
       быть установлены. Файл должен состоять из простых пар NAME=VALUE на
       отдельных строках. Модуль pam_env(8) прочитает этот файл после файла
       pam_env.conf.

EXAMPLES
       Вот некоторые примеры строк, которые могут быть указаны в
       /etc/security/pam_env.conf.

       Установка переменной REMOTEHOST для любых удалённых хостов, по умолчанию
       "localhost", а не отсутствие установки

		 REMOTEHOST	DEFAULT=localhost OVERRIDE=@{PAM_RHOST}


       Установка переменной DISPLAY, если это разумно

		 DISPLAY	DEFAULT=${REMOTEHOST}:0.0 OVERRIDE=${DISPLAY}


       Теперь несколько простых переменных

		 PAGER		DEFAULT=less
		 MANPAGER	DEFAULT=less
		 LESS		DEFAULT="M q e h15 z23 b80"
		 NNTPSERVER	DEFAULT=localhost
		 PATH		DEFAULT=${HOME}/bin:/usr/local/bin:/bin\
		 :/usr/bin:/usr/local/bin/X11:/usr/bin/X11
		 XDG_DATA_HOME	DEFAULT=@{HOME}/share/


       Глупые примеры экранированных переменных, просто чтобы показать, как они
       работают.

		 DOLLAR		DEFAULT=\$
		 DOLLARDOLLAR	DEFAULT=	OVERRIDE=\$${DOLLAR}
		 DOLLARPLUS	DEFAULT=\${REMOTEHOST}${REMOTEHOST}
		 ATSIGN		DEFAULT=""	OVERRIDE=\@


SEE ALSO
       pam_env(8), pam.d(5), pam(8), environ(7)

AUTHOR
       pam_env был написан Dave Kinchlea <kinch@kinch.ark.com>.



Linux-PAM			  05/12/2025		       PAM_ENV.CONF(5)
PAM_ENV.CONF(5)		       Linux-PAM Manual		       PAM_ENV.CONF(5)



NAME
       pam_env.conf, environment - the environment variables config files

DESCRIPTION
       The /etc/security/pam_env.conf file specifies the environment variables
       to be set, unset or modified by pam_env(8). When someone logs in, this
       file is read and the environment variables are set according.

       Each line starts with the variable name, there are then two possible
       options for each variable DEFAULT and OVERRIDE. DEFAULT allows an
       administrator to set the value of the variable to some default value,
       if none is supplied then the empty string is assumed. The OVERRIDE
       option tells pam_env that it should enter in its value (overriding the
       default value) if there is one to use. When OVERRIDE is not used, "" is
       assumed and no override will be done.

       VARIABLE [DEFAULT=[value]] [OVERRIDE=[value]]

       (Possibly non-existent) environment variables may be used in values
       using the ${string} syntax and (possibly non-existent) PAM_ITEMs as
       well as HOME and SHELL may be used in values using the @{string}
       syntax. Both the $ and @ characters can be backslash escaped to be used
       as literal values values can be delimited with "", escaped " not
       supported. Note that many environment variables that you would like to
       use may not be set by the time the module is called. For example,
       ${HOME} is used below several times, but many PAM applications don't
       make it available by the time you need it. The special variables
       @{HOME} and @{SHELL} are expanded to the values for the user from the
       corresponding passwd entry.

       The "#" character at start of line (no space at front) can be used to
       mark this line as a comment line.

       The /etc/environment file specifies the environment variables to be
       set. The file must consist of simple NAME=VALUE pairs on separate
       lines. The pam_env(8) module will read the file after the pam_env.conf
       file.

EXAMPLES
       These are some example lines which might be specified in
       /etc/security/pam_env.conf.

       Set the REMOTEHOST variable for any hosts that are remote, default to
       "localhost" rather than not being set at all

		 REMOTEHOST	DEFAULT=localhost OVERRIDE=@{PAM_RHOST}


       Set the DISPLAY variable if it seems reasonable

		 DISPLAY	DEFAULT=${REMOTEHOST}:0.0 OVERRIDE=${DISPLAY}


       Now some simple variables

		 PAGER		DEFAULT=less
		 MANPAGER	DEFAULT=less
		 LESS		DEFAULT="M q e h15 z23 b80"
		 NNTPSERVER	DEFAULT=localhost
		 PATH		DEFAULT=${HOME}/bin:/usr/local/bin:/bin\
		 :/usr/bin:/usr/local/bin/X11:/usr/bin/X11
		 XDG_DATA_HOME	DEFAULT=@{HOME}/share/


       Silly examples of escaped variables, just to show how they work.

		 DOLLAR		DEFAULT=\$
		 DOLLARDOLLAR	DEFAULT=	OVERRIDE=\$${DOLLAR}
		 DOLLARPLUS	DEFAULT=\${REMOTEHOST}${REMOTEHOST}
		 ATSIGN		DEFAULT=""	OVERRIDE=\@


SEE ALSO
       pam_env(8), pam.d(5), pam(8), environ(7)

AUTHOR
       pam_env was written by Dave Kinchlea <kinch@kinch.ark.com>.



Linux-PAM			  05/12/2025		       PAM_ENV.CONF(5)

PAM_LOGINUID(8)		       Руководство Linux-PAM		       PAM_LOGINUID(8)



NAME
       pam_loginuid - Запись UID входа пользователя в атрибут процесса

SYNOPSIS
       pam_loginuid.so [require_auditd]

DESCRIPTION
       Модуль pam_loginuid устанавливает атрибут loginuid процесса для процесса,
       который был аутентифицирован. Это необходимо для того, чтобы приложения
       корректно аудитировались. Этот модуль PAM следует использовать только для
       приложений точек входа, таких как: login, sshd, gdm, vsftpd, crond и atd. Вероятно,
       существуют и другие приложения точек входа помимо этих. Не следует
       использовать его для приложений, таких как sudo или su, поскольку это нарушает
       цель, изменяя loginuid на учетную запись, в которую только что перешли.

OPTIONS
       require_auditd
	   Эта опция, когда она указана, заставит этот модуль запросить статус
	   демона аудита и запретить входы, если он не запущен.

MODULE TYPES PROVIDED
       Предоставляется только тип модуля session.

RETURN VALUES
       PAM_SUCCESS
	   Значение loginuid установлено, и auditd запущен, если запрошена проверка.

       PAM_IGNORE
	   Файл /proc/self/loginuid отсутствует в системе или процесс входа работает
	   внутри пространства имен UID и ядро не поддерживает перезапись loginuid.

       PAM_SESSION_ERR
	   Любая другая ошибка помешала установить loginuid или auditd не запущен.

EXAMPLES
	   #%PAM-1.0
	   auth       required    pam_unix.so
	   auth       required    pam_nologin.so
	   account    required    pam_unix.so
	   password   required    pam_unix.so
	   session    required    pam_unix.so
	   session    required    pam_loginuid.so


SEE ALSO
       pam.conf(5), pam.d(5), pam(8), auditctl(8), auditd(8)

AUTHOR
       pam_loginuid был написан Steve Grubb <sgrubb@redhat.com>



Linux-PAM			  05/12/2025		       PAM_LOGINUID(8)
PAM_LOGINUID(8)		       Linux-PAM Manual		       PAM_LOGINUID(8)



NAME
       pam_loginuid - Record user's login uid to the process attribute

SYNOPSIS
       pam_loginuid.so [require_auditd]

DESCRIPTION
       The pam_loginuid module sets the loginuid process attribute for the
       process that was authenticated. This is necessary for applications to
       be correctly audited. This PAM module should only be used for entry
       point applications like: login, sshd, gdm, vsftpd, crond and atd. There
       are probably other entry point applications besides these. You should
       not use it for applications like sudo or su as that defeats the purpose
       by changing the loginuid to the account they just switched to.

OPTIONS
       require_auditd
	   This option, when given, will cause this module to query the audit
	   daemon status and deny logins if it is not running.

MODULE TYPES PROVIDED
       Only the session module type is provided.

RETURN VALUES
       PAM_SUCCESS
	   The loginuid value is set and auditd is running if check requested.

       PAM_IGNORE
	   The /proc/self/loginuid file is not present on the system or the
	   login process runs inside uid namespace and kernel does not support
	   overwriting loginuid.

       PAM_SESSION_ERR
	   Any other error prevented setting loginuid or auditd is not
	   running.

EXAMPLES
	   #%PAM-1.0
	   auth	      required	   pam_unix.so
	   auth	      required	   pam_nologin.so
	   account    required	   pam_unix.so
	   password   required	   pam_unix.so
	   session    required	   pam_unix.so
	   session    required	   pam_loginuid.so


SEE ALSO
       pam.conf(5), pam.d(5), pam(8), auditctl(8), auditd(8)

AUTHOR
       pam_loginuid was written by Steve Grubb <sgrubb@redhat.com>



Linux-PAM			  05/12/2025		       PAM_LOGINUID(8)

PAM_PERMIT(8)		       Linux-PAM Manual			 PAM_PERMIT(8)



NAME
       pam_permit - Модуль, всегда разрешающий доступ

SYNOPSIS
       pam_permit.so

DESCRIPTION
       pam_permit — это модуль PAM, который всегда разрешает доступ. Он ничего больше не делает.

       В случае аутентификации, имя пользователя будет установлено как nobody, если приложение не установило его. Многие приложения и модули PAM могут запутаться, если это имя неизвестно.

       Этот модуль очень опасен. Его следует использовать с крайней осторожностью.

OPTIONS
       Этот модуль не распознает никаких опций.

MODULE TYPES PROVIDED
       Предоставляются типы модулей auth, account, password и session.

RETURN VALUES
       PAM_SUCCESS
	   Этот модуль всегда возвращает это значение.

EXAMPLES
       Добавьте эту строку в другие записи входа, чтобы отключить управление учетными записями, но продолжить разрешать пользователям вход.

	   account  required  pam_permit.so



SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_permit был написан Andrew G. Morgan, <morgan@kernel.org>.



Linux-PAM			  05/12/2025			 PAM_PERMIT(8)
PAM_PERMIT(8)		       Linux-PAM Manual			 PAM_PERMIT(8)



NAME
       pam_permit - The promiscuous module

SYNOPSIS
       pam_permit.so

DESCRIPTION
       pam_permit is a PAM module that always permit access. It does nothing
       else.

       In the case of authentication, the user's name will be set to nobody if
       the application didn't set one. Many applications and PAM modules
       become confused if this name is unknown.

       This module is very dangerous. It should be used with extreme caution.

OPTIONS
       This module does not recognise any options.

MODULE TYPES PROVIDED
       The auth, account, password and session module types are provided.

RETURN VALUES
       PAM_SUCCESS
	   This module always returns this value.

EXAMPLES
       Add this line to your other login entries to disable account
       management, but continue to permit users to log in.

	   account  required  pam_permit.so



SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_permit was written by Andrew G. Morgan, <morgan@kernel.org>.



Linux-PAM			  05/12/2025			 PAM_PERMIT(8)

TIME.CONF(5)		       Linux-PAM Manual			  TIME.CONF(5)



NAME
       time.conf - файл конфигурации для модуля pam_time

DESCRIPTION
       Модуль PAM pam_time не аутентифицирует пользователя, а вместо этого
       ограничивает доступ к системе и/или конкретным приложениям в различные
       времена суток и на определенные дни или через различные терминалы.
       Этот модуль может быть настроен для запрета доступа к (индивидуальным)
       пользователям на основе их имени, времени суток, дня недели,
       используемой службы и терминала, с которого они делают запрос.

       Для корректной работы этого модуля должен присутствовать правильно
       отформатированный файл /etc/security/time.conf. Пробелы игнорируются,
       и строки могут быть продолжены с помощью '\' (экранированных переносов
       строк). Текст после '#' игнорируется до конца строки.

       Синтаксис строк следующий:

       services;ttys;users;times

       Иными словами, каждое правило занимает одну строку, заканчивающуюся
       новой строкой или началом комментария; '#'. В строке содержится четыре
       поля, разделенных точками с запятой ';'.

       Первое поле, поле services, является логическим списком имен служб PAM,
       к которым применяется правило.

       Второе поле, поле tty, является логическим списком имен терминалов,
       к которым применяется это правило.

       Третье поле, поле users, является логическим списком пользователей или
       netgroup пользователей, к которым применяется это правило.

       Логический список подразумевает отдельные токены, которые опционально
       предваряются '!' (логическое отрицание) и разделяются '&' (логическое
       и) и '|' (логическое или).

       Для этих элементов простой шаблон '*' может быть использован только
       один раз. Для netgroup шаблоны или логические операторы не допускаются.

       Поле times используется для указания времен, в которые применяется это
       правило. Формат здесь — логический список записей день/диапазон-времени.
       Дни указываются последовательностью двухсимвольных записей, например,
       MoTuSa для понедельника, вторника и субботы. Обратите внимание, что
       повторяющиеся дни отменяются (MoMo = ни одного дня), и MoWk = все
       будни, кроме понедельника. Принимаемые двухсимвольные комбинации —
       Mo Tu We Th Fr Sa Su Wk Wd Al, где последние две — выходные дни и все
       7 дней недели соответственно. В качестве примера, AlFr означает все
       дни, кроме пятницы.

       Каждая запись день/диапазон-времени может быть предварена '!' для
       указания "все, кроме". Часть диапазона-времени состоит из двух
       времен в формате 24-часового HHMM, разделенных дефисом, указывающих
       начало и конец времени (если конечное время меньше начального, оно
       считается применимым на следующий день).

       Для активации правила ВСЕ из service+ttys+users должны быть
       удовлетворены для применяемого процесса.

       Обратите внимание, в настоящее время нет демона, обеспечивающего
       завершение сессии. Это нужно исправить.

       Неправильно отформатированные правила логируются как ошибки с помощью
       syslog(3).

EXAMPLES
       Вот некоторые примеры строк, которые могут быть указаны в
       /etc/security/time.conf.

       Всем пользователям, кроме root, запрещен доступ к консольному входу
       во все времена:

	   login ; tty* & !ttyp* ; !root ; !Al0000-2400


       Игры (настроенные на использование PAM) доступны только вне рабочего
       времени. Это правило не применяется к пользователю waster:

	   games ; * ; !waster ; Wd0000-2400 | Wk1800-0800



SEE ALSO
       pam_time(8), pam.d(5), pam(8)

AUTHOR
       pam_time был написан Andrew G. Morgan <morgan@kernel.org>.



Linux-PAM			  05/12/2025			  TIME.CONF(5)
TIME.CONF(5)		       Linux-PAM Manual			  TIME.CONF(5)



NAME
       time.conf - configuration file for the pam_time module

DESCRIPTION
       The pam_time PAM module does not authenticate the user, but instead it
       restricts access to a system and or specific applications at various
       times of the day and on specific days or over various terminal lines.
       This module can be configured to deny access to (individual) users
       based on their name, the time of day, the day of week, the service they
       are applying for and their terminal from which they are making their
       request.

       For this module to function correctly there must be a correctly
       formatted /etc/security/time.conf file present. White spaces are
       ignored and lines maybe extended with '\' (escaped newlines). Text
       following a '#' is ignored to the end of the line.

       The syntax of the lines is as follows:

       services;ttys;users;times

       In words, each rule occupies a line, terminated with a newline or the
       beginning of a comment; a '#'. It contains four fields separated with
       semicolons, ';'.

       The first field, the services field, is a logic list of PAM service
       names that the rule applies to.

       The second field, the tty field, is a logic list of terminal names that
       this rule applies to.

       The third field, the users field, is a logic list of users or a
       netgroup of users to whom this rule applies.

       A logic list namely means individual tokens that are optionally
       prefixed with '!' (logical not) and separated with '&' (logical and)
       and '|' (logical or).

       For these items the simple wildcard '*' may be used only once. With
       netgroups no wildcards or logic operators are allowed.

       The times field is used to indicate the times at which this rule
       applies. The format here is a logic list of day/time-range entries. The
       days are specified by a sequence of two character entries, MoTuSa for
       example is Monday Tuesday and Saturday. Note that repeated days are
       unset MoMo = no day, and MoWk = all weekdays bar Monday. The two
       character combinations accepted are Mo Tu We Th Fr Sa Su Wk Wd Al, the
       last two being week-end days and all 7 days of the week respectively.
       As a final example, AlFr means all days except Friday.

       Each day/time-range can be prefixed with a '!' to indicate "anything
       but". The time-range part is two 24-hour times HHMM, separated by a
       hyphen, indicating the start and finish time (if the finish time is
       smaller than the start time it is deemed to apply on the following
       day).

       For a rule to be active, ALL of service+ttys+users must be satisfied by
       the applying process.

       Note, currently there is no daemon enforcing the end of a session. This
       needs to be remedied.

       Poorly formatted rules are logged as errors using syslog(3).

EXAMPLES
       These are some example lines which might be specified in
       /etc/security/time.conf.

       All users except for root are denied access to console-login at all
       times:

	   login ; tty* & !ttyp* ; !root ; !Al0000-2400


       Games (configured to use PAM) are only to be accessed out of working
       hours. This rule does not apply to the user waster:

	   games ; * ; !waster ; Wd0000-2400 | Wk1800-0800



SEE ALSO
       pam_time(8), pam.d(5), pam(8)

AUTHOR
       pam_time was written by Andrew G. Morgan <morgan@kernel.org>.



Linux-PAM			  05/12/2025			  TIME.CONF(5)

PAM_XAUTH(8)		       Руководство Linux-PAM			  PAM_XAUTH(8)



NAME
       pam_xauth - модуль PAM для перенаправления ключей xauth между пользователями

SYNOPSIS
       pam_xauth.so [debug] [xauthpath=/path/to/xauth] [systemuser=UID]
		    [targetuser=UID]

DESCRIPTION
       Модуль PAM pam_xauth предназначен для перенаправления ключей xauth (иногда
       называемых "cookies") между пользователями.

       Без pam_xauth, когда xauth включен и пользователь использует команду su(1)
       для принятия привилегий другого пользователя, этот пользователь больше не
       может получить доступ к дисплею X исходного пользователя, поскольку новый
       пользователь не имеет необходимого ключа для доступа к дисплею. pam_xauth
       решает эту проблему, перенаправляя ключ от пользователя, запускающего su
       (исходного пользователя), к пользователю, чью идентичность принимает
       исходный пользователь (целевой пользователь), при создании сеанса, и
       уничтожает ключ при завершении сеанса.

       Это означает, например, что при запуске su(1) из сеанса xterm вы сможете
       запускать программы X без явного использования команды xauth(1) или файлов
       ~/.Xauthority.

       pam_xauth будет перенаправлять ключи только в том случае, если xauth может
       перечислить ключ, связанный с переменной среды $DISPLAY.

       Простой контроль доступа обеспечивается с помощью файла ~/.xauth/export в
       домашнем каталоге вызывающего пользователя и файла ~/.xauth/import в
       домашнем каталоге целевого пользователя.

       Если у пользователя есть файл ~/.xauth/import, он будет получать cookies
       только от пользователей, перечисленных в файле. Если файла ~/.xauth/import
       нет, пользователь будет принимать cookies от любого другого пользователя.

       Если у пользователя есть файл ~/.xauth/export, он будет перенаправлять
       cookies только пользователям, перечисленным в файле. Если файла
       ~/.xauth/export нет, и вызывающий пользователь не является root, пользователь
       будет перенаправлять cookies любому другому пользователю. Если файла
       ~/.xauth/export нет, и вызывающий пользователь является root, пользователь
       не будет перенаправлять cookies другим пользователям.

       Оба файла import и export поддерживают подстановочные знаки (такие как *).
       Оба файла import и export могут быть пустыми, что означает, что никакие
       пользователи не допускаются.

OPTIONS
       debug
	   Выводить информацию отладки.

       xauthpath=/path/to/xauth
	   Указать путь к программе xauth (по умолчанию ожидается в
	   /usr/X11R6/bin/xauth, /usr/bin/xauth или /usr/bin/X11/xauth).

       systemuser=UID
	   Указать наивысший UID, который будет считаться принадлежащим
	   "системному" пользователю. pam_xauth откажется перенаправлять
	   учетные данные пользователям с UID меньше или равным этому числу,
	   за исключением root и "targetuser", если он указан.

       targetuser=UID
	   Указать единственный целевой UID, который будет исключен из проверки
	   systemuser.

MODULE TYPES PROVIDED
       Предоставляется только тип сеанса.

RETURN VALUES
       PAM_BUF_ERR
	   Ошибка буфера памяти.

       PAM_PERM_DENIED
	   Доступ запрещен файлом import/export.

       PAM_SESSION_ERR
	   Не удается определить имя пользователя, UID или получить доступ к
	   домашнему каталогу пользователя.

       PAM_SUCCESS
	   Успех.

       PAM_USER_UNKNOWN
	   Пользователь не известен.

EXAMPLES
       Добавьте следующую строку в /etc/pam.d/su для перенаправления ключей xauth
       между пользователями при вызове su:

	   session  optional  pam_xauth.so



IMPLEMENTATION DETAILS
       pam_xauth будет работать только если он используется из приложения с
       установкой setuid, в котором вызов getuid() возвращает идентификатор
       пользователя, запускающего приложение, и для которого PAM может предоставить
       имя учетной записи, которую пользователь пытается принять. Типичным
       приложением этого типа является su(1). Приложение должно вызывать как
       pam_open_session(), так и pam_close_session() с ruid, установленным на uid
       вызывающего пользователя, и euid, установленным на root, и должно
       предоставить в качестве элемента PAM_USER имя целевого пользователя.

       pam_xauth вызывает xauth(1) от имени исходного пользователя для извлечения
       ключа для $DISPLAY, затем вызывает xauth от имени целевого пользователя для
       слияния ключа в временную базу данных и последующего удаления базы данных.

       pam_xauth нельзя указать не удалять ключи при закрытии сеанса.

FILES
       ~/.xauth/import
	   [Описание отсутствует]

       ~/.xauth/export
	   [Описание отсутствует]

SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_xauth был написан Nalin Dahyabhai <nalin@redhat.com> на основе
       оригинальной версии Michael K. Johnson <johnsonm@redhat.com>.



Linux-PAM			  05/12/2025			  PAM_XAUTH(8)
PAM_XAUTH(8)		       Linux-PAM Manual			  PAM_XAUTH(8)



NAME
       pam_xauth - PAM module to forward xauth keys between users

SYNOPSIS
       pam_xauth.so [debug] [xauthpath=/path/to/xauth] [systemuser=UID]
		    [targetuser=UID]

DESCRIPTION
       The pam_xauth PAM module is designed to forward xauth keys (sometimes
       referred to as "cookies") between users.

       Without pam_xauth, when xauth is enabled and a user uses the su(1)
       command to assume another user's privileges, that user is no longer
       able to access the original user's X display because the new user does
       not have the key needed to access the display. pam_xauth solves the
       problem by forwarding the key from the user running su (the source
       user) to the user whose identity the source user is assuming (the
       target user) when the session is created, and destroying the key when
       the session is torn down.

       This means, for example, that when you run su(1) from an xterm session,
       you will be able to run X programs without explicitly dealing with the
       xauth(1) xauth command or ~/.Xauthority files.

       pam_xauth will only forward keys if xauth can list a key connected to
       the $DISPLAY environment variable.

       Primitive access control is provided by ~/.xauth/export in the invoking
       user's home directory and ~/.xauth/import in the target user's home
       directory.

       If a user has a ~/.xauth/import file, the user will only receive
       cookies from users listed in the file. If there is no ~/.xauth/import
       file, the user will accept cookies from any other user.

       If a user has a .xauth/export file, the user will only forward cookies
       to users listed in the file. If there is no ~/.xauth/export file, and
       the invoking user is not root, the user will forward cookies to any
       other user. If there is no ~/.xauth/export file, and the invoking user
       is root, the user will not forward cookies to other users.

       Both the import and export files support wildcards (such as *). Both
       the import and export files can be empty, signifying that no users are
       allowed.

OPTIONS
       debug
	   Print debug information.

       xauthpath=/path/to/xauth
	   Specify the path the xauth program (it is expected in
	   /usr/X11R6/bin/xauth, /usr/bin/xauth, or /usr/bin/X11/xauth by
	   default).

       systemuser=UID
	   Specify the highest UID which will be assumed to belong to a
	   "system" user. pam_xauth will refuse to forward credentials to
	   users with UID less than or equal to this number, except for root
	   and the "targetuser", if specified.

       targetuser=UID
	   Specify a single target UID which is exempt from the systemuser
	   check.

MODULE TYPES PROVIDED
       Only the session type is provided.

RETURN VALUES
       PAM_BUF_ERR
	   Memory buffer error.

       PAM_PERM_DENIED
	   Permission denied by import/export file.

       PAM_SESSION_ERR
	   Cannot determine user name, UID or access users home directory.

       PAM_SUCCESS
	   Success.

       PAM_USER_UNKNOWN
	   User not known.

EXAMPLES
       Add the following line to /etc/pam.d/su to forward xauth keys between
       users when calling su:

	   session  optional  pam_xauth.so



IMPLEMENTATION DETAILS
       pam_xauth will work only if it is used from a setuid application in
       which the getuid() call returns the id of the user running the
       application, and for which PAM can supply the name of the account that
       the user is attempting to assume. The typical application of this type
       is su(1). The application must call both pam_open_session() and
       pam_close_session() with the ruid set to the uid of the calling user
       and the euid set to root, and must have provided as the PAM_USER item
       the name of the target user.

       pam_xauth calls xauth(1) as the source user to extract the key for
       $DISPLAY, then calls xauth as the target user to merge the key into the
       a temporary database and later remove the database.

       pam_xauth cannot be told to not remove the keys when the session is
       closed.

FILES
       ~/.xauth/import
	   XXX

       ~/.xauth/export
	   XXX

SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_xauth was written by Nalin Dahyabhai <nalin@redhat.com>, based on
       original version by Michael K. Johnson <johnsonm@redhat.com>.



Linux-PAM			  05/12/2025			  PAM_XAUTH(8)

PAM_SECURETTY(8)       Руководство Linux-PAM		      PAM_SECURETTY(8)



NAME
       pam_securetty - Ограничение входа root только на специальные устройства

SYNOPSIS
       pam_securetty.so [debug]

DESCRIPTION
       pam_securetty — это модуль PAM, который позволяет вход root только если
       пользователь входит на "secure" tty, как определено в списке в файле
       securetty. pam_securetty сначала проверяет, существует ли /etc/securetty.
       Если нет и модуль был построен с поддержкой vendordir, он будет использовать
       /securetty. pam_securetty также проверяет, что файлы securetty являются
       обычными файлами и не доступны для записи всем. Он также позволит вход root
       на tty, указанный с помощью параметра console= в командной строке ядра, и
       на ttys из /sys/class/tty/console/active.

       Этот модуль не влияет на не-root пользователей и требует, чтобы приложение
       правильно заполняло элемент PAM_TTY.

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

OPTIONS
       debug
	   Выводить отладочную информацию.

       noconsole
	   Не автоматически разрешать вход root на устройство консоли ядра,
	   как указано в командной строке ядра или в файле sys, если оно не
	   указано также в файле securetty.

MODULE TYPES PROVIDED
       Предоставляется только тип модуля auth.

RETURN VALUES
       PAM_SUCCESS
	   Пользователь может продолжить аутентификацию. Либо пользователь не
	   является root, либо пользователь root пытается войти на приемлемое
	   устройство.

       PAM_AUTH_ERR
	   Аутентификация отклонена. Либо root пытается войти через
	   неприемлемое устройство, либо файл securetty доступен для записи всем
	   или не является обычным файлом.

       PAM_BUF_ERR
	   Ошибка буфера памяти.

       PAM_CONV_ERR
	   Метод разговора, предоставленный приложением, не смог получить имя
	   пользователя.

       PAM_INCOMPLETE
	   Метод разговора, предоставленный приложением, вернул PAM_CONV_AGAIN.

       PAM_SERVICE_ERR
	   Произошла ошибка при определении имени пользователя или tty модулем,
	   или модуль не смог открыть файл securetty.

       PAM_USER_UNKNOWN
	   Модуль не смог найти имя пользователя в файле /etc/passwd для
	   проверки, имеет ли пользователь UID равным 0. Поэтому результаты
	   работы этого модуля игнорируются.

EXAMPLES
	   auth	 required  pam_securetty.so
	   auth	 required  pam_unix.so



SEE ALSO
       securetty(5), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_securetty был написан Elliot Lee <sopwith@cuc.edu>.



Linux-PAM			  05/12/2025		      PAM_SECURETTY(8)
PAM_SECURETTY(8)	       Linux-PAM Manual		      PAM_SECURETTY(8)



NAME
       pam_securetty - Limit root login to special devices

SYNOPSIS
       pam_securetty.so [debug]

DESCRIPTION
       pam_securetty is a PAM module that allows root logins only if the user
       is logging in on a "secure" tty, as defined by the listing in the
       securetty file. pam_securetty checks at first, if /etc/securetty
       exists. If not and it was built with vendordir support, it will use
       /securetty. pam_securetty also checks that the securetty files are
       plain files and not world writable. It will also allow root logins on
       the tty specified with console= switch on the kernel command line and
       on ttys from the /sys/class/tty/console/active.

       This module has no effect on non-root users and requires that the
       application fills in the PAM_TTY item correctly.

       For canonical usage, should be listed as a required authentication
       method before any sufficient authentication methods.

OPTIONS
       debug
	   Print debug information.

       noconsole
	   Do not automatically allow root logins on the kernel console
	   device, as specified on the kernel command line or by the sys file,
	   if it is not also specified in the securetty file.

MODULE TYPES PROVIDED
       Only the auth module type is provided.

RETURN VALUES
       PAM_SUCCESS
	   The user is allowed to continue authentication. Either the user is
	   not root, or the root user is trying to log in on an acceptable
	   device.

       PAM_AUTH_ERR
	   Authentication is rejected. Either root is attempting to log in via
	   an unacceptable device, or the securetty file is world writable or
	   not a normal file.

       PAM_BUF_ERR
	   Memory buffer error.

       PAM_CONV_ERR
	   The conversation method supplied by the application failed to
	   obtain the username.

       PAM_INCOMPLETE
	   The conversation method supplied by the application returned
	   PAM_CONV_AGAIN.

       PAM_SERVICE_ERR
	   An error occurred while the module was determining the user's name
	   or tty, or the module could not open the securetty file.

       PAM_USER_UNKNOWN
	   The module could not find the user name in the /etc/passwd file to
	   verify whether the user had a UID of 0. Therefore, the results of
	   running this module are ignored.

EXAMPLES
	   auth	 required  pam_securetty.so
	   auth	 required  pam_unix.so



SEE ALSO
       securetty(5), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_securetty was written by Elliot Lee <sopwith@cuc.edu>.



Linux-PAM			  05/12/2025		      PAM_SECURETTY(8)

PAM_SUCCEED_IF(8)	       Linux-PAM Manual		     PAM_SUCCEED_IF(8)



NAME
       pam_succeed_if - проверка характеристик учетной записи

SYNOPSIS
       pam_succeed_if.so [flag...] [condition...]

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

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

OPTIONS
       Поддерживаются следующие флаги:

       debug
	   Включает отладочные сообщения, отправляемые в syslog.

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

       quiet
	   Не фиксировать неудачу или успех в системном журнале.

       quiet_fail
	   Не фиксировать неудачу в системном журнале.

       quiet_success
	   Не фиксировать успех в системном журнале.

       audit
	   Фиксировать неизвестных пользователей в системном журнале.

       Условия состоят из трех слов: поля, теста и значения для проверки.

       Доступные поля: user, uid, gid, shell, home, ruser, rhost, tty и
       service:

       field < number
	   Поле имеет значение, численно меньшее, чем number.

       field <= number
	   Поле имеет значение, численно меньшее или равное number.

       field eq number
	   Поле имеет значение, численно равное number.

       field >= number
	   Поле имеет значение, численно большее или равное number.

       field > number
	   Поле имеет значение, численно большее, чем number.

       field ne number
	   Поле имеет значение, численно отличное от number.

       field = string
	   Поле точно соответствует заданной строке.

       field != string
	   Поле не соответствует заданной строке.

       field =~ glob
	   Поле соответствует заданному шаблону glob.

       field !~ glob
	   Поле не соответствует заданному шаблону glob.

       field in item:item:...
	   Поле содержится в списке элементов, разделенных двоеточиями.

       field notin item:item:...
	   Поле не содержится в списке элементов, разделенных двоеточиями.

       user ingroup group[:group:....]
	   Пользователь находится в указанной(ых) группе(ах).

       user notingroup group[:group:....]
	   Пользователь не находится в указанной(ых) группе(ах).

       user innetgr netgroup
	   (user,host) находится в указанной netgroup.

       user notinnetgr group
	   (user,host) не находится в указанной netgroup.

MODULE TYPES PROVIDED
       Предоставляются все типы модулей (account, auth, password и session).

RETURN VALUES
       PAM_SUCCESS
	   Условие истинно.

       PAM_AUTH_ERR
	   Условие ложно.

       PAM_SERVICE_ERR
	   Произошла ошибка службы или аргументы не могут быть разобраны
	   правильно.

EXAMPLES
       Чтобы эмулировать поведение pam_wheel, за исключением того, что нет
       отката к группе 0, который приблизительно проверяется также через
       членство в группе root:

	   auth required pam_succeed_if.so quiet user ingroup wheel:root


       Если тип соответствует, загружает правило othermodule только в том
       случае, если UID больше 500. Измените число после default, чтобы
       пропустить несколько правил.

	   type [default=1 success=ignore] pam_succeed_if.so quiet uid > 500
	   type required othermodule.so arguments...


SEE ALSO
       glob(7), pam(8)

AUTHOR
       Nalin Dahyabhai <nalin@redhat.com>



Linux-PAM			  05/12/2025		     PAM_SUCCEED_IF(8)
PAM_SUCCEED_IF(8)	       Linux-PAM Manual		     PAM_SUCCEED_IF(8)



NAME
       pam_succeed_if - test account characteristics

SYNOPSIS
       pam_succeed_if.so [flag...] [condition...]

DESCRIPTION
       pam_succeed_if.so is designed to succeed or fail authentication based
       on characteristics of the account belonging to the user being
       authenticated or values of other PAM items. One use is to select
       whether to load other modules based on this test.

       The module should be given one or more conditions as module arguments,
       and authentication will succeed only if all of the conditions are met.

OPTIONS
       The following flags are supported:

       debug
	   Turns on debugging messages sent to syslog.

       use_uid
	   Evaluate conditions using the account of the user whose UID the
	   application is running under instead of the user being
	   authenticated.

       quiet
	   Don't log failure or success to the system log.

       quiet_fail
	   Don't log failure to the system log.

       quiet_success
	   Don't log success to the system log.

       audit
	   Log unknown users to the system log.

       Conditions are three words: a field, a test, and a value to test for.

       Available fields are user, uid, gid, shell, home, ruser, rhost, tty and
       service:

       field < number
	   Field has a value numerically less than number.

       field <= number
	   Field has a value numerically less than or equal to number.

       field eq number
	   Field has a value numerically equal to number.

       field >= number
	   Field has a value numerically greater than or equal to number.

       field > number
	   Field has a value numerically greater than number.

       field ne number
	   Field has a value numerically different from number.

       field = string
	   Field exactly matches the given string.

       field != string
	   Field does not match the given string.

       field =~ glob
	   Field matches the given glob.

       field !~ glob
	   Field does not match the given glob.

       field in item:item:...
	   Field is contained in the list of items separated by colons.

       field notin item:item:...
	   Field is not contained in the list of items separated by colons.

       user ingroup group[:group:....]
	   User is in given group(s).

       user notingroup group[:group:....]
	   User is not in given group(s).

       user innetgr netgroup
	   (user,host) is in given netgroup.

       user notinnetgr group
	   (user,host) is not in given netgroup.

MODULE TYPES PROVIDED
       All module types (account, auth, password and session) are provided.

RETURN VALUES
       PAM_SUCCESS
	   The condition was true.

       PAM_AUTH_ERR
	   The condition was false.

       PAM_SERVICE_ERR
	   A service error occurred or the arguments can't be parsed
	   correctly.

EXAMPLES
       To emulate the behaviour of pam_wheel, except there is no fallback to
       group 0 being only approximated by checking also the root group
       membership:

	   auth required pam_succeed_if.so quiet user ingroup wheel:root


       Given that the type matches, only loads the othermodule rule if the UID
       is over 500. Adjust the number after default to skip several rules.

	   type [default=1 success=ignore] pam_succeed_if.so quiet uid > 500
	   type required othermodule.so arguments...


SEE ALSO
       glob(7), pam(8)

AUTHOR
       Nalin Dahyabhai <nalin@redhat.com>



Linux-PAM			  05/12/2025		     PAM_SUCCEED_IF(8)

PAM_PWHISTORY(8)	       Linux-PAM Manual		      PAM_PWHISTORY(8)



NAME
       pam_pwhistory - Модуль PAM для запоминания последних паролей

SYNOPSIS
       pam_pwhistory.so [debug] [use_authtok] [enforce_for_root] [remember=N]
			[retry=N] [authtok_type=STRING] [file=/path/filename]
			[conf=/path/to/config-file]

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

       Этот модуль не работает с kerberos. В общем, не имеет большого смысла
       использовать этот модуль вместе с NIS или LDAP, поскольку старые пароли
       хранятся на локальной машине и недоступны на другой машине для проверки
       истории паролей.

OPTIONS
       debug
	   Включает отладку через syslog(3).

       use_authtok
	   При изменении пароля заставляет модуль использовать новый пароль,
	   предоставленный ранее загруженным модулем пароля (это используется в
	   примере стека модуля pam_passwdqc, описанном ниже).

       enforce_for_root
	   Если эта опция установлена, проверка применяется также для root.

       remember=N
	   Сохраняются последние N паролей для каждого пользователя. Значение
	   по умолчанию — 10. Значение 0 заставляет модуль оставить существующее
	   содержимое файла opasswd без изменений.

       retry=N
	   Запрашивать у пользователя не более N раз перед возвратом ошибки.
	   Значение по умолчанию — 1.

       authtok_type=STRING
	   См. pam_get_authtok(3) для более подробной информации.

       file=/path/filename
	   Хранить историю паролей в файле /path/filename, а не в расположении
	   по умолчанию. Расположение по умолчанию — /etc/security/opasswd.

       conf=/path/to/config-file
	   Использовать другой файл конфигурации вместо файла по умолчанию
	   /etc/security/pwhistory.conf.

       Опции для настройки поведения модуля описаны в руководстве
       pwhistory.conf(5). Опции, указанные в командной строке модуля,
       переопределяют значения из файла конфигурации.

MODULE TYPES PROVIDED
       Предоставляется только тип модуля password.

RETURN VALUES
       PAM_AUTHTOK_ERR
	   Новый пароль не был введен, пользователь прервал изменение пароля или
	   новый пароль не удалось установить.

       PAM_IGNORE
	   История паролей отключена.

       PAM_MAXTRIES
	   Пароль слишком часто отклонялся.

       PAM_USER_UNKNOWN
	   Пользователь неизвестен системе.

EXAMPLES
       Пример раздела пароля:

	   #%PAM-1.0
	   password	required       pam_pwhistory.so
	   password	required       pam_unix.so	  use_authtok


       В сочетании с pam_passwdqc:

	   #%PAM-1.0
	   password	required       pam_passwdqc.so	  config=/etc/passwdqc.conf
	   password	required       pam_pwhistory.so	  use_authtok
	   password	required       pam_unix.so	  use_authtok



FILES
       /etc/security/opasswd
	   Файл истории паролей по умолчанию

       /etc/security/pwhistory.conf
	   Файл конфигурации для опций pam_pwhistory

SEE ALSO
       pwhistory.conf(5), pam.conf(5), pam.d(5), pam(8) pam_get_authtok(3)

AUTHOR
       pam_pwhistory был написан Thorsten Kukuk <kukuk@thkukuk.de>



Linux-PAM			  05/12/2025		      PAM_PWHISTORY(8)
PAM_PWHISTORY(8)	       Linux-PAM Manual		      PAM_PWHISTORY(8)



NAME
       pam_pwhistory - PAM module to remember last passwords

SYNOPSIS
       pam_pwhistory.so [debug] [use_authtok] [enforce_for_root] [remember=N]
			[retry=N] [authtok_type=STRING] [file=/path/filename]
			[conf=/path/to/config-file]

DESCRIPTION
       This module saves the last passwords for each user in order to force
       password change history and keep the user from alternating between the
       same password too frequently.

       This module does not work together with kerberos. In general, it does
       not make much sense to use this module in conjunction with NIS or LDAP,
       since the old passwords are stored on the local machine and are not
       available on another machine for password history checking.

OPTIONS
       debug
	   Turns on debugging via syslog(3).

       use_authtok
	   When password changing enforce the module to use the new password
	   provided by a previously stacked password module (this is used in
	   the example of the stacking of the pam_passwdqc module documented
	   below).

       enforce_for_root
	   If this option is set, the check is enforced for root, too.

       remember=N
	   The last N passwords for each user are saved. The default is 10.
	   Value of 0 makes the module to keep the existing contents of the
	   opasswd file unchanged.

       retry=N
	   Prompt user at most N times before returning with error. The
	   default is 1.

       authtok_type=STRING
	   See pam_get_authtok(3) for more details.

       file=/path/filename
	   Store password history in file /path/filename rather than the
	   default location. The default location is /etc/security/opasswd.

       conf=/path/to/config-file
	   Use another configuration file instead of the default
	   /etc/security/pwhistory.conf.

       The options for configuring the module behavior are described in the
       pwhistory.conf(5) manual page. The options specified on the module
       command line override the values from the configuration file.

MODULE TYPES PROVIDED
       Only the password module type is provided.

RETURN VALUES
       PAM_AUTHTOK_ERR
	   No new password was entered, the user aborted password change or
	   new password couldn't be set.

       PAM_IGNORE
	   Password history was disabled.

       PAM_MAXTRIES
	   Password was rejected too often.

       PAM_USER_UNKNOWN
	   User is not known to system.

EXAMPLES
       An example password section would be:

	   #%PAM-1.0
	   password	required       pam_pwhistory.so
	   password	required       pam_unix.so	  use_authtok


       In combination with pam_passwdqc:

	   #%PAM-1.0
	   password	required       pam_passwdqc.so	  config=/etc/passwdqc.conf
	   password	required       pam_pwhistory.so	  use_authtok
	   password	required       pam_unix.so	  use_authtok



FILES
       /etc/security/opasswd
	   Default file with password history

       /etc/security/pwhistory.conf
	   Config file for pam_pwhistory options

SEE ALSO
       pwhistory.conf(5), pam.conf(5), pam.d(5), pam(8) pam_get_authtok(3)

AUTHOR
       pam_pwhistory was written by Thorsten Kukuk <kukuk@thkukuk.de>



Linux-PAM			  05/12/2025		      PAM_PWHISTORY(8)

GROUP.CONF(5)		       Руководство Linux-PAM			 GROUP.CONF(5)



NAME
       group.conf - файл конфигурации для модуля pam_group

DESCRIPTION
       Модуль pam_group PAM не аутентифицирует пользователя, а вместо этого
       предоставляет членства в группах (на этапе установки учетных данных
       модуля аутентификации) пользователю. Такие членства основаны на
       сервисе, для которого они запрашиваются.

       Для правильной работы этого модуля должен присутствовать правильно
       отформатированный файл /etc/security/group.conf. Пробелы игнорируются,
       и строки могут быть продолжены с помощью '\' (экранированные
       переносы строк). Текст после '#' игнорируется до конца строки.

       Синтаксис строк следующий:

       services;ttys;users;times;groups

       Первое поле, поле services, является логическим списком имен сервисов
       PAM, к которым применяется правило.

       Второе поле, поле ttys, является логическим списком имен терминалов,
       к которым применяется это правило.

       Третье поле, поле users, является логическим списком пользователей,
       или UNIX-группы, или netgroup пользователей, к которым применяется
       это правило. Имена групп предшествуют символу '%', а имена netgroup -
       символу '@'.

       Логический список подразумевает отдельные токены, которые
       опционально предшествуют '!' (логическое НЕ) и разделяются '&'
       (логическое И) и '|' (логическое ИЛИ).

       Для этих элементов простой шаблон '*' может использоваться только
       один раз. Для UNIX-групп или netgroup шаблоны или логические
       операторы не допускаются.

       Поле times используется для указания "когда" эти группы должны
       предоставляться пользователю. Формат здесь - логический список
       записей день/диапазон-времени. Дни указываются последовательностью
       двухсимвольных записей, например, MoTuSa для понедельника, вторника
       и субботы. Обратите внимание, что повторяющиеся дни сбрасываются
       (MoMo = ни одного дня), и MoWk = все будни кроме понедельника.
       Принимаемые двухсимвольные комбинации: Mo Tu We Th Fr Sa Su Wk Wd Al,
       где последние две - выходные дни и все 7 дней недели соответственно.
       В качестве финального примера, AlFr означает все дни кроме пятницы.

       Каждая запись день/диапазон-времени может предшествовать '!', чтобы
       указать "все, кроме". Часть диапазона-времени - это два времени в
       24-часовом формате HHMM, разделенные дефисом, указывающие время
       начала и окончания (если время окончания меньше времени начала, оно
       считается применимым на следующий день).

       Поле groups является списком групп, разделенных запятыми или
       пробелами, членства в которых наследует пользователь. Эти группы
       добавляются, если предыдущие поля удовлетворены запросом
       пользователя.

       Для активации правила ВСЕ из service+ttys+users должны быть
       удовлетворены применяемым процессом.

EXAMPLES
       Вот некоторые примеры строк, которые могут быть указаны в
       /etc/security/group.conf.

       При запуске 'xsh' на tty* (любой устройстве ttyXXX), пользователю 'us'
       предоставляется доступ к дисководу (через членство в группе floppy)

	   xsh;tty*&!ttyp*;us;Al0000-2400;floppy

       При запуске 'xsh' на tty* (любой устройстве ttyXXX), пользователям
       'sword', 'pike' и 'shield' предоставляется доступ к играм (через
       членство в группе floppy) после рабочего времени.

	   xsh; tty* ;sword|pike|shield;!Wk0900-1800;games, sound
	   xsh; tty* ;*;Al0900-1800;floppy


       Любому члену группы 'admin', запускающему 'xsh' на tty*, предоставляется
       доступ (в любое время) к группе 'plugdev'

	   xsh; tty* ;%admin;Al0000-2400;plugdev


SEE ALSO
       pam_group(8), pam.d(5), pam(8)

AUTHOR
       pam_group был написан Andrew G. Morgan <morgan@kernel.org>.



Linux-PAM			  05/12/2025			 GROUP.CONF(5)
GROUP.CONF(5)		       Linux-PAM Manual			 GROUP.CONF(5)



NAME
       group.conf - configuration file for the pam_group module

DESCRIPTION
       The pam_group PAM module does not authenticate the user, but instead it
       grants group memberships (in the credential setting phase of the
       authentication module) to the user. Such memberships are based on the
       service they are applying for.

       For this module to function correctly there must be a correctly
       formatted /etc/security/group.conf file present. White spaces are
       ignored and lines maybe extended with '\' (escaped newlines). Text
       following a '#' is ignored to the end of the line.

       The syntax of the lines is as follows:

       services;ttys;users;times;groups

       The first field, the services field, is a logic list of PAM service
       names that the rule applies to.

       The second field, the tty field, is a logic list of terminal names that
       this rule applies to.

       The third field, the users field, is a logic list of users, or a UNIX
       group, or a netgroup of users to whom this rule applies. Group names
       are preceded by a '%' symbol, while netgroup names are preceded by a
       '@' symbol.

       A logic list namely means individual tokens that are optionally
       prefixed with '!' (logical not) and separated with '&' (logical and)
       and '|' (logical or).

       For these items the simple wildcard '*' may be used only once. With
       UNIX groups or netgroups no wildcards or logic operators are allowed.

       The times field is used to indicate "when" these groups are to be given
       to the user. The format here is a logic list of day/time-range entries.
       The days are specified by a sequence of two character entries, MoTuSa
       for example is Monday Tuesday and Saturday. Note that repeated days are
       unset MoMo = no day, and MoWk = all weekdays bar Monday. The two
       character combinations accepted are Mo Tu We Th Fr Sa Su Wk Wd Al, the
       last two being week-end days and all 7 days of the week respectively.
       As a final example, AlFr means all days except Friday.

       Each day/time-range can be prefixed with a '!' to indicate "anything
       but". The time-range part is two 24-hour times HHMM, separated by a
       hyphen, indicating the start and finish time (if the finish time is
       smaller than the start time it is deemed to apply on the following
       day).

       The groups field is a comma or space separated list of groups that the
       user inherits membership of. These groups are added if the previous
       fields are satisfied by the user's request.

       For a rule to be active, ALL of service+ttys+users must be satisfied by
       the applying process.

EXAMPLES
       These are some example lines which might be specified in
       /etc/security/group.conf.

       Running 'xsh' on tty* (any ttyXXX device), the user 'us' is given
       access to the floppy (through membership of the floppy group)

	   xsh;tty*&!ttyp*;us;Al0000-2400;floppy

       Running 'xsh' on tty* (any ttyXXX device), the users 'sword', 'pike'
       and 'shield' are given access to games (through membership of the
       floppy group) after work hours.

	   xsh; tty* ;sword|pike|shield;!Wk0900-1800;games, sound
	   xsh; tty* ;*;Al0900-1800;floppy


       Any member of the group 'admin' running 'xsh' on tty*, is granted
       access (at any time) to the group 'plugdev'

	   xsh; tty* ;%admin;Al0000-2400;plugdev


SEE ALSO
       pam_group(8), pam.d(5), pam(8)

AUTHOR
       pam_group was written by Andrew G. Morgan <morgan@kernel.org>.



Linux-PAM			  05/12/2025			 GROUP.CONF(5)

PAM_LIMITS(8)		       Руководство Linux-PAM			 PAM_LIMITS(8)



NAME
       pam_limits - модуль PAM для ограничения ресурсов

SYNOPSIS
       pam_limits.so [conf=/path/to/limits.conf] [debug] [set_all]
		     [utmp_early] [noaudit]

DESCRIPTION
       Модуль PAM pam_limits устанавливает ограничения на системные ресурсы,
       которые могут быть получены в сессии пользователя. Пользователи с uid=0
       также подвержены этим ограничениям.

       По умолчанию ограничения берутся из файла конфигурации /etc/security/limits.conf.
       Затем читаются индивидуальные файлы *.conf из каталога /etc/security/limits.d/.
       Файлы анализируются последовательно в порядке "C" локали. Эффект от
       индивидуальных файлов такой же, как если бы все файлы были объединены
       в один в порядке анализа. Если файл конфигурации явно указан с помощью
       опции модуля, то файлы в указанном выше каталоге не анализируются.

       Модуль не должен вызываться из многопоточного приложения.

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

OPTIONS
       conf=/path/to/limits.conf
	   Указывает альтернативный файл конфигурации в стиле limits.conf для
	   переопределения значения по умолчанию.

       debug
	   Выводить отладочную информацию.

       set_all
	   Устанавливать ограничения, для которых в файле конфигурации не
	   указано значение, на основе значений из процесса с PID 1. Обратите
	   внимание, что если процесс init — это systemd, эти ограничения не
	   будут ограничениями ядра по умолчанию, и эту опцию использовать не
	   следует.

       utmp_early
	   Некоторые проблемные приложения выделяют запись utmp для
	   пользователя до того, как пользователь будет допущен в систему. Если
	   некоторые из служб, для которых вы настраиваете PAM, делают это,
	   вы можете выборочно использовать этот аргумент модуля для
	   компенсации такого поведения и в то же время поддерживать
	   системную согласованность с единым файлом limits.conf.

       noaudit
	   Не сообщать о превышении максимального количества входов в
	   подсистему аудита.

MODULE TYPES PROVIDED
       Предоставляется только тип модуля session.

RETURN VALUES
       PAM_ABORT
	   Невозможно получить текущие ограничения.

       PAM_IGNORE
	   Ограничения для этого пользователя не найдены.

       PAM_PERM_DENIED
	   Невозможно установить новые ограничения.

       PAM_SERVICE_ERR
	   Невозможно прочитать файл конфигурации.

       PAM_SESSION_ERR
	   Ошибка при восстановлении имени учётной записи.

       PAM_SUCCESS
	   Ограничения были изменены.

       PAM_USER_UNKNOWN
	   Пользователь неизвестен системе.

FILES
       /etc/security/limits.conf
	   Файл конфигурации по умолчанию

EXAMPLES
       Для служб, которым требуются ограничения ресурсов (например, login),
       добавьте следующую строку в /etc/pam.d/login как последнюю строку для
       этой службы (обычно после строки сессии pam_unix):

	   #%PAM-1.0
	   #
	   # Ограничения ресурсов, налагаемые на сеансы входа через pam_limits
	   #
	   session  required  pam_limits.so


       Замените "login" для каждой службы, в которой вы используете этот модуль.

SEE ALSO
       limits.conf(5), pam.d(5), pam(8).

AUTHORS
       pam_limits изначально написал Cristian Gafton <gafton@redhat.com>



Linux-PAM			  05/12/2025			 PAM_LIMITS(8)
PAM_LIMITS(8)		       Linux-PAM Manual			 PAM_LIMITS(8)



NAME
       pam_limits - PAM module to limit resources

SYNOPSIS
       pam_limits.so [conf=/path/to/limits.conf] [debug] [set_all]
		     [utmp_early] [noaudit]

DESCRIPTION
       The pam_limits PAM module sets limits on the system resources that can
       be obtained in a user-session. Users of uid=0 are affected by this
       limits, too.

       By default limits are taken from the /etc/security/limits.conf config
       file. Then individual *.conf files from the /etc/security/limits.d/
       directory are read. The files are parsed one after another in the order
       of "C" locale. The effect of the individual files is the same as if all
       the files were concatenated together in the order of parsing. If a
       config file is explicitly specified with a module option then the files
       in the above directory are not parsed.

       The module must not be called by a multithreaded application.

       If Linux PAM is compiled with audit support the module will report when
       it denies access based on limit of maximum number of concurrent login
       sessions.

OPTIONS
       conf=/path/to/limits.conf
	   Indicate an alternative limits.conf style configuration file to
	   override the default.

       debug
	   Print debug information.

       set_all
	   Set the limits for which no value is specified in the configuration
	   file to the one from the process with the PID 1. Please note that
	   if the init process is systemd these limits will not be the kernel
	   default limits and this option should not be used.

       utmp_early
	   Some broken applications actually allocate a utmp entry for the
	   user before the user is admitted to the system. If some of the
	   services you are configuring PAM for do this, you can selectively
	   use this module argument to compensate for this behavior and at the
	   same time maintain system-wide consistency with a single
	   limits.conf file.

       noaudit
	   Do not report exceeded maximum logins count to the audit subsystem.

MODULE TYPES PROVIDED
       Only the session module type is provided.

RETURN VALUES
       PAM_ABORT
	   Cannot get current limits.

       PAM_IGNORE
	   No limits found for this user.

       PAM_PERM_DENIED
	   New limits could not be set.

       PAM_SERVICE_ERR
	   Cannot read config file.

       PAM_SESSION_ERR
	   Error recovering account name.

       PAM_SUCCESS
	   Limits were changed.

       PAM_USER_UNKNOWN
	   The user is not known to the system.

FILES
       /etc/security/limits.conf
	   Default configuration file

EXAMPLES
       For the services you need resources limits (login for example) put a
       the following line in /etc/pam.d/login as the last line for that
       service (usually after the pam_unix session line):

	   #%PAM-1.0
	   #
	   # Resource limits imposed on login sessions via pam_limits
	   #
	   session  required  pam_limits.so


       Replace "login" for each service you are using this module.

SEE ALSO
       limits.conf(5), pam.d(5), pam(8).

AUTHORS
       pam_limits was initially written by Cristian Gafton <gafton@redhat.com>



Linux-PAM			  05/12/2025			 PAM_LIMITS(8)

PAM_STRESS(8)		       Руководство Linux-PAM			 PAM_STRESS(8)



NAME
       pam_stress - Модуль PAM для тестирования на стресс

SYNOPSIS
       pam_stress.so [debug] [no_warn] [use_first_pass] [try_first_pass]
		     [rootok] [expired] [fail_1] [fail_2] [prelim] [required]

DESCRIPTION
       Модуль PAM pam_stress в основном предназначен для имитации сбоев, как
       это может делать полностью функционирующий модуль.

OPTIONS
       debug
	   Выводить много информации в syslog. *ПРИМЕЧАНИЕ* эта опция записывает
	   пароли в syslog, поэтому не используйте ничего конфиденциального при тестировании.

       no_warn
	   Не выдавать предупреждения о проблемах (в противном случае предупреждения выдаются
	   через функцию разговора).

       use_first_pass
	   Не запрашивать пароль, для функции pam_sm_authentication просто использовать элемент
	   PAM_AUTHTOK.

       try_first_pass
	   Не запрашивать пароль, если ранее не было аутентификационного токена
	   (элемент PAM_AUTHTOK равен NULL).

       rootok
	   Это предназначено для функции pam_sm_chauthtok и указывает, что
	   root может изменить пароль пользователя без ввода старого пароля.

       expired
	   Аргумент, предназначенный для частей модуля account и chauthtok. Он
	   указывает модулю вести себя так, как будто пароль пользователя истек.

       fail_1
	   Это указывает модулю сделать первую функцию неудачной.

       fail_2
	   Это указывает модулю сделать вторую функцию (если она существует)
	   неудачной.

       prelim
	   Для pam_sm_chauthtok, означает неудачу на PAM_PRELIM_CHECK.

       required
	   Для pam_sm_chauthtok, означает неудачу, если пользователь не был
	   ранее аутентифицирован этим модулем. (См. строку данных stress_new_pwd в
	   ПРИМЕЧАНИЯХ.)

MODULE TYPES PROVIDED
       Все типы модулей (auth, account, password и session) предоставляются.

RETURN VALUES
       PAM_BUF_ERR
	   Ошибка буфера памяти.

       PAM_PERM_DENIED
	   Доступ запрещен.

       PAM_AUTH_ERR
	   Доступ к системе запрещен.

       PAM_CONV_ERR
	   Сбой разговора.

       PAM_SUCCESS
	   Функция проходит все проверки.

       PAM_USER_UNKNOWN
	   Пользователь неизвестен системе.

       PAM_CRED_ERR
	   Сбой, связанный с учетными данными пользователя.

       PAM_NEW_AUTHTOK_REQD
	   Аутентификационный токен больше недействителен; требуется новый.

       PAM_SESSION_ERR
	   Сбой сессии.

       PAM_TRY_AGAIN
	   Неудачная предварительная проверка сервисом.

       PAM_AUTHTOK_LOCK_BUSY
	   Блокировка аутентификационного токена занята.

       PAM_AUTHTOK_ERR
	   Ошибка манипуляции с аутентификационным токеном.

       PAM_SYSTEM_ERR
	   Системная ошибка.

NOTES
       Этот модуль использует строку данных stress_new_pwd, которая указывает
       pam_sm_chauthtok, что pam_sm_acct_mgmt говорит о необходимости нового пароля. Единственное
       возможное значение для этой строки данных — 'yes'.

EXAMPLES
	   #%PAM-1.0
	   #
	   # Любое из следующих подойдет
	   account  required pam_stress.so
	   auth	    required pam_stress.so
	   password required pam_stress.so
	   session  required pam_stress.so


SEE ALSO
       pam.conf(5), pam.d(5), pam(8).

AUTHORS
       Модуль PAM pam_stress был разработан Andrew Morgan
       <morgan@linux.kernel.org>. Страница руководства для pam_stress была написана
       Lucas Ramage <ramage.lucas@protonmail.com>.



Linux-PAM			  05/12/2025			 PAM_STRESS(8)
PAM_STRESS(8)		       Linux-PAM Manual			 PAM_STRESS(8)



NAME
       pam_stress - The stress-testing PAM module

SYNOPSIS
       pam_stress.so [debug] [no_warn] [use_first_pass] [try_first_pass]
		     [rootok] [expired] [fail_1] [fail_2] [prelim] [required]

DESCRIPTION
       The pam_stress PAM module is mainly intended to give the impression of
       failing as a fully functioning module might.

OPTIONS
       debug
	   Put lots of information in syslog. *NOTE* this option writes
	   passwords to syslog, so don't use anything sensitive when testing.

       no_warn
	   Do not give warnings about things (otherwise warnings are issued
	   via the conversation function)

       use_first_pass
	   Do not prompt for a password, for pam_sm_authentication function
	   just use item PAM_AUTHTOK.

       try_first_pass
	   Do not prompt for a password unless there has been no previous
	   authentication token (item PAM_AUTHTOK is NULL)

       rootok
	   This is intended for the pam_sm_chauthtok function and it instructs
	   this function to permit root to change the user's password without
	   entering the old password.

       expired
	   An argument intended for the account and chauthtok module parts. It
	   instructs the module to act as if the user's password has expired

       fail_1
	   This instructs the module to make its first function fail.

       fail_2
	   This instructs the module to make its second function (if there is
	   one) fail.

       prelim
	   For pam_sm_chauthtok, means fail on PAM_PRELIM_CHECK.

       required
	   For pam_sm_chauthtok, means fail if the user hasn't already been
	   authenticated by this module. (See stress_new_pwd data string in
	   the NOTES.)

MODULE TYPES PROVIDED
       All module types (auth, account, password and session) are provided.

RETURN VALUES
       PAM_BUF_ERR
	   Memory buffer error.

       PAM_PERM_DENIED
	   Permission denied.

       PAM_AUTH_ERR
	   Access to the system was denied.

       PAM_CONV_ERR
	   Conversation failure.

       PAM_SUCCESS
	   The function passes all checks.

       PAM_USER_UNKNOWN
	   The user is not known to the system.

       PAM_CRED_ERR
	   Failure involving user credentials.

       PAM_NEW_AUTHTOK_REQD
	   Authentication token is no longer valid; new one required.

       PAM_SESSION_ERR
	   Session failure.

       PAM_TRY_AGAIN
	   Failed preliminary check by service.

       PAM_AUTHTOK_LOCK_BUSY
	   Authentication token lock busy.

       PAM_AUTHTOK_ERR
	   Authentication token manipulation error.

       PAM_SYSTEM_ERR
	   System error.

NOTES
       This module uses the stress_new_pwd data string which tells
       pam_sm_chauthtok that pam_sm_acct_mgmt says we need a new password. The
       only possible value for this data string is 'yes'.

EXAMPLES
	   #%PAM-1.0
	   #
	   # Any of the following will suffice
	   account  required pam_stress.so
	   auth	    required pam_stress.so
	   password required pam_stress.so
	   session  required pam_stress.so


SEE ALSO
       pam.conf(5), pam.d(5), pam(8).

AUTHORS
       The pam_stress PAM module was developed by Andrew Morgan
       <morgan@linux.kernel.org>. The man page for pam_stress was written by
       Lucas Ramage <ramage.lucas@protonmail.com>.



Linux-PAM			  05/12/2025			 PAM_STRESS(8)

PAM_NAMESPACE(8)	       Linux-PAM Manual		      PAM_NAMESPACE(8)



NAME
       pam_namespace - модуль PAM для настройки пространства имён для сессии

SYNOPSIS
       pam_namespace.so [debug] [unmnt_remnt] [unmnt_only] [require_selinux]
			[gen_hash] [ignore_config_error]
			[ignore_instance_parent_mode] [unmount_on_close]
			[use_current_context] [use_default_context]
			[mount_private]

DESCRIPTION
       Модуль PAM pam_namespace настраивает частное пространство имён для сессии
       с полиинстанцированными директориями. Полиинстанцированная директория
       предоставляет разный экземпляр самой себя на основе имени пользователя, или,
       при использовании SELinux, на основе имени пользователя, контекста безопасности
       или обоих. Если существует исполняемый скрипт /etc/security/namespace.init,
       он используется для инициализации директории экземпляра после её настройки и
       монтирования на полиинстанцированную директорию. Скрипт получает путь к
       полиинстанцированной директории, путь к директории экземпляра, флаг, указывающий,
       была ли директория экземпляра newly создана (0 для нет, 1 для да), и имя
       пользователя в качестве аргументов. Скрипт вызывается с полными привилегиями
       root и доступ к директории экземпляра в этом контексте должен выполняться
       с осторожностью, так как она контролируется непривилегированным пользователем,
       для которого она была создана.

       Модуль pam_namespace отсоединяет пространство имён сессии от родительского
       пространства имён. Любые операции монтирования/размонтирования, выполненные
       в родительском пространстве имён, такие как монтирование устройств, не
       отражаются в пространстве имён сессии. Чтобы распространить выбранные события
       монтирования/размонтирования из родительского пространства имён в отсоединённое
       пространство имён сессии, администратор может использовать специальную функцию
       shared-subtree. Для дополнительной информации о функции shared-subtree
       обратитесь к странице man mount(8) и описанию shared-subtree на
       http://lwn.net/Articles/159077 и http://lwn.net/Articles/159092.

OPTIONS
       debug
	   Выводится большое количество отладочной информации с помощью syslog

       unmnt_remnt
	   Для программ, таких как su и newrole, сессия входа уже настроила
	   полиинстанцированное пространство имён. Для этих программ
	   полиинстанцирование выполняется на основе нового идентификатора пользователя
	   или контекста безопасности, однако команда сначала должна отменить
	   полиинстанцирование, выполненное при входе. Этот аргумент instructs команду
	   сначала отменить предыдущее полиинстанцирование перед продолжением с новым
	   полиинстанцированием на основе нового идентификатора/контекста

       unmnt_only
	   Для доверенных программ, которые хотят отменить существующие bind-монтирования
	   и самостоятельно обработать директории экземпляров, этот аргумент позволяет
	   им размонтировать текущие смонтированные директории экземпляров

       require_selinux
	   Если selinux не включён, возвращается неудача

       gen_hash
	   Вместо использования строки контекста безопасности для имени экземпляра,
	   генерируется и используется его хэш md5.

       ignore_config_error
	   Если строка в файле конфигурации, соответствующая
	   полиинстанцированной директории, содержит ошибку формата, пропустить эту строку
	   и обработать следующую. Без этой опции pam вернёт ошибку вызывающей программе,
	   что приведёт к завершению сессии.

       ignore_instance_parent_mode
	   Директории родителя экземпляра по умолчанию ожидаются с restrictive режимом 000.
	   С помощью этой опции администратор может выбрать игнорирование режима
	   родителя экземпляра. Эта опция должна использоваться с осторожностью, так как
	   она снизит цели безопасности и изоляции механизма полиинстанцирования.

       unmount_on_close
	   Явно размонтировать полиинстанцированные директории вместо того, чтобы
	   полагаться на автоматическое уничтожение пространства имён после выхода
	   последнего процесса в пространстве имён. Эта опция должна использоваться только
	   в случае, если другими средствами обеспечено, что после закрытия сессии
	   не останется никаких процессов в частном пространстве имён. Она также полезна
	   только в случае, если есть несколько последовательных вызовов pam сессии из
	   одного процесса.

       use_current_context
	   Полезно для служб, которые не изменяют контекст SELinux с помощью вызова
	   setexeccon. Модуль будет использовать текущий контекст SELinux вызывающего
	   процесса для полиинстанцирования уровня и контекста.

       use_default_context
	   Полезно для служб, которые не используют pam_selinux для изменения контекста
	   SELinux с помощью вызова setexeccon. Модуль будет использовать
	   default контекст SELinux пользователя для полиинстанцирования уровня и контекста.

       mount_private
	   Эта опция может использоваться на системах, где точка монтирования / или её
	   подмонтирования сделаны shared (например, с помощью команды mount --make-rshared
	   /). Модуль пометит всё дерево директорий так, чтобы любые операции монтирования
	   и размонтирования в пространстве полиинстанцирования были private. Нормально
	   pam_namespace попытается обнаружить shared точку монтирования / и автоматически
	   сделать полиинстанцированные директории private. Эта опция должна использоваться
	   только когда только поддерево shared и / нет.

	   Обратите внимание, что монтирования и размонтирования, выполненные в private
	   пространстве имён, не повлияют на родительское пространство имён, если эта опция
	   используется или когда shared точка монтирования / autodetected.

MODULE TYPES PROVIDED
       Предоставляется только тип модуля сессии. Модуль не должен вызываться
       из многопоточных процессов.

RETURN VALUES
       PAM_SUCCESS
	   Настройка пространства имён прошла успешно.

       PAM_SERVICE_ERR
	   Произошла неожиданная системная ошибка при настройке пространства имён.

       PAM_SESSION_ERR
	   Произошла неожиданная ошибка конфигурации пространства имён.

FILES
       /etc/security/namespace.conf
	   Основной файл конфигурации

       /etc/security/namespace.d
	   Директория для дополнительных файлов конфигурации

       /etc/security/namespace.init
	   Скрипт инициализации для директорий экземпляров

EXAMPLES
       Для <service>ов, которым требуется полиинстанцирование (например, login), добавьте
       следующую строку в /etc/pam.d/<service> как последнюю строку для группы session:

       session required pam_namespace.so [arguments]

       Чтобы использовать полиинстанцирование с графическим дисплей-менеджером gdm, обратитесь
       к документации gdm.

SEE ALSO
       namespace.conf(5), pam.d(5), mount(8), pam(8).

AUTHORS
       Схема настройки пространства имён была разработана Stephen Smalley, Janak Desai
       и Chad Sellers. Модуль PAM pam_namespace был разработан Janak Desai <janak@us.ibm.com>,
       Chad Sellers <csellers@tresys.com> и Steve Grubb <sgrubb@redhat.com>. Дополнительные
       улучшения от Xavier Toth <txtoth@gmail.com> и Tomas Mraz <tmraz@redhat.com>.



Linux-PAM			  05/12/2025		      PAM_NAMESPACE(8)
PAM_NAMESPACE(8)	       Linux-PAM Manual		      PAM_NAMESPACE(8)



NAME
       pam_namespace - PAM module for configuring namespace for a session

SYNOPSIS
       pam_namespace.so [debug] [unmnt_remnt] [unmnt_only] [require_selinux]
			[gen_hash] [ignore_config_error]
			[ignore_instance_parent_mode] [unmount_on_close]
			[use_current_context] [use_default_context]
			[mount_private]

DESCRIPTION
       The pam_namespace PAM module sets up a private namespace for a session
       with polyinstantiated directories. A polyinstantiated directory
       provides a different instance of itself based on user name, or when
       using SELinux, user name, security context or both. If an executable
       script /etc/security/namespace.init exists, it is used to initialize
       the instance directory after it is set up and mounted on the
       polyinstantiated directory. The script receives the polyinstantiated
       directory path, the instance directory path, flag whether the instance
       directory was newly created (0 for no, 1 for yes), and the user name as
       its arguments. The script is invoked with full root privileges and
       accessing the instance directory in this context needs to be done with
       caution, as it is controlled by the unprivileged user for which it has
       been created.

       The pam_namespace module disassociates the session namespace from the
       parent namespace. Any mounts/unmounts performed in the parent
       namespace, such as mounting of devices, are not reflected in the
       session namespace. To propagate selected mount/unmount events from the
       parent namespace into the disassociated session namespace, an
       administrator may use the special shared-subtree feature. For
       additional information on shared-subtree feature, please refer to the
       mount(8) man page and the shared-subtree description at
       http://lwn.net/Articles/159077 and http://lwn.net/Articles/159092.

OPTIONS
       debug
	   A lot of debug information is logged using syslog

       unmnt_remnt
	   For programs such as su and newrole, the login session has already
	   setup a polyinstantiated namespace. For these programs,
	   polyinstantiation is performed based on new user id or security
	   context, however the command first needs to undo the
	   polyinstantiation performed by login. This argument instructs the
	   command to first undo previous polyinstantiation before proceeding
	   with new polyinstantiation based on new id/context

       unmnt_only
	   For trusted programs that want to undo any existing bind mounts and
	   process instance directories on their own, this argument allows
	   them to unmount currently mounted instance directories

       require_selinux
	   If selinux is not enabled, return failure

       gen_hash
	   Instead of using the security context string for the instance name,
	   generate and use its md5 hash.

       ignore_config_error
	   If a line in the configuration file corresponding to a
	   polyinstantiated directory contains format error, skip that line
	   process the next line. Without this option, pam will return an
	   error to the calling program resulting in termination of the
	   session.

       ignore_instance_parent_mode
	   Instance parent directories by default are expected to have the
	   restrictive mode of 000. Using this option, an administrator can
	   choose to ignore the mode of the instance parent. This option
	   should be used with caution as it will reduce security and
	   isolation goals of the polyinstantiation mechanism.

       unmount_on_close
	   Explicitly unmount the polyinstantiated directories instead of
	   relying on automatic namespace destruction after the last process
	   in a namespace exits. This option should be used only in case it is
	   ensured by other means that there cannot be any processes running
	   in the private namespace left after the session close. It is also
	   useful only in case there are multiple pam session calls in
	   sequence from the same process.

       use_current_context
	   Useful for services which do not change the SELinux context with
	   setexeccon call. The module will use the current SELinux context of
	   the calling process for the level and context polyinstantiation.

       use_default_context
	   Useful for services which do not use pam_selinux for changing the
	   SELinux context with setexeccon call. The module will use the
	   default SELinux context of the user for the level and context
	   polyinstantiation.

       mount_private
	   This option can be used on systems where the / mount point or its
	   submounts are made shared (for example with a mount --make-rshared
	   / command). The module will mark the whole directory tree so any
	   mount and unmount operations in the polyinstantiation namespace are
	   private. Normally the pam_namespace will try to detect the shared /
	   mount point and make the polyinstantiated directories private
	   automatically. This option has to be used just when only a subtree
	   is shared and / is not.

	   Note that mounts and unmounts done in the private namespace will
	   not affect the parent namespace if this option is used or when the
	   shared / mount point is autodetected.

MODULE TYPES PROVIDED
       Only the session module type is provided. The module must not be called
       from multithreaded processes.

RETURN VALUES
       PAM_SUCCESS
	   Namespace setup was successful.

       PAM_SERVICE_ERR
	   Unexpected system error occurred while setting up namespace.

       PAM_SESSION_ERR
	   Unexpected namespace configuration error occurred.

FILES
       /etc/security/namespace.conf
	   Main configuration file

       /etc/security/namespace.d
	   Directory for additional configuration files

       /etc/security/namespace.init
	   Init script for instance directories

EXAMPLES
       For the <service>s you need polyinstantiation (login for example) put
       the following line in /etc/pam.d/<service> as the last line for session
       group:

       session required pam_namespace.so [arguments]

       To use polyinstantiation with graphical display manager gdm, please
       refer to gdm's documentation.

SEE ALSO
       namespace.conf(5), pam.d(5), mount(8), pam(8).

AUTHORS
       The namespace setup scheme was designed by Stephen Smalley, Janak Desai
       and Chad Sellers. The pam_namespace PAM module was developed by Janak
       Desai <janak@us.ibm.com>, Chad Sellers <csellers@tresys.com> and Steve
       Grubb <sgrubb@redhat.com>. Additional improvements by Xavier Toth
       <txtoth@gmail.com> and Tomas Mraz <tmraz@redhat.com>.



Linux-PAM			  05/12/2025		      PAM_NAMESPACE(8)

PAM_ACCESS(8)		       Linux-PAM Manual			 PAM_ACCESS(8)



NAME
       pam_access - модуль PAM для контроля доступа в стиле logdaemon

SYNOPSIS
       pam_access.so [debug] [nodefgroup] [noaudit] [quiet_log]
		     [accessfile=file] [fieldsep=sep] [listsep=sep]

DESCRIPTION
       Модуль PAM pam_access в основном предназначен для управления доступом. Он предоставляет контроль доступа при входе в стиле logdaemon на основе имен входа, имен хостов или доменов, интернет-адресов или номеров сетей, или на основе имен терминалов, значений X $DISPLAY, или имен служб PAM в случае входов не по сети.

       По умолчанию правила для управления доступом берутся из конфигурационного файла /etc/security/access.conf, если вы не укажете другой файл. Затем читаются индивидуальные файлы *.conf из директории /etc/security/access.d/. Файлы разбираются один за другим в порядке системной локали. Эффект от индивидуальных файлов такой же, как если бы все файлы были объединены вместе в порядке разбора. Это означает, что как только шаблон совпадает в каком-то файле, дальнейшие файлы не разбираются. Если конфигурационный файл явно указан с опцией accessfile, файлы в вышеупомянутой директории не разбираются.

       Если Linux PAM скомпилирован с поддержкой аудита, модуль будет сообщать о случаях отказа доступа на основе источника (хост, терминал и т.д.).

OPTIONS
       accessfile=/path/to/access.conf
	   Указывает альтернативный конфигурационный файл в стиле access.conf для переопределения значения по умолчанию. Это может быть полезно, когда разные службы нуждаются в разных списках доступа.

       debug
	   Выводится большое количество отладочной информации с помощью syslog(3).

       noaudit
	   Не сообщать о входах с запрещенных хостов и терминалов в подсистему аудита.

       quiet_log
	   Не фиксировать отказы в syslog(3).

       fieldsep=separators
	   Эта опция изменяет символ разделителя полей, который pam_access будет распознавать при разборе конфигурационного файла доступа. Например: fieldsep=| заставит по умолчанию символ `:' рассматриваться как часть значения поля, а `|' станет разделителем полей. Это может быть полезно в сочетании с системой, которая использует pam_access с приложениями на базе X, поскольку элемент PAM_TTY может иметь форму "hostname:0", которая включает символ `:'. Однако в этом обычно нет необходимости.

       listsep=separators
	   Эта опция изменяет символ разделителя списков, который pam_access будет распознавать при разборе конфигурационного файла доступа. Например: listsep=, заставит по умолчанию символы ` ' (пробел) и `\t' (табуляция) рассматриваться как часть значения элемента списка, а `,' станет единственным разделителем элементов списка. Это может быть полезно на системе, где информация о группах получается из домена Windows, где встроенные группы по умолчанию, такие как "Domain Users", "Domain Admins", содержат пробелы.

       nodefgroup
	   Токены пользователей, не заключенные в скобки, не будут сопоставляться с базой данных групп. По умолчанию для обратной совместимости выполняется попытка сопоставления с базой данных групп даже для токенов, не заключенных в скобки.

MODULE TYPES PROVIDED
       Все типы модулей (auth, account, password и session) предоставляются.

RETURN VALUES
       PAM_SUCCESS
	   Доступ предоставлен.

       PAM_PERM_DENIED
	   Доступ не предоставлен.

       PAM_IGNORE
	   Вызвана pam_setcred, которая ничего не делает.

       PAM_ABORT
	   Не удалось получить все релевантные данные или опции.

       PAM_USER_UNKNOWN
	   Пользователь неизвестен системе.

FILES
       /etc/security/access.conf
	   Конфигурационный файл по умолчанию

SEE ALSO
       access.conf(5), pam.d(5), pam(8).

AUTHORS
       Схема контроля доступа при входе в стиле logdaemon была спроектирована и реализована Wietse Venema. Модуль PAM pam_access был разработан Alexei Nogin <alexei@nogin.dnttm.ru>. Поддержка IPv6 и функция сети(адрес)/маски сети были разработаны и предоставлены Mike Becher <mike.becher@lrz-muenchen.de>.



Linux-PAM			  05/12/2025			 PAM_ACCESS(8)
PAM_ACCESS(8)		       Linux-PAM Manual			 PAM_ACCESS(8)



NAME
       pam_access - PAM module for logdaemon style login access control

SYNOPSIS
       pam_access.so [debug] [nodefgroup] [noaudit] [quiet_log]
		     [accessfile=file] [fieldsep=sep] [listsep=sep]

DESCRIPTION
       The pam_access PAM module is mainly for access management. It provides
       logdaemon style login access control based on login names, host or
       domain names, internet addresses or network numbers, or on terminal
       line names, X $DISPLAY values, or PAM service names in case of
       non-networked logins.

       By default rules for access management are taken from config file
       /etc/security/access.conf if you don't specify another file. Then
       individual *.conf files from the /etc/security/access.d/ directory are
       read. The files are parsed one after another in the order of the system
       locale. The effect of the individual files is the same as if all the
       files were concatenated together in the order of parsing. This means
       that once a pattern is matched in some file no further files are
       parsed. If a config file is explicitly specified with the accessfile
       option the files in the above directory are not parsed.

       If Linux PAM is compiled with audit support the module will report when
       it denies access based on origin (host, tty, etc.).

OPTIONS
       accessfile=/path/to/access.conf
	   Indicate an alternative access.conf style configuration file to
	   override the default. This can be useful when different services
	   need different access lists.

       debug
	   A lot of debug information is printed with syslog(3).

       noaudit
	   Do not report logins from disallowed hosts and ttys to the audit
	   subsystem.

       quiet_log
	   Do not log denials with syslog(3).

       fieldsep=separators
	   This option modifies the field separator character that pam_access
	   will recognize when parsing the access configuration file. For
	   example: fieldsep=| will cause the default `:' character to be
	   treated as part of a field value and `|' becomes the field
	   separator. Doing this may be useful in conjunction with a system
	   that wants to use pam_access with X based applications, since the
	   PAM_TTY item is likely to be of the form "hostname:0" which
	   includes a `:' character in its value. But you should not need
	   this.

       listsep=separators
	   This option modifies the list separator character that pam_access
	   will recognize when parsing the access configuration file. For
	   example: listsep=, will cause the default ` ' (space) and `\t'
	   (tab) characters to be treated as part of a list element value and
	   `,' becomes the only list element separator. Doing this may be
	   useful on a system with group information obtained from a Windows
	   domain, where the default built-in groups "Domain Users", "Domain
	   Admins" contain a space.

       nodefgroup
	   User tokens which are not enclosed in parentheses will not be
	   matched against the group database. The backwards compatible
	   default is to try the group database match even for tokens not
	   enclosed in parentheses.

MODULE TYPES PROVIDED
       All module types (auth, account, password and session) are provided.

RETURN VALUES
       PAM_SUCCESS
	   Access was granted.

       PAM_PERM_DENIED
	   Access was not granted.

       PAM_IGNORE
	   pam_setcred was called which does nothing.

       PAM_ABORT
	   Not all relevant data or options could be gotten.

       PAM_USER_UNKNOWN
	   The user is not known to the system.

FILES
       /etc/security/access.conf
	   Default configuration file

SEE ALSO
       access.conf(5), pam.d(5), pam(8).

AUTHORS
       The logdaemon style login access control scheme was designed and
       implemented by Wietse Venema. The pam_access PAM module was developed
       by Alexei Nogin <alexei@nogin.dnttm.ru>. The IPv6 support and the
       network(address) / netmask feature was developed and provided by Mike
       Becher <mike.becher@lrz-muenchen.de>.



Linux-PAM			  05/12/2025			 PAM_ACCESS(8)

PAM_NAMESPACE_HELPER(8)	       Руководство Linux-PAM	       PAM_NAMESPACE_HELPER(8)



NAME
       pam_namespace_helper - Вспомогательная программа, создающая домашние директории

SYNOPSIS
       pam_namespace_helper

DESCRIPTION
       pam_namespace_helper — это вспомогательная программа для модуля pam_namespace,
       которая настраивает частное пространство имён для сеанса с полиинстанцируемыми
       директориями. Программа обеспечивает существование точек монтирования пространства
       имён перед их использованием для полиинстанцируемых директорий. Точки монтирования
       для домашних директорий (строки с $HOME) не создаются.

       pam_namespace_helper должна запускаться systemd при запуске системы. Её также
       следует запускать администратором после определения полиинстанцируемых директорий,
       но до их активации.

SEE ALSO
       pam_namespace(8)

AUTHOR
       Написано Topi Miettinen.



Linux-PAM			  05/12/2025	       PAM_NAMESPACE_HELPER(8)
PAM_NAMESPACE_HELPER(8)	       Linux-PAM Manual	       PAM_NAMESPACE_HELPER(8)



NAME
       pam_namespace_helper - Helper binary that creates home directories

SYNOPSIS
       pam_namespace_helper

DESCRIPTION
       pam_namespace_helper is a helper program for the pam_namespace module
       that sets up a private namespace for a session with polyinstantiated
       directories. The helper ensures that the namespace mount points exist
       before they are started to be used for the polyinstantiated
       directories. Mount points for home directories (lines with $HOME) are
       not created.

       pam_namespace_helper should be run by systemd at system startup. It
       should also be run by the administrator after defining the
       polyinstantiated directories but before enabling them.

SEE ALSO
       pam_namespace(8)

AUTHOR
       Written by Topi Miettinen.



Linux-PAM			  05/12/2025	       PAM_NAMESPACE_HELPER(8)

PAM_WHEEL(8)		       Руководство Linux-PAM			  PAM_WHEEL(8)



NAME
       pam_wheel - Разрешать доступ root только членам группы wheel

SYNOPSIS
       pam_wheel.so [debug] [deny] [group=name] [root_only] [trust] [use_uid]

DESCRIPTION
       Модуль PAM pam_wheel используется для принудительного использования так называемой группы wheel.
       По умолчанию он разрешает доступ целевому пользователю, если заявитель является членом группы wheel.
       Если группы с таким именем не существует, модуль использует группу с group-ID 0.

OPTIONS
       debug
	   Выводить отладочную информацию.

       deny
	   Изменить смысл операции аутентификации: если пользователь пытается получить доступ с UID 0 и является
	   членом группы wheel (или группы, указанной в опции group), запретить доступ. В противном случае, если
	   пользователь не в группе, вернуть PAM_IGNORE (если не указана опция trust, в которой случае вернуть
	   PAM_SUCCESS).

       group=name
	   Вместо проверки групп wheel или GID 0 использовать группу name для аутентификации.

       root_only
	   Проверка членства в группе wheel выполняется только если UID целевого пользователя равен 0.

       trust
	   Модуль pam_wheel вернёт PAM_SUCCESS вместо PAM_IGNORE, если пользователь является членом группы wheel
	   (с небольшим использованием модулей члены группы wheel могут получить доступ к root без запроса пароля).

       use_uid
	   Проверка будет выполняться по реальному UID вызывающего процесса, вместо попытки получить пользователя
	   из сеанса входа, связанного с используемым терминалом.

MODULE TYPES PROVIDED
       Предоставляются типы модулей auth и account.

RETURN VALUES
       PAM_AUTH_ERR
	   Сбой аутентификации.

       PAM_BUF_ERR
	   Ошибка буфера памяти.

       PAM_IGNORE
	   Значение возврата должно быть проигнорировано диспетчером PAM.

       PAM_PERM_DENY
	   Доступ запрещён.

       PAM_SERVICE_ERR
	   Не удалось определить имя пользователя.

       PAM_SUCCESS
	   Успех.

       PAM_USER_UNKNOWN
	   Пользователь не известен.

EXAMPLES
       Учётная запись root получает доступ по умолчанию (rootok), только члены группы wheel могут стать root
       (wheel), но Unix аутентифицирует не-root заявителей.

	   su	   auth	    sufficient	   pam_rootok.so
	   su	   auth	    required	   pam_wheel.so
	   su	   auth	    required	   pam_unix.so



SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_wheel был написан Cristian Gafton <gafton@redhat.com>.



Linux-PAM			  05/12/2025			  PAM_WHEEL(8)
PAM_WHEEL(8)		       Linux-PAM Manual			  PAM_WHEEL(8)



NAME
       pam_wheel - Only permit root access to members of group wheel

SYNOPSIS
       pam_wheel.so [debug] [deny] [group=name] [root_only] [trust] [use_uid]

DESCRIPTION
       The pam_wheel PAM module is used to enforce the so-called wheel group.
       By default it permits access to the target user if the applicant user
       is a member of the wheel group. If no group with this name exist, the
       module is using the group with the group-ID 0.

OPTIONS
       debug
	   Print debug information.

       deny
	   Reverse the sense of the auth operation: if the user is trying to
	   get UID 0 access and is a member of the wheel group (or the group
	   of the group option), deny access. Conversely, if the user is not
	   in the group, return PAM_IGNORE (unless trust was also specified,
	   in which case we return PAM_SUCCESS).

       group=name
	   Instead of checking the wheel or GID 0 groups, use the name group
	   to perform the authentication.

       root_only
	   The check for wheel membership is done only when the target user
	   UID is 0.

       trust
	   The pam_wheel module will return PAM_SUCCESS instead of PAM_IGNORE
	   if the user is a member of the wheel group (thus with a little play
	   stacking the modules the wheel members may be able to su to root
	   without being prompted for a passwd).

       use_uid
	   The check will be done against the real uid of the calling process,
	   instead of trying to obtain the user from the login session
	   associated with the terminal in use.

MODULE TYPES PROVIDED
       The auth and account module types are provided.

RETURN VALUES
       PAM_AUTH_ERR
	   Authentication failure.

       PAM_BUF_ERR
	   Memory buffer error.

       PAM_IGNORE
	   The return value should be ignored by PAM dispatch.

       PAM_PERM_DENY
	   Permission denied.

       PAM_SERVICE_ERR
	   Cannot determine the user name.

       PAM_SUCCESS
	   Success.

       PAM_USER_UNKNOWN
	   User not known.

EXAMPLES
       The root account gains access by default (rootok), only wheel members
       can become root (wheel) but Unix authenticate non-root applicants.

	   su	   auth	    sufficient	   pam_rootok.so
	   su	   auth	    required	   pam_wheel.so
	   su	   auth	    required	   pam_unix.so



SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_wheel was written by Cristian Gafton <gafton@redhat.com>.



Linux-PAM			  05/12/2025			  PAM_WHEEL(8)

PWHISTORY.CONF(5)	       Руководство Linux-PAM		     PWHISTORY.CONF(5)



NAME
       pwhistory.conf - файл конфигурации pam_pwhistory

DESCRIPTION
       pwhistory.conf предоставляет способ настроить настройки по умолчанию
       для сохранения последних паролей для каждого пользователя. Этот файл читается
       модулем pam_pwhistory и является предпочтительным методом по сравнению
       с прямой настройкой pam_pwhistory.

       Файл имеет простой формат имя = значение с возможными комментариями,
       начинающимися с символа #. Пробелы в начале строки, в конце строки
       и вокруг знака = игнорируются.

OPTIONS
       debug
	   Включает отладку через syslog(3).

       enforce_for_root
	   Если эта опция установлена, проверка применяется и для root.

       remember=N
	   Сохраняются последние N паролей для каждого пользователя. Значение по умолчанию — 10.
	   Значение 0 заставляет модуль оставить существующий контент файла
	   opasswd без изменений.

       retry=N
	   Запрашивать у пользователя не более N раз перед возвратом ошибки. Значение
	   по умолчанию — 1.

       file=/path/filename
	   Хранить историю паролей в файле /path/filename, а не в
	   расположении по умолчанию. Расположение по умолчанию — /etc/security/opasswd.

EXAMPLES
       Пример файла /etc/security/pwhistory.conf:

	   debug
	   remember=5
	   file=/tmp/opasswd


FILES
       /etc/security/pwhistory.conf
	   файл конфигурации для пользовательских опций

SEE ALSO
       pwhistory(8), pam_pwhistory(8), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_pwhistory был написан Thorsten Kukuk. Поддержка для
       pwhistory.conf была написана Iker Pedrosa.



Linux-PAM			  05/12/2025		     PWHISTORY.CONF(5)
PWHISTORY.CONF(5)	       Linux-PAM Manual		     PWHISTORY.CONF(5)



NAME
       pwhistory.conf - pam_pwhistory configuration file

DESCRIPTION
       pwhistory.conf provides a way to configure the default settings for
       saving the last passwords for each user. This file is read by the
       pam_pwhistory module and is the preferred method over configuring
       pam_pwhistory directly.

       The file has a very simple name = value format with possible comments
       starting with # character. The whitespace at the beginning of line, end
       of line, and around the = sign is ignored.

OPTIONS
       debug
	   Turns on debugging via syslog(3).

       enforce_for_root
	   If this option is set, the check is enforced for root, too.

       remember=N
	   The last N passwords for each user are saved. The default is 10.
	   Value of 0 makes the module to keep the existing contents of the
	   opasswd file unchanged.

       retry=N
	   Prompt user at most N times before returning with error. The
	   default is 1.

       file=/path/filename
	   Store password history in file /path/filename rather than the
	   default location. The default location is /etc/security/opasswd.

EXAMPLES
       /etc/security/pwhistory.conf file example:

	   debug
	   remember=5
	   file=/tmp/opasswd


FILES
       /etc/security/pwhistory.conf
	   the config file for custom options

SEE ALSO
       pwhistory(8), pam_pwhistory(8), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_pwhistory was written by Thorsten Kukuk. The support for
       pwhistory.conf was written by Iker Pedrosa.



Linux-PAM			  05/12/2025		     PWHISTORY.CONF(5)

PAM_ROOTOK(8)		       Linux-PAM Manual			 PAM_ROOTOK(8)



NAME
       pam_rootok - Получение доступа только для root

SYNOPSIS
       pam_rootok.so [debug]

DESCRIPTION
       pam_rootok — это модуль PAM, который аутентифицирует пользователя, если его UID равен 0. Приложения, созданные с setuid-root, обычно сохраняют UID пользователя, но запускаются с полномочиями повышенного эффективного UID. Проверяется реальный UID.

OPTIONS
       debug
	   Выводить отладочную информацию.

MODULE TYPES PROVIDED
       Предоставляются типы модулей auth, account и password.

RETURN VALUES
       PAM_SUCCESS
	   UID равен 0.

       PAM_AUTH_ERR
	   UID не равен 0.

EXAMPLES
       В случае приложения su(1) историческое использование предполагает, что суперпользователь может принять идентичность пользователя с меньшими правами без использования пароля. Чтобы добиться такого поведения с помощью PAM, в соответствующей записи файла конфигурации /etc/pam.d/su нужны следующие строки:

	   # Аутентификация для su. Root получает доступ по умолчанию.
	   auth	 sufficient   pam_rootok.so
	   auth	 required     pam_unix.so



SEE ALSO
       su(1), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_rootok был написан Эндрю Г. Морганом, <morgan@kernel.org>.



Linux-PAM			  05/12/2025			 PAM_ROOTOK(8)
PAM_ROOTOK(8)		       Linux-PAM Manual			 PAM_ROOTOK(8)



NAME
       pam_rootok - Gain only root access

SYNOPSIS
       pam_rootok.so [debug]

DESCRIPTION
       pam_rootok is a PAM module that authenticates the user if their UID is
       0. Applications that are created setuid-root generally retain the UID
       of the user but run with the authority of an enhanced effective-UID. It
       is the real UID that is checked.

OPTIONS
       debug
	   Print debug information.

MODULE TYPES PROVIDED
       The auth, account and password module types are provided.

RETURN VALUES
       PAM_SUCCESS
	   The UID is 0.

       PAM_AUTH_ERR
	   The UID is not 0.

EXAMPLES
       In the case of the su(1) application the historical usage is to permit
       the superuser to adopt the identity of a lesser user without the use of
       a password. To obtain this behavior with PAM the following pair of
       lines are needed for the corresponding entry in the /etc/pam.d/su
       configuration file:

	   # su authentication. Root is granted access by default.
	   auth	 sufficient   pam_rootok.so
	   auth	 required     pam_unix.so



SEE ALSO
       su(1), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_rootok was written by Andrew G. Morgan, <morgan@kernel.org>.



Linux-PAM			  05/12/2025			 PAM_ROOTOK(8)

PAM_КАНОНИЗИРОВАТЬ_ПОЛЬЗОВАТЕЛЯ(8)       Руководство Linux-PAM       PAM_КАНОНИЗИРОВАТЬ_ПОЛЬЗОВАТЕЛЯ(8)



НАЗВАНИЕ
       pam_canonicalize_user - Получить имя пользователя и канонизировать его

СИНОПСИС
       pam_canonicalize_user.so

ОПИСАНИЕ
       Этот модуль PAM использует имя пользователя, полученное через pam_get_user(3),
       в качестве ключа для запроса базы данных паролей, и заменяет PAM_USER на значение
       pw_name, которое было возвращено.

ОПЦИИ
       Этот модуль не распознает никаких опций.

ТИПЫ МОДУЛЕЙ
       Предоставляется только тип модуля auth.

ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
       PAM_IGNORE
	   Имя пользователя было успешно установлено.

       PAM_USER_UNKNOWN
	   Пользователь не найден.

       PAM_SYSTEM_ERR
	   Приложение не предоставило ни имя пользователя, ни метод разговора.

       PAM_INCOMPLETE
	   Метод разговора, предоставленный приложением, ожидает события.

       PAM_CONV_ERR
	   Метод разговора, предоставленный приложением, не смог получить имя пользователя.

       PAM_ABORT
	   Ошибка возобновления предыдущего разговора.

       PAM_BUF_ERR
	   Ошибка буфера памяти.

ПРИМЕРЫ
       Добавьте следующую строку в начало стека PAM auth, чтобы канонизировать
       имя пользователя перед аутентификацией:

		   auth required pam_canonicalize_user.so



СМОТРИТЕ ТАКЖЕ
       pam_get_user(3), pam_get_item(3), pam_set_item(3), getpwnam(3),
       pam.conf(5), pam.d(5), pam(8)

АВТОР
       pam_canonicalize_user был написан Dmitry V. Levin <ldv@strace.io>.



Linux-PAM			  05/12/2025       PAM_КАНОНИЗИРОВАТЬ_ПОЛЬЗОВАТЕЛЯ(8)
PAM_CANONICALIZE_USE(8)	       Linux-PAM Manual	       PAM_CANONICALIZE_USE(8)



NAME
       pam_canonicalize_user - Get user name and canonicalize it

SYNOPSIS
       pam_canonicalize_user.so

DESCRIPTION
       This PAM module uses the name of the user obtained via pam_get_user(3)
       as a key to query the password database, and replaces PAM_USER with the
       pw_name value that has been returned.

OPTIONS
       This module does not recognise any options.

MODULE TYPES PROVIDED
       Only the auth module type is provided.

RETURN VALUES
       PAM_IGNORE
	   The user name was set successfully.

       PAM_USER_UNKNOWN
	   The user was not found.

       PAM_SYSTEM_ERR
	   The application did not supply neither a user name nor a
	   conversation method.

       PAM_INCOMPLETE
	   The conversation method supplied by the application is waiting for
	   an event.

       PAM_CONV_ERR
	   The conversation method supplied by the application failed to
	   obtain the user name.

       PAM_ABORT
	   Error resuming an old conversation.

       PAM_BUF_ERR
	   Memory buffer error.

EXAMPLES
       Prepend the PAM auth stack with the following line to canonicalize the
       user name before the authentication:

		   auth required pam_canonicalize_user.so



SEE ALSO
       pam_get_user(3), pam_get_item(3), pam_set_item(3), getpwnam(3),
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_canonicalize_user was written by Dmitry V. Levin <ldv@strace.io>.



Linux-PAM			  05/12/2025	       PAM_CANONICALIZE_USE(8)

PAM_ENV(8)		       Руководство Linux-PAM			    PAM_ENV(8)



НАЗВАНИЕ
       pam_env - модуль PAM для установки/удаления переменных окружения

СИНОПСИС
       pam_env.so [debug] [conffile=conf-file] [envfile=env-file]
		  [readenv=0|1] [user_envfile=env-file] [user_readenv=0|1]

ОПИСАНИЕ
       Модуль PAM pam_env позволяет устанавливать и удалять переменные окружения.
       Поддерживается использование ранее установленных переменных окружения, а также
       элементов PAM, таких как PAM_RHOST.

       По умолчанию правила для установки/удаления переменных берутся из конфигурационного
       файла /etc/security/pam_env.conf. Альтернативный файл можно указать
       с помощью опции conffile.

       Во-вторых, читается файл (/etc/environment по умолчанию) с простыми парами KEY=VAL
       на отдельных строках. С помощью опции envfile можно указать альтернативный
       файл, а с помощью опции readenv это можно полностью отключить.

       В-третьих, будет прочитан файл конфигурации пользователя ($HOME/.pam_environment по
       умолчанию). Файл по умолчанию можно изменить с помощью опции user_envfile, а также
       включить или отключить с помощью опции user_readenv.

       Поскольку установка переменных окружения PAM может иметь побочные эффекты для
       других модулей, этот модуль должен быть последним в стеке.

       Этот модуль выполняется только если основное приложение вызывает
       pam_setcred(3) или pam_open_session(3). Модуль ничего не делает и
       возвращает PAM_IGNORE, если вызван pam_authenticate(3).

ОПЦИИ
       conffile=/path/to/pam_env.conf
	   Указывает альтернативный файл конфигурации в стиле pam_env.conf для
	   переопределения значения по умолчанию. Это может быть полезно, когда разные
	   сервисы требуют разных окружений.

       debug
	   Выводится большое количество отладочной информации с помощью syslog(3).

       envfile=/path/to/environment
	   Указывает альтернативный файл окружения для переопределения значения по умолчанию.
	   Синтаксис — простые пары KEY=VAL на отдельных строках. Инструкция export
	   может быть указана для совместимости с bash, но будет игнорироваться. Это может
	   быть полезно, когда разные сервисы требуют разных окружений.

       readenv=0|1
	   Включает или отключает чтение файла, указанного в envfile (0 — выключено,
	   1 — включено). По умолчанию эта опция включена.

       user_envfile=filename
	   Указывает альтернативный файл .pam_environment для переопределения значения по
	   умолчанию. Синтаксис такой же, как для /etc/security/pam_env.conf.
	   Имя файла относительно домашнего каталога пользователя. Это может быть
	   полезно, когда разные сервисы требуют разных окружений.

       user_readenv=0|1
	   Включает или отключает чтение файла окружения, специфичного для пользователя.
	   0 — выключено, 1 — включено. По умолчанию эта опция выключена, так как
	   переменные окружения, предоставленные пользователем, в окружении PAM могут
	   повлиять на поведение последующих модулей в стеке без согласия
	   системного администратора.

	   Из-за проблем с безопасностью эта функциональность устарела начиная с
	   версии 1.5.0 и будет полностью удалена в будущем.

ТИПЫ МОДУЛЕЙ, ОБЕСПЕЧИВАЕМЫЕ
       Предоставляются типы модулей auth и session.

ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
       PAM_ABORT
	   Не удалось получить все релевантные данные или опции.

       PAM_BUF_ERR
	   Ошибка буфера памяти.

       PAM_IGNORE
	   Не найден pam_env.conf и файл окружения, или модуль был вызван
	   pam_authenticate(3).

       PAM_SUCCESS
	   Переменные окружения были установлены.

ФАЙЛЫ
       /etc/security/pam_env.conf
	   Файл конфигурации по умолчанию

       /etc/environment
	   Файл окружения по умолчанию

       $HOME/.pam_environment
	   Файл окружения, специфичный для пользователя

СМОТРИТЕ ТАКЖЕ
       pam_env.conf(5), pam.d(5), pam(8), environ(7).

АВТОР
       pam_env был написан Dave Kinchlea <kinch@kinch.ark.com>.



Linux-PAM			  05/12/2025			    PAM_ENV(8)
PAM_ENV(8)		       Linux-PAM Manual			    PAM_ENV(8)



NAME
       pam_env - PAM module to set/unset environment variables

SYNOPSIS
       pam_env.so [debug] [conffile=conf-file] [envfile=env-file]
		  [readenv=0|1] [user_envfile=env-file] [user_readenv=0|1]

DESCRIPTION
       The pam_env PAM module allows the (un)setting of environment variables.
       Supported is the use of previously set environment variables as well as
       PAM_ITEMs such as PAM_RHOST.

       By default rules for (un)setting of variables are taken from the config
       file /etc/security/pam_env.conf. An alternate file can be specified
       with the conffile option.

       Second a file (/etc/environment by default) with simple KEY=VAL pairs
       on separate lines will be read. With the envfile option an alternate
       file can be specified. And with the readenv option this can be
       completely disabled.

       Third it will read a user configuration file ($HOME/.pam_environment by
       default). The default file can be changed with the user_envfile option
       and it can be turned on and off with the user_readenv option.

       Since setting of PAM environment variables can have side effects to
       other modules, this module should be the last one on the stack.

       This module is only executed if the main application calls
       pam_setcred(3) or pam_open_session(3). The module does nothing and
       returns PAM_IGNORE if called by pam_authenticate(3).

OPTIONS
       conffile=/path/to/pam_env.conf
	   Indicate an alternative pam_env.conf style configuration file to
	   override the default. This can be useful when different services
	   need different environments.

       debug
	   A lot of debug information is printed with syslog(3).

       envfile=/path/to/environment
	   Indicate an alternative environment file to override the default.
	   The syntax are simple KEY=VAL pairs on separate lines. The export
	   instruction can be specified for bash compatibility, but will be
	   ignored. This can be useful when different services need different
	   environments.

       readenv=0|1
	   Turns on or off the reading of the file specified by envfile (0 is
	   off, 1 is on). By default this option is on.

       user_envfile=filename
	   Indicate an alternative .pam_environment file to override the
	   default. The syntax is the same as for /etc/security/pam_env.conf.
	   The filename is relative to the user home directory. This can be
	   useful when different services need different environments.

       user_readenv=0|1
	   Turns on or off the reading of the user specific environment file.
	   0 is off, 1 is on. By default this option is off as user supplied
	   environment variables in the PAM environment could affect behavior
	   of subsequent modules in the stack without the consent of the
	   system administrator.

	   Due to problematic security this functionality is deprecated since
	   the 1.5.0 version and will be removed completely at some point in
	   the future.

MODULE TYPES PROVIDED
       The auth and session module types are provided.

RETURN VALUES
       PAM_ABORT
	   Not all relevant data or options could be gotten.

       PAM_BUF_ERR
	   Memory buffer error.

       PAM_IGNORE
	   No pam_env.conf and environment file was found or the module got
	   called by pam_authenticate(3).

       PAM_SUCCESS
	   Environment variables were set.

FILES
       /etc/security/pam_env.conf
	   Default configuration file

       /etc/environment
	   Default environment file

       $HOME/.pam_environment
	   User specific environment file

SEE ALSO
       pam_env.conf(5), pam.d(5), pam(8), environ(7).

AUTHOR
       pam_env was written by Dave Kinchlea <kinch@kinch.ark.com>.



Linux-PAM			  05/12/2025			    PAM_ENV(8)

PAM_TIMESTAMP(8)	       Linux-PAM Manual		      PAM_TIMESTAMP(8)



NAME
       pam_timestamp - Аутентификация с использованием кэшированных успешных попыток аутентификации

SYNOPSIS
       pam_timestamp.so [timestampdir=directory] [timestamp_timeout=number]
			[verbose] [debug]

DESCRIPTION
       Вкратце, pam_timestamp кэширует успешные попытки аутентификации и позволяет использовать недавнюю успешную попытку в качестве основы для аутентификации. Это похоже на механизм, используемый в sudo.

       Когда приложение открывает сессию с помощью pam_timestamp, файл временной метки создаётся в каталоге timestampdir для пользователя. Когда приложение пытается аутентифицировать пользователя, pam_timestamp рассматривает достаточно свежий файл временной метки как основание для успеха.

OPTIONS
       timestampdir=directory
	   Укажите альтернативный каталог, где pam_timestamp создаёт файлы временных меток.

       timestamp_timeout=number
	   Сколько времени pam_timestamp должен считать временную метку действительной после её последней даты изменения (в секундах). Значение по умолчанию — 300 секунд.

       verbose
	   Попытайтесь уведомить пользователя, когда доступ предоставлен.

       debug
	   Включить отладочные сообщения, отправляемые в syslog(3).

MODULE TYPES PROVIDED
       Предоставляются типы модулей auth и session.

RETURN VALUES
       PAM_AUTH_ERR
	   Модулю не удалось получить имя пользователя или не найден действительный файл временной метки.

       PAM_SUCCESS
	   Всё прошло успешно.

       PAM_SESSION_ERR
	   Файл временной метки не удалось создать или обновить.

NOTES
       Пользователи могут запутаться, когда их не всегда спрашивают пароль при запуске определённой программы. Некоторые пользователи рефлекторно начинают вводить информацию, не заметив, что она не запрашивалась.

EXAMPLES
	   auth sufficient pam_timestamp.so verbose
	   auth required   pam_unix.so

	   session required pam_unix.so
	   session optional pam_timestamp.so


FILES
       /var/run/pam_timestamp/...
	   файлы и каталоги временных меток

SEE ALSO
       pam_timestamp_check(8), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_timestamp был написан Nalin Dahyabhai.



Linux-PAM			  05/12/2025		      PAM_TIMESTAMP(8)
PAM_TIMESTAMP(8)	       Linux-PAM Manual		      PAM_TIMESTAMP(8)



NAME
       pam_timestamp - Authenticate using cached successful authentication
       attempts

SYNOPSIS
       pam_timestamp.so [timestampdir=directory] [timestamp_timeout=number]
			[verbose] [debug]

DESCRIPTION
       In a nutshell, pam_timestamp caches successful authentication attempts,
       and allows you to use a recent successful attempt as the basis for
       authentication. This is similar mechanism which is used in sudo.

       When an application opens a session using pam_timestamp, a timestamp
       file is created in the timestampdir directory for the user. When an
       application attempts to authenticate the user, a pam_timestamp will
       treat a sufficiently recent timestamp file as grounds for succeeding.

OPTIONS
       timestampdir=directory
	   Specify an alternate directory where pam_timestamp creates
	   timestamp files.

       timestamp_timeout=number
	   How long should pam_timestamp treat timestamp as valid after their
	   last modification date (in seconds). Default is 300 seconds.

       verbose
	   Attempt to inform the user when access is granted.

       debug
	   Turns on debugging messages sent to syslog(3).

MODULE TYPES PROVIDED
       The auth and session module types are provided.

RETURN VALUES
       PAM_AUTH_ERR
	   The module was not able to retrieve the user name or no valid
	   timestamp file was found.

       PAM_SUCCESS
	   Everything was successful.

       PAM_SESSION_ERR
	   Timestamp file could not be created or updated.

NOTES
       Users can get confused when they are not always asked for passwords
       when running a given program. Some users reflexively begin typing
       information before noticing that it is not being asked for.

EXAMPLES
	   auth sufficient pam_timestamp.so verbose
	   auth required   pam_unix.so

	   session required pam_unix.so
	   session optional pam_timestamp.so


FILES
       /var/run/pam_timestamp/...
	   timestamp files and directories

SEE ALSO
       pam_timestamp_check(8), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_timestamp was written by Nalin Dahyabhai.



Linux-PAM			  05/12/2025		      PAM_TIMESTAMP(8)

PAM_USERTYPE(8)		       Руководство Linux-PAM		       PAM_USERTYPE(8)



NAME
       pam_usertype - проверить, является ли аутентифицированный пользователь системным или обычным аккаунтом

SYNOPSIS
       pam_usertype.so [flag...] {condition}

DESCRIPTION
       pam_usertype.so предназначен для успешного или неудачного завершения аутентификации на основе типа аккаунта аутентифицированного пользователя. Тип аккаунта определяется с помощью настроек SYS_UID_MAX в /etc/login.defs. Один из вариантов использования — выбор загрузки других модулей на основе этого теста.

       Модулю следует передавать только одно условие в качестве аргумента модуля.
       Аутентификация завершится успешно только в том случае, если условие выполнено.

OPTIONS
       Поддерживаются следующие флаги:

       use_uid
	   Оценивать условия с использованием аккаунта пользователя, под UID которого запущено приложение, вместо аутентифицируемого пользователя.

       audit
	   Записывать неизвестных пользователей в системный лог.

       Доступные условия:

       issystem
	   Успешно завершить, если пользователь является системным.

       isregular
	   Успешно завершить, если пользователь является обычным.

MODULE TYPES PROVIDED
       Предоставляются все типы модулей (account, auth, password и session).

RETURN VALUES
       PAM_SUCCESS
	   Условие истинно.

       PAM_BUF_ERR
	   Ошибка буфера памяти.

       PAM_CONV_ERR
	   Метод разговора, предоставленный приложением, не смог получить имя пользователя.

       PAM_INCOMPLETE
	   Метод разговора, предоставленный приложением, вернул PAM_CONV_AGAIN.

       PAM_AUTH_ERR
	   Условие ложно.

       PAM_SERVICE_ERR
	   Произошла ошибка сервиса или аргументы не могут быть разобраны корректно.

       PAM_USER_UNKNOWN
	   Пользователь не найден.

EXAMPLES
       Пропустить оставшиеся модули, если пользователь является системным:

	   account sufficient pam_usertype.so issystem


SEE ALSO
       login.defs(5), pam(8)

AUTHOR
       Pavel Březina <pbrezina@redhat.com>



Linux-PAM			  05/12/2025		       PAM_USERTYPE(8)
PAM_USERTYPE(8)		       Linux-PAM Manual		       PAM_USERTYPE(8)



NAME
       pam_usertype - check if the authenticated user is a system or regular
       account

SYNOPSIS
       pam_usertype.so [flag...] {condition}

DESCRIPTION
       pam_usertype.so is designed to succeed or fail authentication based on
       type of the account of the authenticated user. The type of the account
       is decided with help of SYS_UID_MAX settings in /etc/login.defs. One
       use is to select whether to load other modules based on this test.

       The module should be given only one condition as module argument.
       Authentication will succeed only if the condition is met.

OPTIONS
       The following flags are supported:

       use_uid
	   Evaluate conditions using the account of the user whose UID the
	   application is running under instead of the user being
	   authenticated.

       audit
	   Log unknown users to the system log.

       Available conditions are:

       issystem
	   Succeed if the user is a system user.

       isregular
	   Succeed if the user is a regular user.

MODULE TYPES PROVIDED
       All module types (account, auth, password and session) are provided.

RETURN VALUES
       PAM_SUCCESS
	   The condition was true.

       PAM_BUF_ERR
	   Memory buffer error.

       PAM_CONV_ERR
	   The conversation method supplied by the application failed to
	   obtain the username.

       PAM_INCOMPLETE
	   The conversation method supplied by the application returned
	   PAM_CONV_AGAIN.

       PAM_AUTH_ERR
	   The condition was false.

       PAM_SERVICE_ERR
	   A service error occurred or the arguments can't be parsed
	   correctly.

       PAM_USER_UNKNOWN
	   User was not found.

EXAMPLES
       Skip remaining modules if the user is a system user:

	   account sufficient pam_usertype.so issystem


SEE ALSO
       login.defs(5), pam(8)

AUTHOR
       Pavel BÅezina <pbrezina@redhat.com>



Linux-PAM			  05/12/2025		       PAM_USERTYPE(8)

PAM_EXEC(8)		       Linux-PAM Manual			   PAM_EXEC(8)



NAME
       pam_exec - Модуль PAM, вызывающий внешнюю команду

SYNOPSIS
       pam_exec.so [debug] [expose_authtok] [seteuid] [quiet] [quiet_log]
		   [stdout] [log=file] [type=type] command [...]

DESCRIPTION
       pam_exec — это модуль PAM, который может использоваться для запуска внешней команды.

       Среда дочернего процесса устанавливается на основе текущего списка переменных среды PAM, возвращаемого функцией pam_getenvlist(3). Кроме того, следующие элементы PAM экспортируются как переменные среды: PAM_RHOST, PAM_RUSER, PAM_SERVICE, PAM_TTY, PAM_USER и PAM_TYPE, которые содержат один из типов модуля: account, auth, password, open_session и close_session.

       Команды, вызываемые pam_exec, должны учитывать, что пользователь может контролировать среду.

OPTIONS
       debug
	   Выводить информацию для отладки.

       expose_authtok
	   Во время аутентификации и изменения пароля вызываемая команда может читать пароль из stdin(3). Команде предоставляется только первые PAM_MAX_RESP_SIZE байт пароля.

       log=file
	   Вывод команды добавляется в файл.

       type=type
	   Выполнять команду только в том случае, если тип модуля соответствует указанному типу.

       stdout
	   По умолчанию вывод выполненной команды направляется в /dev/null. С этой опцией стандартный вывод выполненной команды перенаправляется в вызывающее приложение. Отвественность за обработку вывода лежит на этом приложении. Опция log игнорируется.

       quiet
	   По умолчанию pam_exec.so выводит статус завершения внешней команды, если она завершилась неудачно. Указание этой опции подавляет сообщение.

       quiet_log
	   По умолчанию pam_exec.so логирует статус завершения внешней команды, если она завершилась неудачно. Указание этой опции подавляет сообщение в логе.

       seteuid
	   По умолчанию pam_exec.so выполняет внешнюю команду с реальным идентификатором пользователя вызывающего процесса. Указание этой опции означает, что команда выполняется с эффективным идентификатором пользователя.

MODULE TYPES PROVIDED
       Все типы модулей (auth, account, password и session) предоставляются.

RETURN VALUES
       PAM_SUCCESS
	   Внешняя команда была выполнена успешно.

       PAM_BUF_ERR
	   Ошибка буфера памяти.

       PAM_CONV_ERR
	   Метод разговора, предоставленный приложением, не смог получить имя пользователя.

       PAM_INCOMPLETE
	   Метод разговора, предоставленный приложением, вернул PAM_CONV_AGAIN.

       PAM_SERVICE_ERR
	   Не указан аргумент или указано неверное количество аргументов.

       PAM_SYSTEM_ERR
	   Произошла системная ошибка или команда для выполнения завершилась неудачно.

       PAM_IGNORE
	   Была вызвана pam_setcred, которая не выполняет команду. Или значение, указанное для параметра type=, не соответствует типу модуля.

EXAMPLES
       Добавьте следующую строку в /etc/pam.d/passwd для перестроения базы данных NIS после каждого локального изменения пароля:

		   password optional pam_exec.so seteuid /usr/bin/make -C /var/yp


       Это выполнит команду

	   make -C /var/yp

       с эффективным идентификатором пользователя.

SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_exec был написан Thorsten Kukuk <kukuk@thkukuk.de> и Josh Triplett <josh@joshtriplett.org>.



Linux-PAM			  05/12/2025			   PAM_EXEC(8)
PAM_EXEC(8)		       Linux-PAM Manual			   PAM_EXEC(8)



NAME
       pam_exec - PAM module which calls an external command

SYNOPSIS
       pam_exec.so [debug] [expose_authtok] [seteuid] [quiet] [quiet_log]
		   [stdout] [log=file] [type=type] command [...]

DESCRIPTION
       pam_exec is a PAM module that can be used to run an external command.

       The child's environment is set to the current PAM environment list, as
       returned by pam_getenvlist(3) In addition, the following PAM items are
       exported as environment variables: PAM_RHOST, PAM_RUSER, PAM_SERVICE,
       PAM_TTY, PAM_USER and PAM_TYPE, which contains one of the module types:
       account, auth, password, open_session and close_session.

       Commands called by pam_exec need to be aware of that the user can have
       control over the environment.

OPTIONS
       debug
	   Print debug information.

       expose_authtok
	   During authentication and password change the calling command can
	   read the password from stdin(3). Only first PAM_MAX_RESP_SIZE bytes
	   of a password are provided to the command.

       log=file
	   The output of the command is appended to file

       type=type
	   Only run the command if the module type matches the given type.

       stdout
	   Per default the output of the executed command is written to
	   /dev/null. With this option, the stdout output of the executed
	   command is redirected to the calling application. It's in the
	   responsibility of this application what happens with the output.
	   The log option is ignored.

       quiet
	   Per default pam_exec.so will echo the exit status of the external
	   command if it fails. Specifying this option will suppress the
	   message.

       quiet_log
	   Per default pam_exec.so will log the exit status of the external
	   command if it fails. Specifying this option will suppress the log
	   message.

       seteuid
	   Per default pam_exec.so will execute the external command with the
	   real user ID of the calling process. Specifying this option means
	   the command is run with the effective user ID.

MODULE TYPES PROVIDED
       All module types (auth, account, password and session) are provided.

RETURN VALUES
       PAM_SUCCESS
	   The external command was run successfully.

       PAM_BUF_ERR
	   Memory buffer error.

       PAM_CONV_ERR
	   The conversation method supplied by the application failed to
	   obtain the username.

       PAM_INCOMPLETE
	   The conversation method supplied by the application returned
	   PAM_CONV_AGAIN.

       PAM_SERVICE_ERR
	   No argument or a wrong number of arguments were given.

       PAM_SYSTEM_ERR
	   A system error occurred or the command to execute failed.

       PAM_IGNORE
	   pam_setcred was called, which does not execute the command. Or, the
	   value given for the type= parameter did not match the module type.

EXAMPLES
       Add the following line to /etc/pam.d/passwd to rebuild the NIS database
       after each local password change:

		   password optional pam_exec.so seteuid /usr/bin/make -C /var/yp


       This will execute the command

	   make -C /var/yp

       with effective user ID.

SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_exec was written by Thorsten Kukuk <kukuk@thkukuk.de> and Josh
       Triplett <josh@joshtriplett.org>.



Linux-PAM			  05/12/2025			   PAM_EXEC(8)

PAM_WARN(8)		       Руководство Linux-PAM			   PAM_WARN(8)



NAME
       pam_warn - Модуль PAM, который логирует все элементы PAM, если он вызван

SYNOPSIS
       pam_warn.so

DESCRIPTION
       pam_warn — это модуль PAM, который логирует службу, терминал, пользователя,
       удаленного пользователя и удаленный хост в syslog(3). Элементы не
       исследуются, а вместо этого получаются из стандартных элементов PAM. Модуль
       всегда возвращает PAM_IGNORE, указывая, что он не хочет влиять на процесс
       аутентификации.

OPTIONS
       Этот модуль не распознает никаких опций.

MODULE TYPES PROVIDED
       Предоставляются типы модулей auth, account, password и session.

RETURN VALUES
       PAM_IGNORE
	   Этот модуль всегда возвращает PAM_IGNORE.

EXAMPLES
	   #%PAM-1.0
	   #
	   # Если у нас нет записей конфигурации для службы, то
	   # используются записи OTHER. Для обеспечения безопасности, предупреждать и запрещать
	   # доступ ко всему.
	   other auth	  required	 pam_warn.so
	   other auth	  required	 pam_deny.so
	   other account  required	 pam_warn.so
	   other account  required	 pam_deny.so
	   other password required	 pam_warn.so
	   other password required	 pam_deny.so
	   other session  required	 pam_warn.so
	   other session  required	 pam_deny.so


SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_warn был написан Andrew G. Morgan <morgan@kernel.org>.



Linux-PAM			  05/12/2025			   PAM_WARN(8)
PAM_WARN(8)		       Linux-PAM Manual			   PAM_WARN(8)



NAME
       pam_warn - PAM module which logs all PAM items if called

SYNOPSIS
       pam_warn.so

DESCRIPTION
       pam_warn is a PAM module that logs the service, terminal, user, remote
       user and remote host to syslog(3). The items are not probed for, but
       instead obtained from the standard PAM items. The module always returns
       PAM_IGNORE, indicating that it does not want to affect the
       authentication process.

OPTIONS
       This module does not recognise any options.

MODULE TYPES PROVIDED
       The auth, account, password and session module types are provided.

RETURN VALUES
       PAM_IGNORE
	   This module always returns PAM_IGNORE.

EXAMPLES
	   #%PAM-1.0
	   #
	   # If we don't have config entries for a service, the
	   # OTHER entries are used. To be secure, warn and deny
	   # access to everything.
	   other auth	  required	 pam_warn.so
	   other auth	  required	 pam_deny.so
	   other account  required	 pam_warn.so
	   other account  required	 pam_deny.so
	   other password required	 pam_warn.so
	   other password required	 pam_deny.so
	   other session  required	 pam_warn.so
	   other session  required	 pam_deny.so


SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_warn was written by Andrew G. Morgan <morgan@kernel.org>.



Linux-PAM			  05/12/2025			   PAM_WARN(8)

PAM_GROUP(8)		       Linux-PAM Manual			  PAM_GROUP(8)

NAME
       pam_group - Модуль PAM для доступа по группам

SYNOPSIS
       pam_group.so

DESCRIPTION
       Модуль PAM pam_group не аутентифицирует пользователя, а вместо этого
       предоставляет членства в группах (на этапе установки учетных данных
       модуля аутентификации) пользователю. Такие членства основаны на
       службе, для которой пользователь подает заявку.

       По умолчанию правила для членств в группах берутся из файла
       конфигурации /etc/security/group.conf.

       Полезность этого модуля зависит от файловых систем, доступных
       пользователю. Суть в том, что после предоставления членства в группе
       пользователь может попытаться создать бинарный файл с установкой
       setgid и ограниченным владением группы. Позже, когда пользователю не
       будет предоставлено членство в этой группе, он может восстановить
       членство в группе с помощью предварительно скомпилированного
       бинарного файла. Причина, по которой файловые системы, к которым
       у пользователя есть доступ, так важны, заключается в том, что если
       система смонтирована с опцией nosuid, пользователь не сможет создать
       или выполнить такой бинарный файл. Для обеспечения какого-либо уровня
       безопасности с помощью этого модуля все файловые системы, к которым
       у пользователя есть права на запись, должны быть смонтированы с
       опцией nosuid.

       Модуль pam_group работает параллельно с файлом /etc/group. Если
       пользователю предоставлены какие-либо группы на основе поведения
       этого модуля, они добавляются к записям в /etc/group (или
       эквивалентном).

OPTIONS
       Этот модуль не распознает никаких опций.

MODULE TYPES PROVIDED
       Предоставляется только тип модуля auth.

RETURN VALUES
       PAM_SUCCESS
	   Членство в группе было предоставлено.

       PAM_ABORT
	   Не удалось получить все необходимые данные.

       PAM_BUF_ERR
	   Ошибка буфера памяти.

       PAM_CRED_ERR
	   Членство в группе не было предоставлено.

       PAM_IGNORE
	   Была вызвана pam_sm_authenticate, которая ничего не делает.

       PAM_USER_UNKNOWN
	   Пользователь неизвестен системе.

FILES
       /etc/security/group.conf
	   Файл конфигурации по умолчанию

SEE ALSO
       group.conf(5), pam.d(5), pam(8).

AUTHORS
       pam_group был написан Andrew G. Morgan <morgan@kernel.org>.

Linux-PAM			  05/12/2025			  PAM_GROUP(8)
PAM_GROUP(8)		       Linux-PAM Manual			  PAM_GROUP(8)



NAME
       pam_group - PAM module for group access

SYNOPSIS
       pam_group.so

DESCRIPTION
       The pam_group PAM module does not authenticate the user, but instead it
       grants group memberships (in the credential setting phase of the
       authentication module) to the user. Such memberships are based on the
       service they are applying for.

       By default rules for group memberships are taken from config file
       /etc/security/group.conf.

       This module's usefulness relies on the file-systems accessible to the
       user. The point being that once granted the membership of a group, the
       user may attempt to create a setgid binary with a restricted group
       ownership. Later, when the user is not given membership to this group,
       they can recover group membership with the precompiled binary. The
       reason that the file-systems that the user has access to are so
       significant, is the fact that when a system is mounted nosuid the user
       is unable to create or execute such a binary file. For this module to
       provide any level of security, all file-systems that the user has write
       access to should be mounted nosuid.

       The pam_group module functions in parallel with the /etc/group file. If
       the user is granted any groups based on the behavior of this module,
       they are granted in addition to those entries /etc/group (or
       equivalent).

OPTIONS
       This module does not recognise any options.

MODULE TYPES PROVIDED
       Only the auth module type is provided.

RETURN VALUES
       PAM_SUCCESS
	   group membership was granted.

       PAM_ABORT
	   Not all relevant data could be gotten.

       PAM_BUF_ERR
	   Memory buffer error.

       PAM_CRED_ERR
	   Group membership was not granted.

       PAM_IGNORE
	   pam_sm_authenticate was called which does nothing.

       PAM_USER_UNKNOWN
	   The user is not known to the system.

FILES
       /etc/security/group.conf
	   Default configuration file

SEE ALSO
       group.conf(5), pam.d(5), pam(8).

AUTHORS
       pam_group was written by Andrew G. Morgan <morgan@kernel.org>.



Linux-PAM			  05/12/2025			  PAM_GROUP(8)

PAM_FTP(8)		       Руководство Linux-PAM			    PAM_FTP(8)



NAME
       pam_ftp - модуль PAM для анонимного доступа

SYNOPSIS
       pam_ftp.so [debug] [ignore] [users=XXX,YYY,...]

DESCRIPTION
       pam_ftp — это модуль PAM, который предоставляет подключаемый режим
       анонимного доступа по FTP.

       Этот модуль перехватывает имя пользователя и пароль. Если имя является ftp
       или anonymous, пароль пользователя разбивается на части по разделителю @ на
       PAM_RUSER и PAM_RHOST; эти элементы PAM устанавливаются соответственно.
       Имя пользователя (PAM_USER) устанавливается как ftp. В этом случае
       модуль завершается успешно. В противном случае модуль устанавливает элемент
       PAM_AUTHTOK с введенным паролем и завершается с ошибкой.

       Этот модуль небезопасен и легко подвержен подделке.

OPTIONS
       debug
	   Печатать отладочную информацию.

       ignore
	   Игнорировать адрес электронной почты пользователя (если он указан).

       users=XXX,YYY,...
	   Вместо ftp или anonymous предоставлять анонимный вход для списка
	   пользователей, разделенных запятыми: XXX,YYY,.... Если пользователь
	   вводит одно из этих имен, возвращаемое имя пользователя устанавливается
	   как первое в списке: XXX.

MODULE TYPES PROVIDED
       Предоставляется только тип модуля auth.

RETURN VALUES
       PAM_SUCCESS
	   Аутентификация прошла успешно.

       PAM_USER_UNKNOWN
	   Пользователь не известен.

EXAMPLES
       Добавьте следующую строку в /etc/pam.d/ftpd для обработки анонимного
       входа в стиле FTP:

	   #
	   # ftpd; добавьте специфические для FTP настройки. Эти строки
	   #       позволяют анонимный FTP поверх стандартного доступа UN*X
	   #       (запись listfile блокирует доступ для пользователей,
	   #       перечисленных в /etc/ftpusers)
	   #
	   auth	   sufficient  pam_ftp.so
	   auth	   required    pam_unix.so use_first_pass
	   auth	   required    pam_listfile.so \
		      onerr=succeed item=user sense=deny file=/etc/ftpusers



SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_ftp был написан Andrew G. Morgan <morgan@kernel.org>.



Linux-PAM			  05/12/2025			    PAM_FTP(8)
PAM_FTP(8)		       Linux-PAM Manual			    PAM_FTP(8)



NAME
       pam_ftp - PAM module for anonymous access module

SYNOPSIS
       pam_ftp.so [debug] [ignore] [users=XXX,YYY,...]

DESCRIPTION
       pam_ftp is a PAM module which provides a pluggable anonymous ftp mode
       of access.

       This module intercepts the user's name and password. If the name is ftp
       or anonymous, the user's password is broken up at the @ delimiter into
       a PAM_RUSER and a PAM_RHOST part; these pam-items being set
       accordingly. The username (PAM_USER) is set to ftp. In this case the
       module succeeds. Alternatively, the module sets the PAM_AUTHTOK item
       with the entered password and fails.

       This module is not safe and easily spoofable.

OPTIONS
       debug
	   Print debug information.

       ignore
	   Pay no attention to the email address of the user (if supplied).

       ftp=XXX,YYY,...
	   Instead of ftp or anonymous, provide anonymous login to the comma
	   separated list of users: XXX,YYY,.... Should the applicant enter
	   one of these usernames the returned username is set to the first in
	   the list: XXX.

MODULE TYPES PROVIDED
       Only the auth module type is provided.

RETURN VALUES
       PAM_SUCCESS
	   The authentication was successful.

       PAM_USER_UNKNOWN
	   User not known.

EXAMPLES
       Add the following line to /etc/pam.d/ftpd to handle ftp style anonymous
       login:

	   #
	   # ftpd; add ftp-specifics. These lines enable anonymous ftp over
	   #	   standard UN*X access (the listfile entry blocks access to
	   #	   users listed in /etc/ftpusers)
	   #
	   auth	   sufficient  pam_ftp.so
	   auth	   required    pam_unix.so use_first_pass
	   auth	   required    pam_listfile.so \
		      onerr=succeed item=user sense=deny file=/etc/ftpusers



SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_ftp was written by Andrew G. Morgan <morgan@kernel.org>.



Linux-PAM			  05/12/2025			    PAM_FTP(8)

FAILLOCK.CONF(5)	       Linux-PAM Manual		      FAILLOCK.CONF(5)



NAME
       faillock.conf - файл конфигурации pam_faillock

DESCRIPTION
       faillock.conf предоставляет способ настройки параметров по умолчанию
       для блокировки пользователя после нескольких неудачных попыток
       аутентификации. Этот файл читается модулем pam_faillock и является
       предпочтительным методом по сравнению с прямой настройкой
       pam_faillock.

       Файл имеет очень простой формат имя = значение с возможными комментариями,
       начинающимися с символа #. Пробелы в начале строки, в конце строки и
       вокруг знака = игнорируются.

OPTIONS
       dir=/path/to/tally-directory
	   Каталог, где хранятся файлы пользователей с записями о неудачах.
	   Значение по умолчанию — /var/run/faillock.

	   Примечание: Эти файлы исчезнут после перезагрузки системы, если
	   каталог /var/run/faillock смонтирован на виртуальной памяти.

       audit
	   Зафиксирует имя пользователя в системном журнале, если пользователь
	   не найден.

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

       no_log_info
	   Не логировать информационные сообщения через syslog(3).

       local_users_only
	   Отслеживать только неудачные попытки аутентификации локальных
	   пользователей из /etc/passwd и игнорировать централизованных
	   (AD, IdM, LDAP и т.д.) пользователей. Команда faillock(8) также
	   перестанет отслеживать неудачные попытки аутентификации пользователей.
	   Включение этой опции предотвратит сценарий двойной блокировки, когда
	   пользователь блокируется локально и в централизованном механизме.

       nodelay
	   Не вводить задержку после неудачных попыток аутентификации.

       deny=n
	   Запретить доступ, если количество последовательных неудачных попыток
	   аутентификации для этого пользователя в недавнем интервале превысит n.
	   Значение по умолчанию — 3.

       fail_interval=n
	   Длина интервала, в течение которого должны произойти последовательные
	   неудачные попытки аутентификации для блокировки учётной записи
	   пользователя, составляет n секунд. Значение по умолчанию — 900 (15 минут).

       unlock_time=n
	   Доступ будет восстановлен через n секунд после блокировки.
	   Значение 0 имеет то же значение, что и "никогда" — доступ не будет
	   восстановлен без сброса записей faillock командой faillock(8).
	   Значение по умолчанию — 600 (10 минут).

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

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

       even_deny_root
	   Учётная запись root также может быть заблокирована, как и обычные
	   учётные записи.

       root_unlock_time=n
	   Эта опция подразумевает even_deny_root. Разрешить доступ к учётной
	   записи root через n секунд после блокировки. Если опция не указана,
	   значение будет таким же, как у опции unlock_time.

       admin_group=name
	   Если указано имя группы с этой опцией, члены группы будут обрабатываться
	   этим модулем так же, как учётная запись root (на них будут применяться
	   опции even_deny_root и root_unlock_time). По умолчанию опция не задана.

EXAMPLES
       Пример файла /etc/security/faillock.conf:

	   deny=4
	   unlock_time=1200
	   silent


FILES
       /etc/security/faillock.conf
	   файл конфигурации для пользовательских опций

SEE ALSO
       faillock(8), pam_faillock(8), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_faillock был написан Tomas Mraz. Поддержка faillock.conf
       была написана Brian Ward.



Linux-PAM			  05/12/2025		      FAILLOCK.CONF(5)
FAILLOCK.CONF(5)	       Linux-PAM Manual		      FAILLOCK.CONF(5)



NAME
       faillock.conf - pam_faillock configuration file

DESCRIPTION
       faillock.conf provides a way to configure the default settings for
       locking the user after multiple failed authentication attempts. This
       file is read by the pam_faillock module and is the preferred method
       over configuring pam_faillock directly.

       The file has a very simple name = value format with possible comments
       starting with # character. The whitespace at the beginning of line, end
       of line, and around the = sign is ignored.

OPTIONS
       dir=/path/to/tally-directory
	   The directory where the user files with the failure records are
	   kept. The default is /var/run/faillock.

	   Note: These files will disappear after reboot on systems configured
	   with directory /var/run/faillock mounted on virtual memory.

       audit
	   Will log the user name into the system log if the user is not
	   found.

       silent
	   Don't print informative messages to the user. Please note that when
	   this option is not used there will be difference in the
	   authentication behavior for users which exist on the system and
	   non-existing users.

       no_log_info
	   Don't log informative messages via syslog(3).

       local_users_only
	   Only track failed user authentications attempts for local users in
	   /etc/passwd and ignore centralized (AD, IdM, LDAP, etc.) users. The
	   faillock(8) command will also no longer track user failed
	   authentication attempts. Enabling this option will prevent a
	   double-lockout scenario where a user is locked out locally and in
	   the centralized mechanism.

       nodelay
	   Don't enforce a delay after authentication failures.

       deny=n
	   Deny access if the number of consecutive authentication failures
	   for this user during the recent interval exceeds n. The default is
	   3.

       fail_interval=n
	   The length of the interval during which the consecutive
	   authentication failures must happen for the user account lock out
	   is n seconds. The default is 900 (15 minutes).

       unlock_time=n
	   The access will be re-enabled after n seconds after the lock out.
	   The value 0 has the same meaning as value never - the access will
	   not be re-enabled without resetting the faillock entries by the
	   faillock(8) command. The default is 600 (10 minutes).

	   Note that the default directory that pam_faillock uses is usually
	   cleared on system boot so the access will be also re-enabled after
	   system reboot. If that is undesirable a different tally directory
	   must be set with the dir option.

	   Also note that it is usually undesirable to permanently lock out
	   users as they can become easily a target of denial of service
	   attack unless the usernames are random and kept secret to potential
	   attackers.

       even_deny_root
	   Root account can become locked as well as regular accounts.

       root_unlock_time=n
	   This option implies even_deny_root option. Allow access after n
	   seconds to root account after the account is locked. In case the
	   option is not specified the value is the same as of the unlock_time
	   option.

       admin_group=name
	   If a group name is specified with this option, members of the group
	   will be handled by this module the same as the root account (the
	   options even_deny_root and root_unlock_time will apply to them. By
	   default the option is not set.

EXAMPLES
       /etc/security/faillock.conf file example:

	   deny=4
	   unlock_time=1200
	   silent


FILES
       /etc/security/faillock.conf
	   the config file for custom options

SEE ALSO
       faillock(8), pam_faillock(8), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_faillock was written by Tomas Mraz. The support for faillock.conf
       was written by Brian Ward.



Linux-PAM			  05/12/2025		      FAILLOCK.CONF(5)

PAM_TIMESTAMP_CHECK(8)	       Linux-PAM Manual		PAM_TIMESTAMP_CHECK(8)



NAME
       pam_timestamp_check - Проверить, действителен ли дефолтный временный штамп

SYNOPSIS
       pam_timestamp_check [-k] [-d] [target_user]

DESCRIPTION
       Без аргументов pam_timestamp_check проверит, действителен ли дефолтный
       временный штамп, или опционально удалит его.

OPTIONS
       -k
	   Вместо проверки действительности временного штампа, удалить его. Это
	   аналогично опции -k sudo.

       -d
	   Вместо возврата действительности через код выхода, зациклиться
	   неопределённо, регулярно опрашивая и выводя статус на стандартный
	   вывод.

       target_user
	   По умолчанию pam_timestamp_check проверяет или удаляет временные
	   штампы, созданные pam_timestamp, когда пользователи аутентифицируются
	   как сами себя. Когда пользователь аутентифицируется как другой
	   пользователь, имя файла временного штампа изменяется соответственно.
	   target_user позволяет указать это имя пользователя.

RETURN VALUES
       0
	   Временный штамп действителен.

       2
	   Бинарный файл не имеет setuid root.

       3
	   Недопустимый вызов.

       4
	   Пользователь неизвестен.

       5
	   Ошибка разрешений.

       6
	   Недопустимый контролирующий tty.

       7
	   Временный штамп недействителен.

NOTES
       Пользователи могут запутаться, когда не всегда запрашиваются пароли
       при запуске определённой программы. Некоторые пользователи рефлекторно
       начинают вводить информацию, не заметив, что она не запрашивается.

EXAMPLES
	   auth sufficient pam_timestamp.so verbose
	   auth required   pam_unix.so

	   session required pam_unix.so
	   session optional pam_timestamp.so


FILES
       /var/run/sudo/...
	   файлы и директории временных штампов

SEE ALSO
       pam_timestamp_check(8), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_timestamp был написан Nalin Dahyabhai.



Linux-PAM			  05/12/2025		PAM_TIMESTAMP_CHECK(8)
PAM_TIMESTAMP_CHECK(8)	       Linux-PAM Manual		PAM_TIMESTAMP_CHECK(8)



NAME
       pam_timestamp_check - Check to see if the default timestamp is valid

SYNOPSIS
       pam_timestamp_check [-k] [-d] [target_user]

DESCRIPTION
       With no arguments pam_timestamp_check will check to see if the default
       timestamp is valid, or optionally remove it.

OPTIONS
       -k
	   Instead of checking the validity of a timestamp, remove it. This is
	   analogous to sudo's -k option.

       -d
	   Instead of returning validity using an exit status, loop
	   indefinitely, polling regularly and printing the status on standard
	   output.

       target_user
	   By default pam_timestamp_check checks or removes timestamps
	   generated by pam_timestamp when users authenticate as themselves.
	   When the user authenticates as a different user, the name of the
	   timestamp file changes to accommodate this.	target_user allows one
	   to specify this user name.

RETURN VALUES
       0
	   The timestamp is valid.

       2
	   The binary is not setuid root.

       3
	   Invalid invocation.

       4
	   User is unknown.

       5
	   Permissions error.

       6
	   Invalid controlling tty.

       7
	   Timestamp is not valid.

NOTES
       Users can get confused when they are not always asked for passwords
       when running a given program. Some users reflexively begin typing
       information before noticing that it is not being asked for.

EXAMPLES
	   auth sufficient pam_timestamp.so verbose
	   auth required   pam_unix.so

	   session required pam_unix.so
	   session optional pam_timestamp.so


FILES
       /var/run/sudo/...
	   timestamp files and directories

SEE ALSO
       pam_timestamp_check(8), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_timestamp was written by Nalin Dahyabhai.



Linux-PAM			  05/12/2025		PAM_TIMESTAMP_CHECK(8)

PAM_LISTFILE(8)		       Руководство Linux-PAM		       PAM_LISTFILE(8)



NAME
       pam_listfile - запретить или разрешить сервисы на основе произвольного файла

SYNOPSIS
       pam_listfile.so item=[tty|user|rhost|ruser|group|shell]
		       sense=[allow|deny] file=/path/filename
		       onerr=[succeed|fail] [apply=[user|@group]] [quiet]

DESCRIPTION
       pam_listfile — это модуль PAM, который предоставляет способ запретить или разрешить
       сервисы на основе произвольного файла.

       Модуль получает элемент указанного типа — user указывает имя пользователя,
       PAM_USER; tty указывает имя терминала (если таковой имеется), над которым был
       сделан запрос, PAM_TTY; rhost указывает имя удалённого хоста (если таковой имеется),
       откуда был сделан запрос, PAM_RHOST; и ruser указывает имя удалённого пользователя
       (если доступно), который сделал запрос, PAM_RUSER — и ищет экземпляр этого элемента
       в файле file=filename. Файл filename содержит одну строку на элемент. Если элемент
       найден, то если sense=allow, возвращается PAM_SUCCESS, что приводит к успешной
       авторизации; в противном случае, если sense=deny, возвращается PAM_AUTH_ERR, что
       приводит к неудачной авторизации.

       Если возникает ошибка (например, если файл filename не существует или встречается
       неправильно построенный аргумент), то если onerr=succeed, возвращается PAM_SUCCESS,
       в противном случае, если onerr=fail, возвращается PAM_AUTH_ERR или PAM_SERVICE_ERR
       (в зависимости от ситуации).

       Дополнительный аргумент apply= может использоваться для ограничения применения
       вышеуказанного правила для конкретного пользователя (apply=username) или заданной
       группы (apply=@groupname). Это дополнительное ограничение имеет смысл только при
       использовании с элементами tty, rhost и shell.

       Кроме последнего, все аргументы должны быть указаны; не полагайтесь на какое-либо
       поведение по умолчанию.

       Этот модуль не выдаёт никаких учётных данных.

OPTIONS
       item=[tty|user|rhost|ruser|group|shell]
	   Что указано в файле и должно быть проверено.

       sense=[allow|deny]
	   Действие, которое следует предпринять, если элемент найден в файле. Если элемент НЕ
	   найден в файле, запрашивается противоположное действие.

       file=/path/filename
	   Файл, содержащий по одному элементу на строку. Файл должен быть обычным файлом и
	   не должен быть доступен для записи всем.

       onerr=[succeed|fail]
	   Что делать, если происходит что-то необычное, например, невозможно открыть файл.

       apply=[user|@group]
	   Ограничить класс пользователей, для которого применяется ограничение. Обратите
	   внимание, что при item=[user|ruser|group] это не имеет смысла, но для
	   item=[tty|rhost|shell] это имеет значение.

       quiet
	   Не считать отказы сервиса или отсутствие файлов списков как ошибки, которые нужно
	   логировать.

MODULE TYPES PROVIDED
       Все типы модулей (auth, account, password и session) предоставляются.

RETURN VALUES
       PAM_AUTH_ERR
	   Сбой аутентификации.

       PAM_BUF_ERR
	   Ошибка буфера памяти.

       PAM_IGNORE
	   Правило не применяется к опции apply.

       PAM_SERVICE_ERR
	   Ошибка в модуле сервиса.

       PAM_SUCCESS
	   Успех.

EXAMPLES
       Классическая аутентификация 'ftpusers' может быть реализована с помощью этой записи в
       /etc/pam.d/ftpd:

	   #
	   # запретить доступ по ftp для пользователей, перечисленных в файле /etc/ftpusers
	   #
	   auth	   required	  pam_listfile.so \
		   onerr=succeed item=user sense=deny file=/etc/ftpusers


       Обратите внимание, пользователи, перечисленные в файле /etc/ftpusers, (вопреки
       интуиции) не имеют доступа к сервису ftp.

       Чтобы разрешить доступ для входа только для определённых пользователей, вы можете
       использовать запись в /etc/pam.d/login, такую как эта:

	   #
	   # разрешить вход для пользователей, перечисленных в /etc/loginusers
	   #
	   auth	   required	  pam_listfile.so \
		   onerr=fail item=user sense=allow file=/etc/loginusers


       Для того, чтобы этот пример работал, все пользователи, которым разрешён доступ к
       сервису login, должны быть перечислены в файле /etc/loginusers. Если вы не пытаетесь
       явно заблокировать root, убедитесь, что при этом вы оставляете способ для root войти
       в систему, либо перечислив root в /etc/loginusers, либо перечислив пользователя,
       который может su в учётную запись root.

SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_listfile был написан Michael K. Johnson <johnsonm@redhat.com> и Elliot Lee
       <sopwith@cuc.edu>.



Linux-PAM			  05/12/2025		       PAM_LISTFILE(8)
PAM_LISTFILE(8)		       Linux-PAM Manual		       PAM_LISTFILE(8)



NAME
       pam_listfile - deny or allow services based on an arbitrary file

SYNOPSIS
       pam_listfile.so item=[tty|user|rhost|ruser|group|shell]
		       sense=[allow|deny] file=/path/filename
		       onerr=[succeed|fail] [apply=[user|@group]] [quiet]

DESCRIPTION
       pam_listfile is a PAM module which provides a way to deny or allow
       services based on an arbitrary file.

       The module gets the item of the type specified -- user specifies the
       username, PAM_USER; tty specifies the name of the terminal (if any)
       over which the request has been made, PAM_TTY; rhost specifies the name
       of the remote host (if any) from which the request was made, PAM_RHOST;
       and ruser specifies the name of the remote user (if available) who made
       the request, PAM_RUSER -- and looks for an instance of that item in the
       file=filename.  filename contains one line per item listed. If the item
       is found, then if sense=allow, PAM_SUCCESS is returned, causing the
       authorization request to succeed; else if sense=deny, PAM_AUTH_ERR is
       returned, causing the authorization request to fail.

       If an error is encountered (for instance, if filename does not exist,
       or a poorly-constructed argument is encountered), then if
       onerr=succeed, PAM_SUCCESS is returned, otherwise if onerr=fail,
       PAM_AUTH_ERR or PAM_SERVICE_ERR (as appropriate) will be returned.

       An additional argument, apply=, can be used to restrict the application
       of the above to a specific user (apply=username) or a given group
       (apply=@groupname). This added restriction is only meaningful when used
       with the tty, rhost and shell items.

       Besides this last one, all arguments should be specified; do not count
       on any default behavior.

       No credentials are awarded by this module.

OPTIONS
       item=[tty|user|rhost|ruser|group|shell]
	   What is listed in the file and should be checked for.

       sense=[allow|deny]
	   Action to take if the item is found in the file. If the item is NOT
	   found in the file, then the opposite action is requested.

       file=/path/filename
	   File containing one item per line. The file needs to be a plain
	   file and not world writable.

       onerr=[succeed|fail]
	   What to do if something weird happens like being unable to open the
	   file.

       apply=[user|@group]
	   Restrict the user class for which the restriction apply. Note that
	   with item=[user|ruser|group] this does not make sense, but for
	   item=[tty|rhost|shell] it has a meaning.

       quiet
	   Do not treat service refusals or missing list files as errors that
	   need to be logged.

MODULE TYPES PROVIDED
       All module types (auth, account, password and session) are provided.

RETURN VALUES
       PAM_AUTH_ERR
	   Authentication failure.

       PAM_BUF_ERR
	   Memory buffer error.

       PAM_IGNORE
	   The rule does not apply to the apply option.

       PAM_SERVICE_ERR
	   Error in service module.

       PAM_SUCCESS
	   Success.

EXAMPLES
       Classic 'ftpusers' authentication can be implemented with this entry in
       /etc/pam.d/ftpd:

	   #
	   # deny ftp-access to users listed in the /etc/ftpusers file
	   #
	   auth	   required	  pam_listfile.so \
		   onerr=succeed item=user sense=deny file=/etc/ftpusers


       Note, users listed in /etc/ftpusers file are (counterintuitively) not
       allowed access to the ftp service.

       To allow login access only for certain users, you can use a
       /etc/pam.d/login entry like this:

	   #
	   # permit login to users listed in /etc/loginusers
	   #
	   auth	   required	  pam_listfile.so \
		   onerr=fail item=user sense=allow file=/etc/loginusers


       For this example to work, all users who are allowed to use the login
       service should be listed in the file /etc/loginusers. Unless you are
       explicitly trying to lock out root, make sure that when you do this,
       you leave a way for root to log in, either by listing root in
       /etc/loginusers, or by listing a user who is able to su to the root
       account.

SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_listfile was written by Michael K. Johnson <johnsonm@redhat.com>
       and Elliot Lee <sopwith@cuc.edu>.



Linux-PAM			  05/12/2025		       PAM_LISTFILE(8)

PAM(8)			       Linux-PAM Manual				PAM(8)



NAME
       PAM, pam - Pluggable Authentication Modules for Linux

DESCRIPTION
       Это руководство предназначено для быстрого введения в Linux-PAM. Для
       получения дополнительной информации читатель должен обратиться к
       руководству системного администратора Linux-PAM.

       Linux-PAM представляет собой систему библиотек, которые выполняют задачи
       аутентификации приложений (сервисов) в системе. Библиотека предоставляет
       стабильный общий интерфейс (Application Programming Interface - API),
       которому программы, предоставляющие привилегии (такие как login(1) и su(1)),
       делегируют выполнение стандартных задач аутентификации.

       Основная особенность подхода PAM заключается в том, что природа
       аутентификации динамически настраиваема. Иными словами, системный
       администратор может самостоятельно выбирать, как приложения, предоставляющие
       сервисы, будут аутентифицировать пользователей. Эта динамическая настройка
       определяется содержимым единственного файла конфигурации Linux-PAM
       /etc/pam.conf. Альтернативно и предпочтительнее, настройка может быть
       задана с помощью отдельных файлов конфигурации, расположенных в каталоге
       pam.d. Наличие этого каталога заставит Linux-PAM игнорировать
       /etc/pam.conf.

       Файлы конфигурации PAM, поставляемые производителем, могут быть установлены
       в системном каталоге /usr/lib/pam.d/ или в другом настраиваемом каталоге,
       специфичном для производителя, вместо каталога конфигурации машины
       /etc/pam.d/. Если файл конфигурации машины не найден, используется файл,
       поставляемый производителем. Все файлы в /etc/pam.d/ переопределяют файлы
       с одинаковыми именами в других каталогах.

       С точки зрения системного администратора, для которого предназначено это
       руководство, не так важно понимать внутреннее поведение библиотеки
       Linux-PAM. Важно понимать, что файл(ы) конфигурации определяют связь между
       приложениями (сервисами) и модулями подключаемой аутентификации (PAMs),
       которые выполняют фактические задачи аутентификации.

       Linux-PAM разделяет задачи аутентификации на четыре независимые группы
       управления: управление учётными записями; управление аутентификацией;
       управление паролями; и управление сессиями. (Мы выделяем сокращения,
       используемые для этих групп в файле конфигурации.)

       Просто говоря, эти группы занимаются разными аспектами типичного запроса
       пользователя на ограниченный сервис:

       account - предоставляют услуги проверки учётных записей: истёк ли срок
       действия пароля пользователя?; разрешён ли этому пользователю доступ к
       запрошенному сервису?

       authentication - аутентифицируют пользователя и настраивают учётные
       данные пользователя. Обычно это происходит через запрос с вызовом и
       ответом, который пользователь должен удовлетворить: если вы тот, за кого
       себя выдаёте, введите свой пароль. Не все виды аутентификации такого типа;
       существуют аппаратные схемы аутентификации (такие как использование
       смарт-карт и биометрических устройств), и с подходящими модулями они могут
       быть seamlessly заменены на более стандартные подходы к аутентификации -
       такая гибкость характерна для Linux-PAM.

       password - ответственность этой группы - задача обновления механизмов
       аутентификации. Обычно такие сервисы тесно связаны с сервисами группы auth.
       Некоторые механизмы аутентификации хорошо подходят для обновления с помощью
       такой функции. Очевидный пример - стандартный доступ на основе пароля UN*X:
       пожалуйста, введите заменяющий пароль.

       session - эта группа задач охватывает вещи, которые должны выполняться
       перед предоставлением сервиса и после его отзыва. К таким задачам относятся
       поддержка журналов аудита и монтирование домашнего каталога пользователя.
       Группа управления сессиями важна, поскольку она предоставляет хуки для
       открытия и закрытия, позволяющие модулям влиять на сервисы, доступные
       пользователю.

FILES
       /etc/pam.conf
	   файл конфигурации

       /etc/pam.d
	   каталог конфигурации Linux-PAM. В общем, если этот каталог
	   присутствует, файл /etc/pam.conf игнорируется.

       /usr/lib/pam.d
	   каталог конфигурации Linux-PAM, поставляемый производителем. Файлы в
	   /etc/pam.d переопределяют файлы с одинаковыми именами в этом каталоге.

ERRORS
       Как правило, ошибки, генерируемые системой библиотек Linux-PAM, будут
       записываться в syslog(3).

CONFORMING TO
       DCE-RFC 86.0, October 1995. Содержит дополнительные функции, но остаётся
       обратно совместимым с этим RFC.

SEE ALSO
       pam(3), pam_authenticate(3), pam_sm_setcred(3), pam_strerror(3), PAM(8)



Linux-PAM			  05/12/2025				PAM(8)
PAM(8)			       Linux-PAM Manual				PAM(8)



NAME
       PAM, pam - Pluggable Authentication Modules for Linux

DESCRIPTION
       This manual is intended to offer a quick introduction to Linux-PAM. For
       more information the reader is directed to the Linux-PAM system
       administrators' guide.

       Linux-PAM is a system of libraries that handle the authentication tasks
       of applications (services) on the system. The library provides a stable
       general interface (Application Programming Interface - API) that
       privilege granting programs (such as login(1) and su(1)) defer to to
       perform standard authentication tasks.

       The principal feature of the PAM approach is that the nature of the
       authentication is dynamically configurable. In other words, the system
       administrator is free to choose how individual service-providing
       applications will authenticate users. This dynamic configuration is set
       by the contents of the single Linux-PAM configuration file
       /etc/pam.conf. Alternatively and preferably, the configuration can be
       set by individual configuration files located in a pam.d directory. The
       presence of this directory will cause Linux-PAM to ignore
       /etc/pam.conf.

       Vendor-supplied PAM configuration files might be installed in the
       system directory /usr/lib/pam.d/ or a configurable vendor specific
       directory instead of the machine configuration directory /etc/pam.d/.
       If no machine configuration file is found, the vendor-supplied file is
       used. All files in /etc/pam.d/ override files with the same name in
       other directories.

       From the point of view of the system administrator, for whom this
       manual is provided, it is not of primary importance to understand the
       internal behavior of the Linux-PAM library. The important point to
       recognize is that the configuration file(s) define the connection
       between applications (services) and the pluggable authentication
       modules (PAMs) that perform the actual authentication tasks.

       Linux-PAM separates the tasks of authentication into four independent
       management groups: account management; authentication management;
       password management; and session management. (We highlight the
       abbreviations used for these groups in the configuration file.)

       Simply put, these groups take care of different aspects of a typical
       user's request for a restricted service:

       account - provide account verification types of service: has the user's
       password expired?; is this user permitted access to the requested
       service?

       authentication - authenticate a user and set up user credentials.
       Typically this is via some challenge-response request that the user
       must satisfy: if you are who you claim to be please enter your
       password. Not all authentications are of this type, there exist
       hardware based authentication schemes (such as the use of smart-cards
       and biometric devices), with suitable modules, these may be substituted
       seamlessly for more standard approaches to authentication - such is the
       flexibility of Linux-PAM.

       password - this group's responsibility is the task of updating
       authentication mechanisms. Typically, such services are strongly
       coupled to those of the auth group. Some authentication mechanisms lend
       themselves well to being updated with such a function. Standard UN*X
       password-based access is the obvious example: please enter a
       replacement password.

       session - this group of tasks cover things that should be done prior to
       a service being given and after it is withdrawn. Such tasks include the
       maintenance of audit trails and the mounting of the user's home
       directory. The session management group is important as it provides
       both an opening and closing hook for modules to affect the services
       available to a user.

FILES
       /etc/pam.conf
	   the configuration file

       /etc/pam.d
	   the Linux-PAM configuration directory. Generally, if this directory
	   is present, the /etc/pam.conf file is ignored.

       /usr/lib/pam.d
	   the Linux-PAM vendor configuration directory. Files in /etc/pam.d
	   override files with the same name in this directory.

ERRORS
       Typically errors generated by the Linux-PAM system of libraries, will
       be written to syslog(3).

CONFORMING TO
       DCE-RFC 86.0, October 1995. Contains additional features, but remains
       backwardly compatible with this RFC.

SEE ALSO
       pam(3), pam_authenticate(3), pam_sm_setcred(3), pam_strerror(3), PAM(8)



Linux-PAM			  05/12/2025				PAM(8)

PWHISTORY_HELPER(8)	       Linux-PAM Manual		   PWHISTORY_HELPER(8)



NAME
       pwhistory_helper - Вспомогательная программа, которая переносит хэши паролей из файла passwd или shadow в файл opasswd

SYNOPSIS
       pwhistory_helper [...]

DESCRIPTION
       pwhistory_helper — это вспомогательная программа для модуля pam_pwhistory, которая переносит хэши паролей из файла passwd или shadow в файл opasswd и проверяет пароль, предоставленный пользователем, на соответствие существующим хэшам в файле opasswd.

       Цель вспомогательной программы — обеспечить более строгий контроль служб входа и смены пароля. Программа вызывается только при включенном SELinux в системе.

       Интерфейс программы — параметры командной строки и формат входных/выходных данных — является внутренним для модуля pam_pwhistory, и она не должна вызываться напрямую из приложений.

SEE ALSO
       pam_pwhistory(8)

AUTHOR
       Написано Tomas Mraz на основе кода, изначально использованного в модулях pam_pwhistory и pam_unix.



Linux-PAM			  05/12/2025		   PWHISTORY_HELPER(8)
PWHISTORY_HELPER(8)	       Linux-PAM Manual		   PWHISTORY_HELPER(8)



NAME
       pwhistory_helper - Helper binary that transfers password hashes from
       passwd or shadow to opasswd

SYNOPSIS
       pwhistory_helper [...]

DESCRIPTION
       pwhistory_helper is a helper program for the pam_pwhistory module that
       transfers password hashes from passwd or shadow file to the opasswd
       file and checks a password supplied by user against the existing hashes
       in the opasswd file.

       The purpose of the helper is to enable tighter confinement of login and
       password changing services. The helper is thus called only when SELinux
       is enabled on the system.

       The interface of the helper - command line options, and input/output
       data format are internal to the pam_pwhistory module and it should not
       be called directly from applications.

SEE ALSO
       pam_pwhistory(8)

AUTHOR
       Written by Tomas Mraz based on the code originally in pam_pwhistory and
       pam_unix modules.



Linux-PAM			  05/12/2025		   PWHISTORY_HELPER(8)

PAM_USERDB(8)		       Linux-PAM Manual			 PAM_USERDB(8)



NAME
       pam_userdb - модуль PAM для аутентификации против базы данных db

SYNOPSIS
       pam_userdb.so db=/path/database [debug] [crypt=[crypt|none]] [icase]
		     [dump] [try_first_pass] [use_first_pass] [unknown_ok]
		     [key_only]

DESCRIPTION
       Модуль pam_userdb используется для проверки пары имя пользователя/пароль
       против значений, хранящихся в базе данных Berkeley DB. База данных
       индексируется по имени пользователя, а поля данных, соответствующие
       ключам имени пользователя, являются паролями.

OPTIONS
       crypt=[crypt|none]
	   Указывает, хранятся ли зашифрованные или обычные пароли в
	   базе данных. Если указано crypt, пароли должны храниться в
	   базе данных в формате crypt(3). Если указано none, пароли должны
	   храниться в базе данных как обычный текст.

       db=/path/database
	   Использовать базу данных /path/database для поиска. Значение по
	   умолчанию отсутствует; модуль вернёт PAM_IGNORE, если база данных
	   не указана. Обратите внимание, что путь к файлу базы данных
	   следует указывать без суффикса .db.

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

       dump
	   Выводить все записи из базы данных в лог. Не делайте это по
	   умолчанию!

       icase
	   Сделать проверку пароля нечувствительной к регистру (например,
	   при работе с регистрационными номерами). Работает только с
	   хранением паролей в обычном тексте.

       try_first_pass
	   Использовать аутентификационный токен, полученный ранее другим
	   модулем, который провёл диалог с приложением. Если токен получить
	   нельзя, модуль попытается провести диалог. Эта опция может быть
	   использована для стека модулей, которые работают с
	   аутентификационными токенами.

       use_first_pass
	   Использовать аутентификационный токен, полученный ранее другим
	   модулем, который провёл диалог с приложением. Если токен получить
	   нельзя, модуль завершится с ошибкой. Эта опция может быть
	   использована для стека модулей, которые работают с
	   аутентификационными токенами.

       unknown_ok
	   Не возвращать ошибку при проверке пользователя, отсутствующего
	   в базе данных. Это можно использовать для стека нескольких
	   модулей pam_userdb, которые будут проверять пару
	   имя пользователя/пароль в нескольких базах данных.

       key_only
	   Имя пользователя и пароль объединяются в хэш базы данных как
	   'username-password' с случайным значением. Если объединение
	   имени пользователя и пароля с дефисом в середине возвращает
	   результат, пользователь считается валидным. Это полезно в
	   случаях, когда имя пользователя может не быть уникальным, но
	   пара имя пользователя и пароль уникальна.

MODULE TYPES PROVIDED
       Предоставляются типы модулей auth и account.

RETURN VALUES
       PAM_AUTH_ERR
	   Сбой аутентификации.

       PAM_AUTHTOK_RECOVERY_ERR
	   Невозможно восстановить информацию аутентификации.

       PAM_BUF_ERR
	   Ошибка буфера памяти.

       PAM_CONV_ERR
	   Сбой диалога.

       PAM_SERVICE_ERR
	   Ошибка в модуле службы.

       PAM_SUCCESS
	   Успех.

       PAM_USER_UNKNOWN
	   Пользователь неизвестен базовому модулю аутентификации.

EXAMPLES
	   auth	 sufficient pam_userdb.so icase db=/etc/dbtest


SEE ALSO
       crypt(3), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_userdb был написан Cristian Gafton <gafton@redhat.com>.



Linux-PAM			  05/12/2025			 PAM_USERDB(8)
PAM_USERDB(8)		       Linux-PAM Manual			 PAM_USERDB(8)



NAME
       pam_userdb - PAM module to authenticate against a db database

SYNOPSIS
       pam_userdb.so db=/path/database [debug] [crypt=[crypt|none]] [icase]
		     [dump] [try_first_pass] [use_first_pass] [unknown_ok]
		     [key_only]

DESCRIPTION
       The pam_userdb module is used to verify a username/password pair
       against values stored in a Berkeley DB database. The database is
       indexed by the username, and the data fields corresponding to the
       username keys are the passwords.

OPTIONS
       crypt=[crypt|none]
	   Indicates whether encrypted or plaintext passwords are stored in
	   the database. If it is crypt, passwords should be stored in the
	   database in crypt(3) form. If none is selected, passwords should be
	   stored in the database as plaintext.

       db=/path/database
	   Use the /path/database database for performing lookup. There is no
	   default; the module will return PAM_IGNORE if no database is
	   provided. Note that the path to the database file should be
	   specified without the .db suffix.

       debug
	   Print debug information. Note that password hashes, both from db
	   and computed, will be printed to syslog.

       dump
	   Dump all the entries in the database to the log. Don't do this by
	   default!

       icase
	   Make the password verification to be case insensitive (ie when
	   working with registration numbers and such). Only works with
	   plaintext password storage.

       try_first_pass
	   Use the authentication token previously obtained by another module
	   that did the conversation with the application. If this token can
	   not be obtained then the module will try to converse. This option
	   can be used for stacking different modules that need to deal with
	   the authentication tokens.

       use_first_pass
	   Use the authentication token previously obtained by another module
	   that did the conversation with the application. If this token can
	   not be obtained then the module will fail. This option can be used
	   for stacking different modules that need to deal with the
	   authentication tokens.

       unknown_ok
	   Do not return error when checking for a user that is not in the
	   database. This can be used to stack more than one pam_userdb module
	   that will check a username/password pair in more than a database.

       key_only
	   The username and password are concatenated together in the database
	   hash as 'username-password' with a random value. if the
	   concatenation of the username and password with a dash in the
	   middle returns any result, the user is valid. this is useful in
	   cases where the username may not be unique but the username and
	   password pair are.

MODULE TYPES PROVIDED
       The auth and account module types are provided.

RETURN VALUES
       PAM_AUTH_ERR
	   Authentication failure.

       PAM_AUTHTOK_RECOVERY_ERR
	   Authentication information cannot be recovered.

       PAM_BUF_ERR
	   Memory buffer error.

       PAM_CONV_ERR
	   Conversation failure.

       PAM_SERVICE_ERR
	   Error in service module.

       PAM_SUCCESS
	   Success.

       PAM_USER_UNKNOWN
	   User not known to the underlying authentication module.

EXAMPLES
	   auth	 sufficient pam_userdb.so icase db=/etc/dbtest


SEE ALSO
       crypt(3), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_userdb was written by Cristian Gafton >gafton@redhat.com<.



Linux-PAM			  05/12/2025			 PAM_USERDB(8)

ACCESS.CONF(5)		       Руководство Linux-PAM			ACCESS.CONF(5)



NAME
       access.conf - файл таблицы контроля доступа для входа

DESCRIPTION
       Файл /etc/security/access.conf определяет комбинации (пользователь/группа, хост),
       (пользователь/группа, сеть/маска сети), (пользователь/группа, tty), (пользователь/группа,
       X-$DISPLAY-value), или (пользователь/группа, имя службы pam), для которых вход будет либо
       принят, либо отклонён.

       Когда кто-то входит в систему, файл access.conf просматривается на предмет первой записи,
       которая соответствует комбинации (пользователь/группа, хост) или (пользователь/группа,
       сеть/маска сети), или, в случае нелокальных входов, первой записи, которая соответствует
       комбинации (пользователь/группа, tty), или в случае нелокальных входов без tty, первой записи,
       которая соответствует комбинации (пользователь/группа, X-$DISPLAY-value) или (пользователь/группа,
       имя службы pam). Поле разрешений этой записи таблицы определяет, будет ли вход принят или
       отклонён.

       Каждая строка таблицы контроля доступа для входа содержит три поля, разделённые символом ":" (двоеточие):

       permission:users/groups:origins

       Первое поле, поле разрешений, может быть символом "+" (плюс) для разрешения доступа или символом "-"
       (минус) для отказа в доступе.

       Второе поле, поле пользователей/групп, должно быть списком одного или нескольких имён входа,
       имён групп, uid, gid или ALL (что всегда соответствует). Чтобы отличить записи пользователей
       от записей групп, записи групп следует писать в скобках, например, (group) или (gid).

       Третье поле, поле источников, должно быть списком одного или нескольких имён tty
       (для нелокальных входов), значений X $DISPLAY или имён служб PAM (для нелокальных входов без tty),
       имён хостов, доменных имён (начинающихся с "."), адресов хостов, номеров интернет-сетей (заканчивающихся
       на "."), адресов интернет-сетей с маской сети (где маска сети может быть десятичным числом или
       адресом интернет), ALL (что всегда соответствует) или LOCAL. Ключевое слово LOCAL соответствует,
       когда пользователь подключается без сетевого соединения (например, su, login). Соединение через
       петлевой интерфейс (например, ssh user@localhost) считается сетевым соединением, и поэтому ключевое
       слово LOCAL не соответствует.

       Если это поддерживается системой, вы можете использовать @netgroupname в шаблонах хостов или
       пользователей. Синтаксис @@netgroupname поддерживается только в шаблоне пользователя и передаёт
       имя локальной системы хоста в вызов сопоставления netgroup в дополнение к имени пользователя. Это
       может не работать корректно на некоторых реализациях libc, что приводит к постоянному сбою
       сопоставления.

       Оператор EXCEPT позволяет писать очень компактные правила.

       Если nodefgroup не установлен, файл групп просматривается, когда имя не соответствует имени
       вошедшего пользователя. Сопоставляются только группы, в которых пользователи явно перечислены.
       Однако модуль PAM не смотрит на основной идентификатор группы пользователя.

       Символ "#" в начале строки (без пробела в начале) может использоваться для пометки этой строки
       как комментария.

EXAMPLES
       Вот некоторые примеры строк, которые могут быть указаны в /etc/security/access.conf.

       Пользователь root должен иметь возможность получить доступ через cron, терминал X11 :0,
       tty1, ..., tty5, tty6.

       +:root:crond :0 tty1 tty2 tty3 tty4 tty5 tty6

       Пользователь root должен иметь возможность получить доступ с хостов, которые владеют
       адресами IPv4. Это не означает, что соединение должно быть IPv4; соединение IPv6 с хостом,
       имеющим один из этих адресов IPv4, тоже работает.

       +:root:192.168.200.1 192.168.200.4 192.168.200.9

       +:root:127.0.0.1

       Пользователь root должен получить доступ из сети 192.168.201., где термин оценивается
       с помощью строкового сопоставления. Но лучше использовать сеть/маску сети. То же значение
       для 192.168.201. эквивалентно 192.168.201.0/24 или 192.168.201.0/255.255.255.0.

       +:root:192.168.201.

       Пользователь root должен иметь возможность получить доступ с хостов foo1.bar.org и
       foo2.bar.org (использует строковое сопоставление).

       +:root:foo1.bar.org foo2.bar.org

       Пользователь root должен иметь возможность получить доступ из домена foo.bar.org (использует
       строковое сопоставление).

       +:root:.foo.bar.org

       Пользователю root должен быть запрещён доступ из всех других источников.

       -:root:ALL

       Пользователю с uid 1003 и группе с gid 1000 должен быть разрешён доступ из всех других источников.

       +:(1000) 1003:ALL

       Пользователь foo и члены netgroup admins должны иметь возможность получить доступ из всех
       источников. Это сработает только если служба netgroup доступна.

       +:@admins foo:ALL

       Пользователям john и foo должен быть разрешён доступ с адреса хоста IPv6.

       +:john foo:2001:db8:0:101::1

       Пользователям john и foo должен быть разрешён доступ с локального адреса хоста IPv6.

       +:john foo:fe80::de95:818c:1b55:7e42%eth1

       Пользователю john должен быть разрешён доступ из сети IPv6/маска.

       +:john:2001:db8:0:101::/64

       Членам группы wheel должен быть разрешён доступ из всех источников.

       +:(wheel):ALL

       Запретить вход в консоль всем, кроме учётных записей shutdown, sync и всех других, которые являются
       членами группы wheel.

       -:ALL EXCEPT (wheel) shutdown sync:LOCAL

       Всем другим пользователям должен быть запрещён доступ из всех источников.

       -:ALL:ALL

NOTES
       Разделители списка элементов в поле по умолчанию - пробел, ",", и символ табуляции. Таким образом,
       если пробелы размещены в начале и в конце полей, они игнорируются. Однако, если разделитель списка
       изменён с помощью опции listsep, пробелы станут частью фактического элемента, и строка, вероятно,
       будет игнорироваться. По этой причине не рекомендуется ставить пробелы вокруг символов ":".

       Локальный адрес хоста IPv6 должен содержать идентификатор интерфейса. Сеть/маска локальной связи IPv6
       не поддерживается.

SEE ALSO
       pam_access(8), pam.d(5), pam(8)

AUTHORS
       Оригинальное руководство login.access(5) было предоставлено Guido van Rooij, которое было
       переименовано в access.conf(5), чтобы отразить связь с файлом конфигурации по умолчанию.

       Описание адреса сети / маски сети и примеры текста были введены Mike Becher <mike.becher@lrz-muenchen.de>.



[FIXME: source]			  05/12/2025			ACCESS.CONF(5)
ACCESS.CONF(5)		       Linux-PAM Manual			ACCESS.CONF(5)



NAME
       access.conf - the login access control table file

DESCRIPTION
       The /etc/security/access.conf file specifies (user/group, host),
       (user/group, network/netmask), (user/group, tty), (user/group,
       X-$DISPLAY-value), or (user/group, pam-service-name) combinations for
       which a login will be either accepted or refused.

       When someone logs in, the file access.conf is scanned for the first
       entry that matches the (user/group, host) or (user/group,
       network/netmask) combination, or, in case of non-networked logins, the
       first entry that matches the (user/group, tty) combination, or in the
       case of non-networked logins without a tty, the first entry that
       matches the (user/group, X-$DISPLAY-value) or (user/group,
       pam-service-name/) combination. The permissions field of that table
       entry determines whether the login will be accepted or refused.

       Each line of the login access control table has three fields separated
       by a ":" character (colon):

       permission:users/groups:origins

       The first field, the permission field, can be either a "+" character
       (plus) for access granted or a "-" character (minus) for access denied.

       The second field, the users/group field, should be a list of one or
       more login names, group names, uid, gid, or ALL (which always matches).
       To differentiate user entries from group entries, group entries should
       be written with brackets, e.g.  (group) or (gid).

       The third field, the origins field, should be a list of one or more tty
       names (for non-networked logins), X $DISPLAY values or PAM service
       names (for non-networked logins without a tty), host names, domain
       names (begin with "."), host addresses, internet network numbers (end
       with "."), internet network addresses with network mask (where network
       mask can be a decimal number or an internet address also), ALL (which
       always matches) or LOCAL. The LOCAL keyword matches when the user
       connects without a network connection (e.g., su, login). A connection
       through the loopback device (e.g., ssh user@localhost) is considered a
       network connection, and thus, the LOCAL keyword does not match.

       If supported by the system you can use @netgroupname in host or user
       patterns. The @@netgroupname syntax is supported in the user pattern
       only and it makes the local system hostname to be passed to the
       netgroup match call in addition to the user name. This might not work
       correctly on some libc implementations causing the match to always
       fail.

       The EXCEPT operator makes it possible to write very compact rules.

       If the nodefgroup is not set, the group file is searched when a name
       does not match that of the logged-in user. Only groups are matched in
       which users are explicitly listed. However the PAM module does not look
       at the primary group id of a user.

       The "#" character at start of line (no space at front) can be used to
       mark this line as a comment line.

EXAMPLES
       These are some example lines which might be specified in
       /etc/security/access.conf.

       User root should be allowed to get access via cron, X11 terminal :0,
       tty1, ..., tty5, tty6.

       +:root:crond :0 tty1 tty2 tty3 tty4 tty5 tty6

       User root should be allowed to get access from hosts which own the IPv4
       addresses. This does not mean that the connection have to be a IPv4
       one, a IPv6 connection from a host with one of this IPv4 addresses does
       work, too.

       +:root:192.168.200.1 192.168.200.4 192.168.200.9

       +:root:127.0.0.1

       User root should get access from network 192.168.201.  where the term
       will be evaluated by string matching. But it might be better to use
       network/netmask instead. The same meaning of 192.168.201.  is
       192.168.201.0/24 or 192.168.201.0/255.255.255.0.

       +:root:192.168.201.

       User root should be able to have access from hosts foo1.bar.org and
       foo2.bar.org (uses string matching also).

       +:root:foo1.bar.org foo2.bar.org

       User root should be able to have access from domain foo.bar.org (uses
       string matching also).

       +:root:.foo.bar.org

       User root should be denied to get access from all other sources.

       -:root:ALL

       A user with uid 1003 and a group with gid 1000 should be allowed to get
       access from all other sources.

       +:(1000) 1003:ALL

       User foo and members of netgroup admins should be allowed to get access
       from all sources. This will only work if netgroup service is available.

       +:@admins foo:ALL

       User john and foo should get access from IPv6 host address.

       +:john foo:2001:db8:0:101::1

       User john and foo should get access from IPv6 link local host address.

       +:john foo:fe80::de95:818c:1b55:7e42%eth1

       User john should get access from IPv6 net/mask.

       +:john:2001:db8:0:101::/64

       Members of group wheel should be allowed to get access from all
       sources.

       +:(wheel):ALL

       Disallow console logins to all but the shutdown, sync and all other
       accounts, which are a member of the wheel group.

       -:ALL EXCEPT (wheel) shutdown sync:LOCAL

       All other users should be denied to get access from all sources.

       -:ALL:ALL

NOTES
       The default separators of list items in a field are space, ',', and
       tabulator characters. Thus conveniently if spaces are put at the
       beginning and the end of the fields they are ignored. However if the
       list separator is changed with the listsep option, the spaces will
       become part of the actual item and the line will be most probably
       ignored. For this reason, it is not recommended to put spaces around
       the ':' characters.

       An IPv6 link local host address must contain the interface identifier.
       IPv6 link local network/netmask is not supported.

SEE ALSO
       pam_access(8), pam.d(5), pam(8)

AUTHORS
       Original login.access(5) manual was provided by Guido van Rooij which
       was renamed to access.conf(5) to reflect relation to default config
       file.

       Network address / netmask description and example text was introduced
       by Mike Becher <mike.becher@lrz-muenchen.de>.



[FIXME: source]			  05/12/2025			ACCESS.CONF(5)

PAM_LOCALUSER(8)	       Linux-PAM Manual		      PAM_LOCALUSER(8)

NAME
       pam_localuser - требовать, чтобы пользователи были перечислены в /etc/passwd

SYNOPSIS
       pam_localuser.so [debug] [file=/path/passwd]

DESCRIPTION
       pam_localuser — это модуль PAM, помогающий реализовывать политики входа для всего сайта, где они обычно включают подмножество пользователей сети и несколько аккаунтов, локальных для конкретной рабочей станции. Использование pam_localuser вместе с pam_wheel или pam_listfile — эффективный способ ограничить доступ для локальных пользователей и/или подмножества пользователей сети.

       Это также можно реализовать с помощью pam_listfile.so и короткого скрипта awk, вызываемого cron, но это достаточно распространено, чтобы быть выделено отдельно.

OPTIONS
       debug
	   Выводить информацию отладки.

       file=/path/passwd
	   Использовать файл, отличный от /etc/passwd.

MODULE TYPES PROVIDED
       Все типы модулей (account, auth, password и session) предоставляются.

RETURN VALUES
       PAM_SUCCESS
	   Новый localuser был успешно установлен.

       PAM_BUF_ERR
	   Ошибка буфера памяти.

       PAM_CONV_ERR
	   Метод разговора, предоставленный приложением, не смог получить имя пользователя.

       PAM_INCOMPLETE
	   Метод разговора, предоставленный приложением, вернул PAM_CONV_AGAIN.

       PAM_SERVICE_ERR
	   Имя пользователя недействительно или файл passwd недоступен.

       PAM_PERM_DENIED
	   Пользователь не перечислен в файле passwd.

EXAMPLES
       Добавьте следующие строки в /etc/pam.d/su, чтобы разрешить использование su только локальным пользователям или группе wheel.

	   account sufficient pam_localuser.so
	   account required pam_wheel.so

FILES
       /etc/passwd
	   Информация о локальных учетных записях пользователей.

SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_localuser был написан Nalin Dahyabhai <nalin@redhat.com>.

Linux-PAM			  05/12/2025		      PAM_LOCALUSER(8)
PAM_LOCALUSER(8)	       Linux-PAM Manual		      PAM_LOCALUSER(8)



NAME
       pam_localuser - require users to be listed in /etc/passwd

SYNOPSIS
       pam_localuser.so [debug] [file=/path/passwd]

DESCRIPTION
       pam_localuser is a PAM module to help implementing site-wide login
       policies, where they typically include a subset of the network's users
       and a few accounts that are local to a particular workstation. Using
       pam_localuser and pam_wheel or pam_listfile is an effective way to
       restrict access to either local users and/or a subset of the network's
       users.

       This could also be implemented using pam_listfile.so and a very short
       awk script invoked by cron, but it's common enough to have been
       separated out.

OPTIONS
       debug
	   Print debug information.

       file=/path/passwd
	   Use a file other than /etc/passwd.

MODULE TYPES PROVIDED
       All module types (account, auth, password and session) are provided.

RETURN VALUES
       PAM_SUCCESS
	   The new localuser was set successfully.

       PAM_BUF_ERR
	   Memory buffer error.

       PAM_CONV_ERR
	   The conversation method supplied by the application failed to
	   obtain the username.

       PAM_INCOMPLETE
	   The conversation method supplied by the application returned
	   PAM_CONV_AGAIN.

       PAM_SERVICE_ERR
	   The user name is not valid or the passwd file is unavailable.

       PAM_PERM_DENIED
	   The user is not listed in the passwd file.

EXAMPLES
       Add the following lines to /etc/pam.d/su to allow only local users or
       group wheel to use su.

	   account sufficient pam_localuser.so
	   account required pam_wheel.so



FILES
       /etc/passwd
	   Local user account information.

SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_localuser was written by Nalin Dahyabhai <nalin@redhat.com>.



Linux-PAM			  05/12/2025		      PAM_LOCALUSER(8)

PAM_KEYINIT(8)		       Linux-PAM Manual			PAM_KEYINIT(8)



NAME
       pam_keyinit - Модуль инициализации ключевого кольца сессии ядра

SYNOPSIS
       pam_keyinit.so [debug] [force] [revoke]

DESCRIPTION
       Модуль PAM pam_keyinit обеспечивает, что вызывающий процесс имеет session keyring, отличную от user default session keyring.

       Модуль проверяет, является ли session keyring процесса user-session-keyring(7), и, если да, создаёт новую session-keyring(7) для её замены. Если новая session keyring создана, в неё будет добавлена ссылка на user-keyring(7), чтобы ключи, общие для пользователя, были автоматически доступны через неё. Session keyring вызывающего процесса отныне будет наследоваться всеми его дочерними процессами, если они не переопределят её.

       Чтобы позволить другим модулям PAM прикреплять токены к ключевому кольцу, этот модуль предоставляет как компонент auth (ограниченный pam_setcred(3)), так и компонент session. Session keyring создаётся в вызванном модуле. Кроме того, этот модуль следует включать как можно раньше в конфигурацию PAM.

       Этот модуль предназначен в первую очередь для использования процессами входа в систему. Имейте в виду, что после замены session keyring старая session keyring и ключи, которые она содержит, больше не будут доступны.

       Этот модуль, как правило, не следует вызывать в программах вроде su, поскольку обычно желательно, чтобы набор ключей передавался в альтернативный контекст. Ключи имеют собственную систему разрешений для управления этим.

       Пакет keyutils используется для прямого манипулирования ключами. Его можно получить из:

       Keyutils[1]

OPTIONS
       debug
	   Записывать отладочную информацию с помощью syslog(3).

       force
	   Принудительно заменяет session keyring вызывающего процесса.

       revoke
	   Вызывает отзыв session keyring вызывающего процесса при выходе вызывающего процесса, если session keyring была создана для этого процесса изначально.

MODULE TYPES PROVIDED
       Предоставляется только тип модуля session.

RETURN VALUES
       PAM_SUCCESS
	   Этот модуль обычно возвращает это значение.

       PAM_AUTH_ERR
	   Сбой аутентификации.

       PAM_BUF_ERR
	   Ошибка буфера памяти.

       PAM_IGNORE
	   Возвращаемое значение должно игнорироваться диспетчером PAM.

       PAM_SERVICE_ERR
	   Невозможно определить имя пользователя.

       PAM_SESSION_ERR
	   Этот модуль вернёт это значение, если его аргументы недействительны или если возникает системная ошибка, такая как ENOMEM.

       PAM_USER_UNKNOWN
	   Пользователь неизвестен.

EXAMPLES
       Добавьте эту строку в записи входа в систему, чтобы каждая сессия входа начиналась с собственной session keyring:

	   session  required  pam_keyinit.so


       Это предотвратит утечку ключей из одной сессии в другую для одного и того же пользователя.

SEE ALSO
       pam.conf(5), pam.d(5), pam(8), keyctl(1)

AUTHOR
       pam_keyinit был написан David Howells, <dhowells@redhat.com>.

NOTES
	1. Keyutils
	   http://people.redhat.com/~dhowells/keyutils/



Linux-PAM			  05/12/2025			PAM_KEYINIT(8)
PAM_KEYINIT(8)		       Linux-PAM Manual			PAM_KEYINIT(8)



NAME
       pam_keyinit - Kernel session keyring initialiser module

SYNOPSIS
       pam_keyinit.so [debug] [force] [revoke]

DESCRIPTION
       The pam_keyinit PAM module ensures that the invoking process has a
       session keyring other than the user default session keyring.

       The module checks to see if the process's session keyring is the user-
       session-keyring(7), and, if it is, creates a new session-keyring(7)
       with which to replace it. If a new session keyring is created, it will
       install a link to the user-keyring(7) in the session keyring so that
       keys common to the user will be automatically accessible through it.
       The session keyring of the invoking process will thenceforth be
       inherited by all its children unless they override it.

       In order to allow other PAM modules to attach tokens to the keyring,
       this module provides both an auth (limited to pam_setcred(3) and a
       session component. The session keyring is created in the module called.
       Moreover this module should be included as early as possible in a PAM
       configuration.

       This module is intended primarily for use by login processes. Be aware
       that after the session keyring has been replaced, the old session
       keyring and the keys it contains will no longer be accessible.

       This module should not, generally, be invoked by programs like su,
       since it is usually desirable for the key set to percolate through to
       the alternate context. The keys have their own permissions system to
       manage this.

       The keyutils package is used to manipulate keys more directly. This can
       be obtained from:

       Keyutils[1]

OPTIONS
       debug
	   Log debug information with syslog(3).

       force
	   Causes the session keyring of the invoking process to be replaced
	   unconditionally.

       revoke
	   Causes the session keyring of the invoking process to be revoked
	   when the invoking process exits if the session keyring was created
	   for this process in the first place.

MODULE TYPES PROVIDED
       Only the session module type is provided.

RETURN VALUES
       PAM_SUCCESS
	   This module will usually return this value

       PAM_AUTH_ERR
	   Authentication failure.

       PAM_BUF_ERR
	   Memory buffer error.

       PAM_IGNORE
	   The return value should be ignored by PAM dispatch.

       PAM_SERVICE_ERR
	   Cannot determine the user name.

       PAM_SESSION_ERR
	   This module will return this value if its arguments are invalid or
	   if a system error such as ENOMEM occurs.

       PAM_USER_UNKNOWN
	   User not known.

EXAMPLES
       Add this line to your login entries to start each login session with
       its own session keyring:

	   session  required  pam_keyinit.so


       This will prevent keys from one session leaking into another session
       for the same user.

SEE ALSO
       pam.conf(5), pam.d(5), pam(8), keyctl(1)

AUTHOR
       pam_keyinit was written by David Howells, <dhowells@redhat.com>.

NOTES
	1. Keyutils
	   http://people.redhat.com/~dhowells/keyutils/



Linux-PAM			  05/12/2025			PAM_KEYINIT(8)

PAM_TTY_AUDIT(8)	       Linux-PAM Manual		      PAM_TTY_AUDIT(8)



NAME
       pam_tty_audit - Включение или отключение аудита TTY для указанных пользователей

SYNOPSIS
       pam_tty_audit.so [disable=patterns] [enable=patterns]

DESCRIPTION
       Модуль PAM pam_tty_audit используется для включения или отключения аудита TTY.
       По умолчанию, ядро не аудитирует ввод на любом TTY.

OPTIONS
       disable=patterns
	   Для каждого пользователя, соответствующего шаблонам, отключить аудит TTY. Это
	   переопределяет любое предыдущее включение опции, соответствующее тому же имени
	   пользователя в командной строке. См. NOTES для дальнейшего описания шаблонов.

       enable=patterns
	   Для каждого пользователя, соответствующего шаблонам, включить аудит TTY. Это
	   переопределяет любое предыдущее отключение опции, соответствующее тому же имени
	   пользователя в командной строке. См. NOTES для дальнейшего описания шаблонов.

       open_only
	   Установить флаг аудита TTY при открытии сессии, но не восстанавливать его при
	   закрытии сессии. Использование этой опции необходимо для некоторых служб, которые
	   не используют fork() для запуска аутентифицированной сессии, таких как sudo.

       log_passwd
	   Логировать нажатия клавиш, когда режим ECHO выключен, но режим ICANON активен.
	   Это режим, в который TTY переводится во время ввода пароля. По умолчанию,
	   пароли не логируются. Эта опция может быть недоступна в более старых ядрах (3.9?).

MODULE TYPES PROVIDED
       Поддерживается только тип session.

RETURN VALUES
       PAM_SESSION_ERR
	   Ошибка чтения или изменения флага аудита TTY. См. системный лог для дополнительных
	   деталей.

       PAM_SUCCESS
	   Успех.

NOTES
       Когда аудит TTY включен, он наследуется всеми процессами, запущенными этим
       пользователем. В частности, демоны, перезапущенные пользователем, будут иметь
       включенный аудит TTY и будут аудитировать ввод TTY даже от других пользователей,
       если аудит для этих пользователей явно не отключен. Поэтому рекомендуется
       использовать disable=* в качестве первой опции для большинства демонов,
       использующих PAM.

       Для просмотра данных, логируемых ядром в аудит, используйте команду
       aureport --tty.

       Шаблоны представляют собой запятыми разделенные списки шаблонов glob или диапазонов
       UID. Диапазон указывается как min_uid:max_uid, где одно из значений может быть
       пустым. Если min_uid пуст, то будет соответствовать только пользователь с UID
       max_uid. Если max_uid пуст, то будут соответствовать пользователи с UID, большим
       или равным min_uid.

       Обратите внимание, что пароли в некоторых ситуациях могут логироваться аудитом TTY
       даже если опция log_passwd не используется. Например, весь ввод в сессии SSH будет
       логироваться - даже если вводится пароль в какое-то программное обеспечение на
       удаленном хосте, поскольку только локальное состояние TTY влияет на локальный
       аудит TTY.

EXAMPLES
       Аудит всех административных действий.

	   session   required pam_tty_audit.so disable=* enable=root



SEE ALSO
       aureport(8), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_tty_audit был написан Miloslav Trmač <mitr@redhat.com>. Опция
       log_passwd была добавлена Richard Guy Briggs <rgb@redhat.com>.



Linux-PAM			  05/12/2025		      PAM_TTY_AUDIT(8)
PAM_TTY_AUDIT(8)	       Linux-PAM Manual		      PAM_TTY_AUDIT(8)



NAME
       pam_tty_audit - Enable or disable TTY auditing for specified users

SYNOPSIS
       pam_tty_audit.so [disable=patterns] [enable=patterns]

DESCRIPTION
       The pam_tty_audit PAM module is used to enable or disable TTY auditing.
       By default, the kernel does not audit input on any TTY.

OPTIONS
       disable=patterns
	   For each user matching patterns, disable TTY auditing. This
	   overrides any previous enable option matching the same user name on
	   the command line. See NOTES for further description of patterns.

       enable=patterns
	   For each user matching patterns, enable TTY auditing. This
	   overrides any previous disable option matching the same user name
	   on the command line. See NOTES for further description of patterns.

       open_only
	   Set the TTY audit flag when opening the session, but do not restore
	   it when closing the session. Using this option is necessary for
	   some services that don't fork() to run the authenticated session,
	   such as sudo.

       log_passwd
	   Log keystrokes when ECHO mode is off but ICANON mode is active.
	   This is the mode in which the tty is placed during password entry.
	   By default, passwords are not logged. This option may not be
	   available on older kernels (3.9?).

MODULE TYPES PROVIDED
       Only the session type is supported.

RETURN VALUES
       PAM_SESSION_ERR
	   Error reading or modifying the TTY audit flag. See the system log
	   for more details.

       PAM_SUCCESS
	   Success.

NOTES
       When TTY auditing is enabled, it is inherited by all processes started
       by that user. In particular, daemons restarted by a user will still
       have TTY auditing enabled, and audit TTY input even by other users
       unless auditing for these users is explicitly disabled. Therefore, it
       is recommended to use disable=* as the first option for most daemons
       using PAM.

       To view the data that was logged by the kernel to audit use the command
       aureport --tty.

       The patterns are comma separated lists of glob patterns or ranges of
       uids. A range is specified as min_uid:max_uid where one of these values
       can be empty. If min_uid is empty only user with the uid max_uid will
       be matched. If max_uid is empty users with the uid greater than or
       equal to min_uid will be matched.

       Please note that passwords in some circumstances may be logged by TTY
       auditing even if the log_passwd is not used. For example, all input to
       an ssh session will be logged - even if there is a password being typed
       into some software running at the remote host because only the local
       TTY state affects the local TTY auditing.

EXAMPLES
       Audit all administrative actions.

	   session   required pam_tty_audit.so disable=* enable=root



SEE ALSO
       aureport(8), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_tty_audit was written by Miloslav TrmaÄ <mitr@redhat.com>. The
       log_passwd option was added by Richard Guy Briggs <rgb@redhat.com>.



Linux-PAM			  05/12/2025		      PAM_TTY_AUDIT(8)

PAM_UNIX(8)		       Linux-PAM Manual			   PAM_UNIX(8)



NAME
       pam_unix - Модуль для традиционной аутентификации по паролю

SYNOPSIS
       pam_unix.so [...]

DESCRIPTION
       Это стандартный модуль аутентификации Unix. Он использует стандартные вызовы из системных библиотек для получения и установки информации об учётной записи, а также для аутентификации. Обычно это получается из файлов /etc/passwd и /etc/shadow, если shadow включен.

       Компонент account выполняет задачу определения статуса учётной записи пользователя и пароля на основе следующих элементов shadow: expire, last_change, max_change, min_change, warn_change. В случае последнего, он может дать пользователю совет по изменению пароля или, через возвращаемое значение PAM_AUTHTOKEN_REQD, отложить предоставление сервиса пользователю, пока он не установит новый пароль. Указанные выше записи документированы в руководстве shadow(5). Если запись пользователя не содержит одну или несколько из этих записей, соответствующая проверка shadow не выполняется.

       Компонент аутентификации выполняет задачу проверки учётных данных пользователя (пароля). Действие этого модуля по умолчанию заключается в том, чтобы не разрешать пользователю доступ к сервису, если его официальный пароль пуст.

       Предоставляется вспомогательный бинарный файл unix_chkpwd(8), который проверяет пароль пользователя, когда он хранится в базе данных с защитой от чтения. Этот бинарный файл очень прост и будет проверять только пароль пользователя, вызывающего его. Он вызывается прозрачно от имени пользователя компонентом аутентификации этого модуля. Таким образом, приложения, такие как xlock(1), могут работать без установки setuid-root. Модуль по умолчанию временно отключает обработку SIGCHLD на время выполнения вспомогательного бинарного файла. Это обычно правильное действие, так как многие приложения не подготовлены к обработке этого сигнала от дочернего процесса, о котором они не знали, что он был создан с fork(). Аргумент модуля noreap можно использовать для подавления этой временной защиты и может потребоваться для использования с определёнными приложениями.

       Максимальная длина пароля, поддерживаемая модулем pam_unix через вспомогательный бинарный файл, составляет PAM_MAX_RESP_SIZE - в настоящее время 512 байт. Остальная часть пароля, предоставленная функцией разговора модулю, будет игнорироваться.

       Компонент password этого модуля выполняет задачу обновления пароля пользователя. Шифрование хэша по умолчанию берётся из переменной ENCRYPT_METHOD из /etc/login.defs.

       Компонент session этого модуля фиксирует, когда пользователь входит в систему или выходит из неё.

       Оставшиеся аргументы, поддерживаемые другими функциями этого модуля, игнорируются молча. Другие аргументы фиксируются как ошибки через syslog(3).

OPTIONS
       debug
	   Включает отладку через syslog(3).

       audit
	   Немного более экстремально, чем debug.

       quiet
	   Отключает информационные сообщения, а именно сообщения об открытии и закрытии сессии через syslog(3).

       nullok
	   Действие этого модуля по умолчанию заключается в том, чтобы не разрешать пользователю доступ к сервису, если его официальный пароль пуст. Аргумент nullok отменяет это значение по умолчанию.

       nullresetok
	   Позволяет пользователям аутентифицироваться с пустым паролем, если принудительно требуется сброс пароля, даже если nullok не установлен. Если сброс пароля не требуется и nullok не установлен, аутентификация с пустым паролем будет запрещена.

       try_first_pass
	   Перед запросом пароля у пользователя модуль сначала пытается использовать пароль из предыдущего модуля в стеке, на случай, если он удовлетворит и этот модуль.

       use_first_pass
	   Аргумент use_first_pass заставляет модуль использовать пароль из предыдущего модуля в стеке и никогда не запрашивать у пользователя - если пароль недоступен или неподходит, пользователю будет отказано в доступе.

       nodelay
	   Этот аргумент можно использовать, чтобы отговорить компонент аутентификации от запроса задержки, если аутентификация в целом не удалась. Действие по умолчанию - запрос задержки при неудаче порядка двух секунд.

       use_authtok
	   При изменении пароля принуждает модуль установить новый пароль на тот, который предоставлен предыдущим модулем пароля в стеке (это используется в примере стека с модулем pam_passwdqc, документированном ниже).

       authtok_type=type
	   Этот аргумент можно использовать для изменения подсказки пароля при изменении паролей, чтобы включить в неё тип пароля. По умолчанию пусто.

       nis
	   Для установки новых паролей используется RPC NIS.

       remember=n
	   Последние n паролей для каждого пользователя сохраняются в /etc/security/opasswd, чтобы обеспечить историю изменений пароля и предотвратить чередование одного и того же пароля слишком часто. Для хранения старых паролей используется алгоритм хэширования MD5. Вместо этого варианта следует использовать модуль pam_pwhistory.

       shadow
	   Пытается поддерживать систему на основе shadow.

       md5
	   При следующем изменении пароля пользователем зашифровать его с использованием алгоритма MD5.

       bigcrypt
	   При следующем изменении пароля пользователем зашифровать его с использованием алгоритма DEC C2.

       sha256
	   При следующем изменении пароля пользователем зашифровать его с использованием алгоритма SHA256. Алгоритм SHA256 должен поддерживаться функцией crypt(3).

       sha512
	   При следующем изменении пароля пользователем зашифровать его с использованием алгоритма SHA512. Алгоритм SHA512 должен поддерживаться функцией crypt(3).

       blowfish
	   При следующем изменении пароля пользователем зашифровать его с использованием алгоритма blowfish. Алгоритм blowfish должен поддерживаться функцией crypt(3).

       gost_yescrypt
	   При следующем изменении пароля пользователем зашифровать его с использованием алгоритма gost-yescrypt. Алгоритм gost-yescrypt должен поддерживаться функцией crypt(3).

       yescrypt
	   При следующем изменении пароля пользователем зашифровать его с использованием алгоритма yescrypt. Алгоритм yescrypt должен поддерживаться функцией crypt(3).

       rounds=n
	   Устанавливает необязательное количество раундов для алгоритмов хэширования паролей SHA256, SHA512, blowfish, gost-yescrypt и yescrypt равным n.

       broken_shadow
	   Игнорировать ошибки чтения информации shadow для пользователей в модуле управления учётными записями.

       minlen=n
	   Устанавливает минимальную длину пароля в n символов. Максимум для паролей на основе DES crypt - 8 символов.

       no_pass_expiry
	   При установке игнорировать истечение срока действия пароля, как определено в записи shadow пользователя. Этот параметр действует только в случае, если pam_unix не использовался для аутентификации или он вернул неудачу аутентификации, что означает, что другой источник или метод аутентификации удался. Примером может быть аутентификация по публичному ключу в sshd. Модуль вернёт PAM_SUCCESS вместо возможного PAM_NEW_AUTHTOK_REQD или PAM_AUTHTOK_EXPIRED.

       Недопустимые аргументы фиксируются с помощью syslog(3).

MODULE TYPES PROVIDED
       Все типы модулей (account, auth, password и session) предоставляются.

RETURN VALUES
       PAM_IGNORE
	   Игнорировать этот модуль.

EXAMPLES
       Пример использования для /etc/pam.d/login будет следующим:

	   # Аутентифицировать пользователя
	   auth	      required	 pam_unix.so
	   # Убедиться, что учётная запись и пароль пользователя всё ещё активны
	   account    required	 pam_unix.so
	   # Изменить пароль пользователя, но сначала проверить его силу с помощью pam_passwdqc(8)
	   password   required	 pam_passwdqc.so config=/etc/passwdqc.conf
	   password   required	 pam_unix.so use_authtok nullok yescrypt
	   session    required	 pam_unix.so



SEE ALSO
       login.defs(5), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_unix был написан различными людьми.



Linux-PAM			  05/12/2025			   PAM_UNIX(8)
PAM_UNIX(8)		       Linux-PAM Manual			   PAM_UNIX(8)



NAME
       pam_unix - Module for traditional password authentication

SYNOPSIS
       pam_unix.so [...]

DESCRIPTION
       This is the standard Unix authentication module. It uses standard calls
       from the system's libraries to retrieve and set account information as
       well as authentication. Usually this is obtained from the /etc/passwd
       and the /etc/shadow file as well if shadow is enabled.

       The account component performs the task of establishing the status of
       the user's account and password based on the following shadow elements:
       expire, last_change, max_change, min_change, warn_change. In the case
       of the latter, it may offer advice to the user on changing their
       password or, through the PAM_AUTHTOKEN_REQD return, delay giving
       service to the user until they have established a new password. The
       entries listed above are documented in the shadow(5) manual page.
       Should the user's record not contain one or more of these entries, the
       corresponding shadow check is not performed.

       The authentication component performs the task of checking the users
       credentials (password). The default action of this module is to not
       permit the user access to a service if their official password is
       blank.

       A helper binary, unix_chkpwd(8), is provided to check the user's
       password when it is stored in a read protected database. This binary is
       very simple and will only check the password of the user invoking it.
       It is called transparently on behalf of the user by the authenticating
       component of this module. In this way it is possible for applications
       like xlock(1) to work without being setuid-root. The module, by
       default, will temporarily turn off SIGCHLD handling for the duration of
       execution of the helper binary. This is generally the right thing to
       do, as many applications are not prepared to handle this signal from a
       child they didn't know was fork()d. The noreap module argument can be
       used to suppress this temporary shielding and may be needed for use
       with certain applications.

       The maximum length of a password supported by the pam_unix module via
       the helper binary is PAM_MAX_RESP_SIZE - currently 512 bytes. The rest
       of the password provided by the conversation function to the module
       will be ignored.

       The password component of this module performs the task of updating the
       user's password. The default encryption hash is taken from the
       ENCRYPT_METHOD variable from /etc/login.defs

       The session component of this module logs when a user logins or leave
       the system.

       Remaining arguments, supported by others functions of this module, are
       silently ignored. Other arguments are logged as errors through
       syslog(3).

OPTIONS
       debug
	   Turns on debugging via syslog(3).

       audit
	   A little more extreme than debug.

       quiet
	   Turns off informational messages namely messages about session open
	   and close via syslog(3).

       nullok
	   The default action of this module is to not permit the user access
	   to a service if their official password is blank. The nullok
	   argument overrides this default.

       nullresetok
	   Allow users to authenticate with blank password if password reset
	   is enforced even if nullok is not set. If password reset is not
	   required and nullok is not set the authentication with blank
	   password will be denied.

       try_first_pass
	   Before prompting the user for their password, the module first
	   tries the previous stacked module's password in case that satisfies
	   this module as well.

       use_first_pass
	   The argument use_first_pass forces the module to use a previous
	   stacked modules password and will never prompt the user - if no
	   password is available or the password is not appropriate, the user
	   will be denied access.

       nodelay
	   This argument can be used to discourage the authentication
	   component from requesting a delay should the authentication as a
	   whole fail. The default action is for the module to request a
	   delay-on-failure of the order of two seconds.

       use_authtok
	   When password changing enforce the module to set the new password
	   to the one provided by a previously stacked password module (this
	   is used in the example of the stacking of the pam_passwdqc module
	   documented below).

       authtok_type=type
	   This argument can be used to modify the password prompt when
	   changing passwords to include the type of the password. Empty by
	   default.

       nis
	   NIS RPC is used for setting new passwords.

       remember=n
	   The last n passwords for each user are saved in
	   /etc/security/opasswd in order to force password change history and
	   keep the user from alternating between the same password too
	   frequently. The MD5 password hash algorithm is used for storing the
	   old passwords. Instead of this option the pam_pwhistory module
	   should be used.

       shadow
	   Try to maintain a shadow based system.

       md5
	   When a user changes their password next, encrypt it with the MD5
	   algorithm.

       bigcrypt
	   When a user changes their password next, encrypt it with the DEC C2
	   algorithm.

       sha256
	   When a user changes their password next, encrypt it with the SHA256
	   algorithm. The SHA256 algorithm must be supported by the crypt(3)
	   function.

       sha512
	   When a user changes their password next, encrypt it with the SHA512
	   algorithm. The SHA512 algorithm must be supported by the crypt(3)
	   function.

       blowfish
	   When a user changes their password next, encrypt it with the
	   blowfish algorithm. The blowfish algorithm must be supported by the
	   crypt(3) function.

       gost_yescrypt
	   When a user changes their password next, encrypt it with the
	   gost-yescrypt algorithm. The gost-yescrypt algorithm must be
	   supported by the crypt(3) function.

       yescrypt
	   When a user changes their password next, encrypt it with the
	   yescrypt algorithm. The yescrypt algorithm must be supported by the
	   crypt(3) function.

       rounds=n
	   Set the optional number of rounds of the SHA256, SHA512, blowfish,
	   gost-yescrypt, and yescrypt password hashing algorithms to n.

       broken_shadow
	   Ignore errors reading shadow information for users in the account
	   management module.

       minlen=n
	   Set a minimum password length of n characters. The max. for DES
	   crypt based passwords is 8 characters.

       no_pass_expiry
	   When set ignore password expiration as defined by the shadow entry
	   of the user. The option has an effect only in case pam_unix was not
	   used for the authentication or it returned authentication failure
	   meaning that other authentication source or method succeeded. The
	   example can be public key authentication in sshd. The module will
	   return PAM_SUCCESS instead of eventual PAM_NEW_AUTHTOK_REQD or
	   PAM_AUTHTOK_EXPIRED.

       Invalid arguments are logged with syslog(3).

MODULE TYPES PROVIDED
       All module types (account, auth, password and session) are provided.

RETURN VALUES
       PAM_IGNORE
	   Ignore this module.

EXAMPLES
       An example usage for /etc/pam.d/login would be:

	   # Authenticate the user
	   auth	      required	 pam_unix.so
	   # Ensure user's account and password are still active
	   account    required	 pam_unix.so
	   # Change the user's password, but at first check the strength
	   # with pam_passwdqc(8)
	   password   required	 pam_passwdqc.so config=/etc/passwdqc.conf
	   password   required	 pam_unix.so use_authtok nullok yescrypt
	   session    required	 pam_unix.so



SEE ALSO
       login.defs(5), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_unix was written by various people.



Linux-PAM			  05/12/2025			   PAM_UNIX(8)

UNIX_CHKPWD(8)		       Руководство Linux-PAM			UNIX_CHKPWD(8)



NAME
       unix_chkpwd - Вспомогательная программа, которая проверяет пароль текущего пользователя

SYNOPSIS
       unix_chkpwd [...]

DESCRIPTION
       unix_chkpwd — это вспомогательная программа для модуля pam_unix, которая проверяет пароль текущего пользователя. Она также проверяет даты истечения срока пароля и аккаунта в shadow. Она не предназначена для запуска напрямую из командной строки и фиксирует нарушение безопасности, если это сделано.

       Она обычно устанавливается с setuid root или setgid shadow.

       Интерфейс вспомогательной программы — параметры командной строки и формат ввода/вывода — является внутренним для модуля pam_unix, и она не должна вызываться напрямую из приложений.

SEE ALSO
       pam_unix(8)

AUTHOR
       Написано Эндрю Морганом и другими различными людьми.



Linux-PAM			  05/12/2025			UNIX_CHKPWD(8)
UNIX_CHKPWD(8)		       Linux-PAM Manual			UNIX_CHKPWD(8)



NAME
       unix_chkpwd - Helper binary that verifies the password of the current
       user

SYNOPSIS
       unix_chkpwd [...]

DESCRIPTION
       unix_chkpwd is a helper program for the pam_unix module that verifies
       the password of the current user. It also checks password and account
       expiration dates in shadow. It is not intended to be run directly from
       the command line and logs a security violation if done so.

       It is typically installed setuid root or setgid shadow.

       The interface of the helper - command line options, and input/output
       data format are internal to the pam_unix module and it should not be
       called directly from applications.

SEE ALSO
       pam_unix(8)

AUTHOR
       Written by Andrew Morgan and other various people.



Linux-PAM			  05/12/2025			UNIX_CHKPWD(8)

PAM_SHELLS(8)		       Руководство Linux-PAM			 PAM_SHELLS(8)



NAME
       pam_shells - модуль PAM для проверки допустимой оболочки входа

SYNOPSIS
       pam_shells.so

DESCRIPTION
       pam_shells — это модуль PAM, который позволяет доступ к системе только в том случае, если оболочка пользователя указана в /etc/shells.

       Он также проверяет, являются ли необходимые файлы (например, /etc/shells) обычными файлами и не доступными для записи всем.

OPTIONS
       Этот модуль не распознает никаких опций.

MODULE TYPES PROVIDED
       Предоставляются типы модулей auth и account.

RETURN VALUES
       PAM_AUTH_ERR
	   Доступ к системе был запрещен.

       PAM_SUCCESS
	   Оболочка входа пользователя была указана как допустимая в /etc/shells.

       PAM_USER_UNKNOWN
	   Пользователь не существует или оболочка входа пользователя не может быть определена.

       PAM_SERVICE_ERR
	   Модулю не удалось получить имя пользователя.

EXAMPLES
	   auth	 required  pam_shells.so



SEE ALSO
       shells(5), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_shells был написан Эриком Троаном <ewt@redhat.com>.



Linux-PAM			  05/12/2025			 PAM_SHELLS(8)
PAM_SHELLS(8)		       Linux-PAM Manual			 PAM_SHELLS(8)



NAME
       pam_shells - PAM module to check for valid login shell

SYNOPSIS
       pam_shells.so

DESCRIPTION
       pam_shells is a PAM module that only allows access to the system if the
       user's shell is listed in /etc/shells.

       It also checks if needed files (e.g.  /etc/shells) are plain files and
       not world writable.

OPTIONS
       This module does not recognise any options.

MODULE TYPES PROVIDED
       The auth and account module types are provided.

RETURN VALUES
       PAM_AUTH_ERR
	   Access to the system was denied.

       PAM_SUCCESS
	   The user's login shell was listed as valid shell in /etc/shells.

       PAM_USER_UNKNOWN
	   The user does not exist or the user's login shell could not be
	   determined.

       PAM_SERVICE_ERR
	   The module was not able to get the name of the user.

EXAMPLES
	   auth	 required  pam_shells.so



SEE ALSO
       shells(5), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_shells was written by Erik Troan <ewt@redhat.com>.



Linux-PAM			  05/12/2025			 PAM_SHELLS(8)

PAM_FILTER(8)		       Руководство Linux-PAM			 PAM_FILTER(8)



NAME
       pam_filter - модуль фильтра PAM

SYNOPSIS
       pam_filter.so [debug] [new_term] [non_term] run1|run2 filter [...]

DESCRIPTION
       Этот модуль предназначен для предоставления доступа ко всему вводу/выходу, который проходит между пользователем и приложением. Он подходит только для приложений, основанных на терминале (tty) и (stdin/stdout).

       Для работы этого модуля требуются установленные фильтры. Единственный фильтр, поставляемый с модулем, просто переставляет регистр букв в потоках ввода и вывода. (Это может быть очень раздражающим и неудобным для редакторов, основанных на termcap).

       Каждый компонент модуля потенциально может вызвать желаемый фильтр. Фильтр всегда запускается с помощью execv(2) с привилегиями вызывающего приложения, а не пользователя. По этой причине его обычно нельзя завершить пользователем без закрытия сессии.

OPTIONS
       debug
	   Выводить отладочную информацию.

       new_term
	   По умолчанию фильтр устанавливает элемент PAM_TTY для указания терминала, который пользователь использует для подключения к приложению. Этот аргумент указывает, что фильтр должен установить PAM_TTY для отфильтрованного псевдотерминала.

       non_term
	   Не пытаться устанавливать элемент PAM_TTY.

       runX
	   Чтобы модуль мог вызвать фильтр, ему нужно знать, когда это делать. Этот аргумент обязателен для указания момента запуска фильтра.

	   Допустимые значения для X — 1 и 2. Эти значения указывают точное время запуска фильтра. Чтобы понять эту концепцию, полезно прочитать страницу руководства pam(3). В основном, для каждой группы управления есть до двух способов вызова функций модуля. В случае компонентов аутентификации и сессии существует две отдельных функции. Для аутентификации эти функции — pam_authenticate(3) и pam_setcred(3); здесь run1 означает запуск фильтра из функции pam_authenticate, а run2 — из pam_setcred. В случае модулей сессии run1 подразумевает запуск фильтра на этапе pam_open_session(3), а run2 — на этапе pam_close_session(3).

	   В случае компонента account можно использовать либо run1, либо run2.

	   В случае компонента password run1 используется для указания запуска фильтра при первом вызове pam_chauthtok(3) (фаза PAM_PRELIM_CHECK), а run2 — при втором вызове (фаза PAM_UPDATE_AUTHTOK).

       filter
	   Полный путь к запускаемому фильтру и любые аргументы командной строки, которые может ожидать фильтр.

MODULE TYPES PROVIDED
       Все типы модулей (auth, account, password и session) предоставляются.

RETURN VALUES
       PAM_SUCCESS
	   Новый фильтр был успешно установлен.

       PAM_ABORT
	   Критическая ошибка, немедленный отказ.

EXAMPLES
       Добавьте следующую строку в /etc/pam.d/login, чтобы увидеть, как настроить login на перестановку регистра букв после входа пользователя:

		   session required pam_filter.so run1 /lib/security/pam_filter/upperLOWER



SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_filter был написан Andrew G. Morgan <morgan@kernel.org>.



Linux-PAM			  05/12/2025			 PAM_FILTER(8)
PAM_FILTER(8)		       Linux-PAM Manual			 PAM_FILTER(8)



NAME
       pam_filter - PAM filter module

SYNOPSIS
       pam_filter.so [debug] [new_term] [non_term] run1|run2 filter [...]

DESCRIPTION
       This module is intended to be a platform for providing access to all of
       the input/output that passes between the user and the application. It
       is only suitable for tty-based and (stdin/stdout) applications.

       To function this module requires filters to be installed on the system.
       The single filter provided with the module simply transposes upper and
       lower case letters in the input and output streams. (This can be very
       annoying and is not kind to termcap based editors).

       Each component of the module has the potential to invoke the desired
       filter. The filter is always execv(2) with the privilege of the calling
       application and not that of the user. For this reason it cannot usually
       be killed by the user without closing their session.

OPTIONS
       debug
	   Print debug information.

       new_term
	   The default action of the filter is to set the PAM_TTY item to
	   indicate the terminal that the user is using to connect to the
	   application. This argument indicates that the filter should set
	   PAM_TTY to the filtered pseudo-terminal.

       non_term
	   don't try to set the PAM_TTY item.

       runX
	   In order that the module can invoke a filter it should know when to
	   invoke it. This argument is required to tell the filter when to do
	   this.

	   Permitted values for X are 1 and 2. These indicate the precise time
	   that the filter is to be run. To understand this concept it will be
	   useful to have read the pam(3) manual page. Basically, for each
	   management group there are up to two ways of calling the module's
	   functions. In the case of the authentication and session components
	   there are actually two separate functions. For the case of
	   authentication, these functions are pam_authenticate(3) and
	   pam_setcred(3), here run1 means run the filter from the
	   pam_authenticate function and run2 means run the filter from
	   pam_setcred. In the case of the session modules, run1 implies that
	   the filter is invoked at the pam_open_session(3) stage, and run2
	   for pam_close_session(3).

	   For the case of the account component. Either run1 or run2 may be
	   used.

	   For the case of the password component, run1 is used to indicate
	   that the filter is run on the first occasion of pam_chauthtok(3)
	   (the PAM_PRELIM_CHECK phase) and run2 is used to indicate that the
	   filter is run on the second occasion (the PAM_UPDATE_AUTHTOK
	   phase).

       filter
	   The full pathname of the filter to be run and any command line
	   arguments that the filter might expect.

MODULE TYPES PROVIDED
       All module types (auth, account, password and session) are provided.

RETURN VALUES
       PAM_SUCCESS
	   The new filter was set successfully.

       PAM_ABORT
	   Critical error, immediate abort.

EXAMPLES
       Add the following line to /etc/pam.d/login to see how to configure
       login to transpose upper and lower case letters once the user has
       logged in:

		   session required pam_filter.so run1 /lib/security/pam_filter/upperLOWER



SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_filter was written by Andrew G. Morgan <morgan@kernel.org>.



Linux-PAM			  05/12/2025			 PAM_FILTER(8)

PAM_SETQUOTA(8)		       Ручной Linux-PAM		       PAM_SETQUOTA(8)



NAME
       pam_setquota - PAM-модуль для установки или изменения дисковых квот при старте сессии

SYNOPSIS
       pam_setquota.so [fs=/home] [overwrite=0] [debug=0] [startuid=1000]
		       [enduid=0] [bsoftlimit=19000] [bhardlimit=20000]
		       [isoftlimit=3000] [ihardlimit=4000]

DESCRIPTION
       pam_setquota — это PAM-модуль для установки или изменения дисковой квоты при старте сессии.

       Это делает квоты usable с центральными базами данных пользователей, такими как MySQL или LDAP.

OPTIONS
       fs=/home
	   Файл устройства или точка монтирования, к которой применяется политика. По умолчанию — файловая система, содержащая домашний каталог пользователя.

       overwrite=0
	   Перезаписывать существующую квоту. Примечание: Включение этой опции удалит возможность для администратора вручную настраивать разные квоты для пользователей на файловой системе с помощью edquota(8). (По умолчанию 0)

       debug=0
	   Включить отладку. Значение 1 выводит старые и новые квоты на устройстве. Значение 2 также выводит информацию о совпадающих и найденных файловых системах, если fs не установлен. (По умолчанию 0)

       startuid=1000
	   Определяет начало диапазона UID, к которому применяется политика. (По умолчанию UID_MIN из login.defs или значение uidmin, определённое на этапе компиляции, если UID_MIN не определено.)

       enduid=0
	   Определяет конец диапазона UID, к которому применяется политика. Установка enduid=0 приводит к открытому диапазону UID (т.е. все UID больше, чем startuid, включаются). (По умолчанию 0)

       bsoftlimit=19000
	   Мягкий лимит для блоков дисковой квоты, как определено в quotactl(2). Примечание: bsoftlimit и bhardlimit должны быть установлены одновременно!

       bhardlimit=20000
	   Жёсткий лимит для блоков дисковой квоты, как определено в quotactl(2). Примечание: bsoftlimit и bhardlimit должны быть установлены одновременно!

       isoftlimit=3000
	   Мягкий лимит для inode, как определено в quotactl(2). Примечание: isoftlimit и ihardlimit должны быть установлены одновременно!

       ihardlimit=4000
	   Жёсткий лимит для inode, как определено в quotactl(2). Примечание: isoftlimit и ihardlimit должны быть установлены одновременно!

MODULE TYPES PROVIDED
       Предоставляется только тип модуля session.

RETURN VALUES
       PAM_SUCCESS
	   Квота была установлена успешно.

       PAM_IGNORE
	   Действие не было выполнено, потому что либо UID пользователя находился вне указанного диапазона, либо квота уже существовала и overwrite=1 не была настроена, либо лимиты не были настроены вообще.

       PAM_USER_UNKNOWN
	   Пользователь не найден.

       PAM_PERM_DENIED
	   Не удалось открыть /proc/mounts.

	   Указанная файловая система или устройство не найдены.

	   Не удалось получить лимиты для пользователя. См. syslog для дополнительной информации.

	   Не удалось установить лимиты для пользователя. См. syslog для дополнительной информации.

	   Либо isoftlimit/ihardlimit, либо bsoftlimit/bhardlimit не были установлены одновременно.

EXAMPLES
       Один вызов `pam_setquota` применяет конкретную политику к диапазону UID. Применение разных политик к конкретным диапазонам UID достигается путём вызова pam_setquota несколько раз. Последняя совпадающая запись определяет итоговую квоту.

		 session  required   pam_setquota.so bsoftlimit=1000 bhardlimit=2000 isoftlimit=1000 ihardlimit=2000 startuid=1000 enduid=0 fs=/home
		 session  required   pam_setquota.so bsoftlimit=19000 bhardlimit=20000 isoftlimit=3000 ihardlimit=4000 startuid=2001 enduid=3000 fs=/dev/sda1
		 session  required   pam_setquota.so bsoftlimit=19000 bhardlimit=20000 isoftlimit=3000 ihardlimit=4000 startuid=3001 enduid=4000 fs=/dev/sda1 overwrite=1



SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_setquota изначально был написан Ruslan Savchenko <savrus@mexmat.net>.

       Дополнительные изменения внесли Shane Tzen <shane@ict.usc.edu>, Sven Hartge <sven@svenhartge.de> и Keller Fuchs <kellerfuchs@hashbang.sh>.



Linux-PAM			  05/12/2025		       PAM_SETQUOTA(8)
PAM_SETQUOTA(8)		       Linux-PAM Manual		       PAM_SETQUOTA(8)



NAME
       pam_setquota - PAM module to set or modify disk quotas on session start

SYNOPSIS
       pam_setquota.so [fs=/home] [overwrite=0] [debug=0] [startuid=1000]
		       [enduid=0] [bsoftlimit=19000] [bhardlimit=20000]
		       [isoftlimit=3000] [ihardlimit=4000]

DESCRIPTION
       pam_setquota is a PAM module to set or modify a disk quota at session
       start

       This makes quotas usable with central user databases, such as MySQL or
       LDAP.

OPTIONS
       fs=/home
	   The device file or mountpoint the policy applies to. Defaults to
	   the filesystem containing the users home directory.

       overwrite=0
	   Overwrite an existing quota. Note: Enabling this will remove the
	   ability for the admin to manually configure different quotas for
	   users for a filesystem with edquota(8). (Defaults to 0)

       debug=0
	   Enable debugging. A value of 1 outputs the old and new quota on a
	   device. A value of 2 also prints out the matched and found
	   filesystems should fs be unset. (Defaults to 0)

       startuid=1000
	   Describe the start of the UID range the policy is applied to.
	   (Defaults to UID_MIN from login.defs or the uidmin value defined at
	   compile-time if UID_MIN is undefined.)

       enduid=0
	   Describe the end of the UID range the policy is applied to. Setting
	   enduid=0 results in an open-ended UID range (i.e. all uids greater
	   than startuid are included). (Defaults to 0)

       bsoftlimit=19000
	   Soft limit for disk quota blocks, as defined by quotactl(2). Note:
	   bsoftlimit and bhardlimit must be set at the same time!

       bhardlimit=20000
	   Hard limit for disk quota blocks, as defined by quotactl(2). Note:
	   bsoftlimit and bhardlimit must be set at the same time!

       isoftlimit=3000
	   Soft limit for inodes, as defined by
	    quotactl(2). Note: isoftlimit and ihardlimit must be set at the
	   same time!

       ihardlimit=4000
	   Hard limit for inodes, as defined by
	    quotactl(2). Note: isoftlimit and ihardlimit must be set at the
	   same time!

MODULE TYPES PROVIDED
       Only the session module type is provided.

RETURN VALUES
       PAM_SUCCESS
	   The quota was set successfully.

       PAM_IGNORE
	   No action was taken because either the UID of the user was outside
	   of the specified range, a quota already existed and overwrite=1 was
	   not configured or no limits were configured at all.

       PAM_USER_UNKNOWN
	   The user was not found.

       PAM_PERM_DENIED
	   /proc/mounts could not be opened.

	   The filesystem or device specified was not found.

	   The limits for the user could not be retrieved. See syslog for more
	   information.

	   The limits for the user could not be set. See syslog for more
	   information.

	   Either isoftlimit/ihardlimit or bsoftlimit/bhardlimit were not set
	   at the same time.

EXAMPLES
       A single invocation of `pam_setquota` applies a specific policy to a
       UID range. Applying different policies to specific UID ranges is done
       by invoking pam_setquota more than once. The last matching entry
       defines the resulting quota.

		 session  required   pam_setquota.so bsoftlimit=1000 bhardlimit=2000 isoftlimit=1000 ihardlimit=2000 startuid=1000 enduid=0 fs=/home
		 session  required   pam_setquota.so bsoftlimit=19000 bhardlimit=20000 isoftlimit=3000 ihardlimit=4000 startuid=2001 enduid=3000 fs=/dev/sda1
		 session  required   pam_setquota.so bsoftlimit=19000 bhardlimit=20000 isoftlimit=3000 ihardlimit=4000 startuid=3001 enduid=4000 fs=/dev/sda1 overwrite=1



SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_setquota was originally written by Ruslan Savchenko
       <savrus@mexmat.net>.

       Further modifications were made by Shane Tzen <shane@ict.usc.edu>, Sven
       Hartge <sven@svenhartge.de> and Keller Fuchs <kellerfuchs@hashbang.sh>.



Linux-PAM			  05/12/2025		       PAM_SETQUOTA(8)

PAM_NOLOGIN(8)		       Руководство Linux-PAM			PAM_NOLOGIN(8)



НАЗВАНИЕ
       pam_nologin - Предотвращение входа для не-рутовых пользователей

СИНОПСИС
       pam_nologin.so [file=/path/nologin] [successok]

ОПИСАНИЕ
       pam_nologin — это модуль PAM, который предотвращает вход пользователей
       в систему, если существует /var/run/nologin или /etc/nologin. Содержимое
       файла отображается пользователю. Модуль pam_nologin не влияет на
       возможность входа пользователя root.

ОПЦИИ
       file=/path/nologin
	   Использовать этот файл вместо стандартного /var/run/nologin или /etc/nologin.

       successok
	   Возвращать PAM_SUCCESS, если файл не существует; по умолчанию возвращается PAM_IGNORE.

ТИПЫ МОДУЛЕЙ
       Предоставляются типы модулей auth и account.

ЗНАЧЕНИЯ ВОЗВРАТА
       PAM_AUTH_ERR
	   Пользователь не является root, и существует /etc/nologin, поэтому вход пользователю запрещен.

       PAM_BUF_ERR
	   Ошибка буфера памяти.

       PAM_IGNORE
	   Это значение возврата по умолчанию.

       PAM_SUCCESS
	   Успех: либо пользователь является root, либо файл nologin не существует.

       PAM_USER_UNKNOWN
	   Пользователь неизвестен базовому модулю аутентификации.

ПРИМЕРЫ
       Рекомендуемое использование в /etc/pam.d/login выглядит так:

	   auth	 required  pam_nologin.so



ПРИМЕЧАНИЯ
       Чтобы сделать этот модуль эффективным, все методы входа должны быть
       защищены им. Его следует использовать как обязательный метод, указанный
       перед любыми достаточными методами, для получения стандартной семантики
       Unix nologin. Обратите внимание, что использование аргумента successok
       модуля приводит к возврату PAM_SUCCESS, что может нарушить такую
       конфигурацию — неудача достаточных модулей приведет к успешному входу,
       поскольку модуль nologin завершился успешно.

СМОТРИТЕ ТАКЖЕ
       nologin(5), pam.conf(5), pam.d(5), pam(8)

АВТОР
       pam_nologin был написан Michael K. Johnson <johnsonm@redhat.com>.



Руководство Linux-PAM			  05/12/2025			PAM_NOLOGIN(8)
PAM_NOLOGIN(8)		       Linux-PAM Manual			PAM_NOLOGIN(8)



NAME
       pam_nologin - Prevent non-root users from login

SYNOPSIS
       pam_nologin.so [file=/path/nologin] [successok]

DESCRIPTION
       pam_nologin is a PAM module that prevents users from logging into the
       system when /var/run/nologin or /etc/nologin exists. The contents of
       the file are displayed to the user. The pam_nologin module has no
       effect on the root user's ability to log in.

OPTIONS
       file=/path/nologin
	   Use this file instead the default /var/run/nologin or /etc/nologin.

       successok
	   Return PAM_SUCCESS if no file exists, the default is PAM_IGNORE.

MODULE TYPES PROVIDED
       The auth and account module types are provided.

RETURN VALUES
       PAM_AUTH_ERR
	   The user is not root and /etc/nologin exists, so the user is not
	   permitted to log in.

       PAM_BUF_ERR
	   Memory buffer error.

       PAM_IGNORE
	   This is the default return value.

       PAM_SUCCESS
	   Success: either the user is root or the nologin file does not
	   exist.

       PAM_USER_UNKNOWN
	   User not known to the underlying authentication module.

EXAMPLES
       The suggested usage for /etc/pam.d/login is:

	   auth	 required  pam_nologin.so



NOTES
       In order to make this module effective, all login methods should be
       secured by it. It should be used as a required method listed before any
       sufficient methods in order to get standard Unix nologin semantics.
       Note, the use of successok module argument causes the module to return
       PAM_SUCCESS and as such would break such a configuration - failing
       sufficient modules would lead to a successful login because the nologin
       module succeeded.

SEE ALSO
       nologin(5), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_nologin was written by Michael K. Johnson <johnsonm@redhat.com>.



Linux-PAM			  05/12/2025			PAM_NOLOGIN(8)

MKHOMEDIR_HELPER(8)	       Linux-PAM Manual		   MKHOMEDIR_HELPER(8)



NAME
       mkhomedir_helper - Вспомогательная программа, создающая домашние директории

SYNOPSIS
       mkhomedir_helper {user} [umask [ path-to-skel [ home_mode ] ]]

DESCRIPTION
       mkhomedir_helper — это вспомогательная программа для модуля pam_mkhomedir,
       которая создает домашние директории и заполняет их содержимым указанной
       директории skel.

       Значение umask по умолчанию — 0022, а значение path-to-skel — /etc/skel.
       Значение home_mode вычисляется на основе значения umask.

       Вспомогательная программа отделена от модуля, чтобы не требовать прямого
       доступа из доменов SELinux входа к содержимому домашних директорий
       пользователей. Переход домена SELinux происходит, когда модуль выполняет
       mkhomedir_helper.

       Вспомогательная программа никогда не затрагивает домашние директории, если
       они уже существуют.

SEE ALSO
       pam_mkhomedir(8)

AUTHOR
       Написано Tomas Mraz на основе кода, первоначально находящегося в модуле
       pam_mkhomedir.



Linux-PAM			  05/12/2025		   MKHOMEDIR_HELPER(8)
MKHOMEDIR_HELPER(8)	       Linux-PAM Manual		   MKHOMEDIR_HELPER(8)



NAME
       mkhomedir_helper - Helper binary that creates home directories

SYNOPSIS
       mkhomedir_helper {user} [umask [ path-to-skel [ home_mode ] ]]

DESCRIPTION
       mkhomedir_helper is a helper program for the pam_mkhomedir module that
       creates home directories and populates them with contents of the
       specified skel directory.

       The default value of umask is 0022 and the default value of
       path-to-skel is /etc/skel. The default value of home_mode is computed
       from the value of umask.

       The helper is separated from the module to not require direct access
       from login SELinux domains to the contents of user home directories.
       The SELinux domain transition happens when the module is executing the
       mkhomedir_helper.

       The helper never touches home directories if they already exist.

SEE ALSO
       pam_mkhomedir(8)

AUTHOR
       Written by Tomas Mraz based on the code originally in pam_mkhomedir
       module.



Linux-PAM			  05/12/2025		   MKHOMEDIR_HELPER(8)

PAM_RHOSTS(8)		       Руководство по Linux-PAM			 PAM_RHOSTS(8)



NAME
       pam_rhosts - Модуль PAM rhosts

SYNOPSIS
       pam_rhosts.so

DESCRIPTION
       Этот модуль выполняет стандартную сетевую аутентификацию для служб,
       как это используется в традиционных реализациях rlogin и rsh и т.д.

       Механизм аутентификации этого модуля основан на содержимом двух файлов: /etc/hosts.equiv (или) и ~/.rhosts. Во-первых, хосты, перечисленные в
       первом файле, рассматриваются как эквивалентные локальному хосту. Во-вторых,
       записи в личной копии второго файла используются для сопоставления пар
       "удалённый-хост удалённый-пользователь" с учётной записью пользователя на текущем
       хосте. Доступ предоставляется пользователю, если его хост присутствует в
       /etc/hosts.equiv и его удалённая учётная запись идентична локальной,
       или если его удалённая учётная запись имеет запись в личном
       файле конфигурации.

       Модуль аутентифицирует удалённого пользователя (внутренне указанного элементом
       PAM_RUSER, подключающегося с удалённого хоста (внутренне указанного элементом
       PAM_RHOST). Соответственно, для совместимости приложений с
       этим модулем аутентификации они должны устанавливать эти элементы перед вызовом
       pam_authenticate(). Модуль не способен самостоятельно проверять
       сетевые подключения для получения такой информации.

OPTIONS
       debug
	   Выводить отладочную информацию.

       silent
	   Не выводить информационные сообщения.

       superuser=account
	   Обрабатывать account как root.

MODULE TYPES PROVIDED
       Предоставляется только тип модуля auth.

RETURN VALUES
       PAM_AUTH_ERR
	   Не удалось определить удалённый хост, имя удалённого пользователя или имя локального пользователя, или доступ был запрещён файлом .rhosts.

       PAM_USER_UNKNOWN
	   Пользователь неизвестен системе.

EXAMPLES
       Чтобы предоставить удалённому пользователю доступ через /etc/hosts.equiv или .rhosts для rsh,
       добавьте следующие строки в /etc/pam.d/rsh:

	   #%PAM-1.0
	   #
	   auth	    required	   pam_rhosts.so
	   auth	    required	   pam_nologin.so
	   auth	    required	   pam_env.so
	   auth	    required	   pam_unix.so



SEE ALSO
       rootok(3), hosts.equiv(5), rhosts(5), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_rhosts был написан Thorsten Kukuk <kukuk@thkukuk.de>



Linux-PAM			  05/12/2025			 PAM_RHOSTS(8)
PAM_RHOSTS(8)		       Linux-PAM Manual			 PAM_RHOSTS(8)



NAME
       pam_rhosts - The rhosts PAM module

SYNOPSIS
       pam_rhosts.so

DESCRIPTION
       This module performs the standard network authentication for services,
       as used by traditional implementations of rlogin and rsh etc.

       The authentication mechanism of this module is based on the contents of
       two files; /etc/hosts.equiv (or and ~/.rhosts. Firstly, hosts listed in
       the former file are treated as equivalent to the localhost. Secondly,
       entries in the user's own copy of the latter file is used to map
       "remote-host remote-user" pairs to that user's account on the current
       host. Access is granted to the user if their host is present in
       /etc/hosts.equiv and their remote account is identical to their local
       one, or if their remote account has an entry in their personal
       configuration file.

       The module authenticates a remote user (internally specified by the
       item PAM_RUSER connecting from the remote host (internally specified by
       the item PAM_RHOST). Accordingly, for applications to be compatible
       this authentication module they must set these items prior to calling
       pam_authenticate(). The module is not capable of independently probing
       the network connection for such information.

OPTIONS
       debug
	   Print debug information.

       silent
	   Don't print informative messages.

       superuser=account
	   Handle account as root.

MODULE TYPES PROVIDED
       Only the auth module type is provided.

RETURN VALUES
       PAM_AUTH_ERR
	   The remote host, remote user name or the local user name couldn't
	   be determined or access was denied by .rhosts file.

       PAM_USER_UNKNOWN
	   User is not known to system.

EXAMPLES
       To grant a remote user access by /etc/hosts.equiv or .rhosts for rsh
       add the following lines to /etc/pam.d/rsh:

	   #%PAM-1.0
	   #
	   auth	    required	   pam_rhosts.so
	   auth	    required	   pam_nologin.so
	   auth	    required	   pam_env.so
	   auth	    required	   pam_unix.so



SEE ALSO
       rootok(3), hosts.equiv(5), rhosts(5), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_rhosts was written by Thorsten Kukuk <kukuk@thkukuk.de>



Linux-PAM			  05/12/2025			 PAM_RHOSTS(8)

PAM_ISSUE(8)		       Linux-PAM Manual			  PAM_ISSUE(8)



NAME
       pam_issue - модуль PAM для добавления файла issue к подсказке пользователя

SYNOPSIS
       pam_issue.so [noesc] [issue=issue-file-name]

DESCRIPTION
       pam_issue — это модуль PAM, который добавляет файл issue к подсказке ввода имени пользователя. По умолчанию он также анализирует escape-коды в файле issue, подобно некоторым распространенным getty (используя формат \x).

       Распознаваемые escape-коды:

       \d
	   текущий день

       \l
	   имя этого терминала (tty)

       \m
	   архитектура машины (uname -m)

       \n
	   имя хоста сети машины (uname -n)

       \o
	   доменное имя этой системы

       \r
	   номер релиза операционной системы (uname -r)

       \t
	   текущее время

       \s
	   имя операционной системы (uname -s)

       \u
	   количество пользователей,currently вошедших в систему

       \U
	   то же, что и \u, за исключением того, что оно дополняется словом "user" или "users" (например, "1 user" или "10 users")

       \v
	   версия операционной системы и дата сборки (uname -v)

OPTIONS
       noesc
	   Отключает анализ escape-кодов.

       issue=issue-file-name
	   Файл для вывода, если не используется значение по умолчанию.

MODULE TYPES PROVIDED
       Предоставляется только тип модуля auth.

RETURN VALUES
       PAM_BUF_ERR
	   Ошибка буфера памяти.

       PAM_IGNORE
	   Подсказка уже была изменена.

       PAM_SERVICE_ERR
	   Произошла ошибка модуля службы.

       PAM_SUCCESS
	   Новая подсказка была успешно установлена.

EXAMPLES
       Добавьте следующую строку в /etc/pam.d/login для установки issue, специфичного для пользователя, при входе:

		   auth optional pam_issue.so issue=/etc/issue



SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_issue был написан Ben Collins <bcollins@debian.org>.



Linux-PAM			  05/12/2025			  PAM_ISSUE(8)
PAM_ISSUE(8)		       Linux-PAM Manual			  PAM_ISSUE(8)



NAME
       pam_issue - PAM module to add issue file to user prompt

SYNOPSIS
       pam_issue.so [noesc] [issue=issue-file-name]

DESCRIPTION
       pam_issue is a PAM module to prepend an issue file to the username
       prompt. It also by default parses escape codes in the issue file
       similar to some common getty's (using \x format).

       Recognized escapes:

       \d
	   current day

       \l
	   name of this tty

       \m
	   machine architecture (uname -m)

       \n
	   machine's network node hostname (uname -n)

       \o
	   domain name of this system

       \r
	   release number of operating system (uname -r)

       \t
	   current time

       \s
	   operating system name (uname -s)

       \u
	   number of users currently logged in

       \U
	   same as \u except it is suffixed with "user" or "users" (eg. "1
	   user" or "10 users")

       \v
	   operating system version and build date (uname -v)

OPTIONS
       noesc
	   Turns off escape code parsing.

       issue=issue-file-name
	   The file to output if not using the default.

MODULE TYPES PROVIDED
       Only the auth module type is provided.

RETURN VALUES
       PAM_BUF_ERR
	   Memory buffer error.

       PAM_IGNORE
	   The prompt was already changed.

       PAM_SERVICE_ERR
	   A service module error occurred.

       PAM_SUCCESS
	   The new prompt was set successfully.

EXAMPLES
       Add the following line to /etc/pam.d/login to set the user specific
       issue at login:

		   auth optional pam_issue.so issue=/etc/issue



SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_issue was written by Ben Collins <bcollins@debian.org>.



Linux-PAM			  05/12/2025			  PAM_ISSUE(8)

PAM_MOTD(8)		       Руководство Linux-PAM			   PAM_MOTD(8)



НАИМЕНОВАНИЕ
       pam_motd - Отображение файла motd

СИНОПСИС
       pam_motd.so [motd=/path/filename] [motd_dir=/path/dirname.d]

ОПИСАНИЕ
       pam_motd — это модуль PAM, который может использоваться для отображения произвольных файлов motd
       (message of the day) после успешного входа. По умолчанию,
       pam_motd показывает файлы в следующих местах:

	   /etc/motd
	   /run/motd
	   /usr/lib/motd
	   /etc/motd.d/
	   /run/motd.d/
	   /usr/lib/motd.d/

       Каждый размер сообщения ограничен 64KB.

       Если /etc/motd не существует, то показывается /run/motd. Если /run/motd не существует,
       то показывается /usr/lib/motd.

       Похожее переопределяющее поведение применяется к директориям. Файлы в
       /etc/motd.d/ переопределяют файлы с тем же именем в /run/motd.d/ и
       /usr/lib/motd.d/. Файлы в /run/motd.d/ переопределяют файлы с тем же
       именем в /usr/lib/motd.d/.

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

       Чтобы заглушить сообщение, символическая ссылка с целью /dev/null может быть
       размещена в /etc/motd.d с тем же именем файла, что и сообщение, которое нужно
       заглушить. Пример: Создание символической ссылки следующим образом заглушает
       /usr/lib/motd.d/my_motd.

       ln -s /dev/null /etc/motd.d/my_motd

       Переменная окружения MOTD_SHOWN=pam устанавливается после показа файлов motd,
       даже когда все из них были заглушены с помощью символических ссылок.

ОПЦИИ
       motd=/path/filename
	   Файл /path/filename отображается как message of the day.
	   Несколько путей для попытки можно указать в виде списка, разделенного двоеточиями.
	   По умолчанию эта опция установлена на /etc/motd:/run/motd:/usr/lib/motd.

       motd_dir=/path/dirname.d
	   Директория /path/dirname.d сканируется, и каждый файл внутри нее отображается.
	   Несколько директорий для сканирования можно указать в виде списка, разделенного двоеточиями.
	   По умолчанию эта опция установлена на /etc/motd.d:/run/motd.d:/usr/lib/motd.d/.

       Когда опции не указаны, применяется поведение по умолчанию для обоих
       опций. Указание любой опции (или обеих) отключит поведение по умолчанию
       для обоих опций.

ПРЕДОСТАВЛЯЕМЫЕ ТИПЫ МОДУЛЕЙ
       Предоставляется только тип модуля session.

ЗНАЧЕНИЯ, ВОЗВРАЩАЕМЫЕ
       PAM_ABORT
	   Не все релевантные данные или опции могли быть получены.

       PAM_BUF_ERR
	   Ошибка буфера памяти.

       PAM_IGNORE
	   Это значение по умолчанию для этого модуля.

ПРИМЕРЫ
       Предлагаемое использование для /etc/pam.d/login выглядит так:

	   session  optional  pam_motd.so


       Чтобы использовать файл motd из другого места:

	   session  optional  pam_motd.so motd=/elsewhere/motd


       Чтобы использовать файл motd из другого места, вместе с соответствующей директорией .d:

	   session  optional  pam_motd.so motd=/elsewhere/motd motd_dir=/elsewhere/motd.d

СМ. ТАКЖЕ
       motd(5), pam.conf(5), pam.d(5), pam(8)

АВТОР
       pam_motd был написан Ben Collins <bcollins@debian.org>.

       Опция motd_dir= была добавлена Allison Karlitskaya
       <allison.karlitskaya@redhat.com>.



Linux-PAM			  05/12/2025			   PAM_MOTD(8)
PAM_MOTD(8)		       Linux-PAM Manual			   PAM_MOTD(8)



NAME
       pam_motd - Display the motd file

SYNOPSIS
       pam_motd.so [motd=/path/filename] [motd_dir=/path/dirname.d]

DESCRIPTION
       pam_motd is a PAM module that can be used to display arbitrary motd
       (message of the day) files after a successful login. By default,
       pam_motd shows files in the following locations:

	   /etc/motd
	   /run/motd
	   /usr/lib/motd
	   /etc/motd.d/
	   /run/motd.d/
	   /usr/lib/motd.d/

       Each message size is limited to 64KB.

       If /etc/motd does not exist, then /run/motd is shown. If /run/motd does
       not exist, then /usr/lib/motd is shown.

       Similar overriding behavior applies to the directories. Files in
       /etc/motd.d/ override files with the same name in /run/motd.d/ and
       /usr/lib/motd.d/. Files in /run/motd.d/ override files with the same
       name in /usr/lib/motd.d/.

       Files in the directories listed above are displayed in lexicographic
       order by name. Moreover, the files are filtered by reading them with
       the credentials of the target user authenticating on the system.

       To silence a message, a symbolic link with target /dev/null may be
       placed in /etc/motd.d with the same filename as the message to be
       silenced. Example: Creating a symbolic link as follows silences
       /usr/lib/motd.d/my_motd.

       ln -s /dev/null /etc/motd.d/my_motd

       The MOTD_SHOWN=pam environment variable is set after showing the motd
       files, even when all of them were silenced using symbolic links.

OPTIONS
       motd=/path/filename
	   The /path/filename file is displayed as message of the day.
	   Multiple paths to try can be specified as a colon-separated list.
	   By default this option is set to /etc/motd:/run/motd:/usr/lib/motd.

       motd_dir=/path/dirname.d
	   The /path/dirname.d directory is scanned and each file contained
	   inside of it is displayed. Multiple directories to scan can be
	   specified as a colon-separated list. By default this option is set
	   to /etc/motd.d:/run/motd.d:/usr/lib/motd.d.

       When no options are given, the default behavior applies for both
       options. Specifying either option (or both) will disable the default
       behavior for both options.

MODULE TYPES PROVIDED
       Only the session module type is provided.

RETURN VALUES
       PAM_ABORT
	   Not all relevant data or options could be obtained.

       PAM_BUF_ERR
	   Memory buffer error.

       PAM_IGNORE
	   This is the default return value of this module.

EXAMPLES
       The suggested usage for /etc/pam.d/login is:

	   session  optional  pam_motd.so


       To use a motd file from a different location:

	   session  optional  pam_motd.so motd=/elsewhere/motd


       To use a motd file from elsewhere, along with a corresponding .d
       directory:

	   session  optional  pam_motd.so motd=/elsewhere/motd motd_dir=/elsewhere/motd.d



SEE ALSO
       motd(5), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_motd was written by Ben Collins <bcollins@debian.org>.

       The motd_dir= option was added by Allison Karlitskaya
       <allison.karlitskaya@redhat.com>.



Linux-PAM			  05/12/2025			   PAM_MOTD(8)

PAM_TIME(8)		       Linux-PAM Manual			   PAM_TIME(8)



NAME
       pam_time - модуль PAM для контроля доступа по времени

SYNOPSIS
       pam_time.so [conffile=conf-file] [debug] [noaudit]

DESCRIPTION
       Модуль PAM pam_time не аутентифицирует пользователя, а вместо этого
       ограничивает доступ к системе и/или конкретным приложениям в различные
       времена суток и на определенные дни или через различные терминалы.
       Этот модуль можно настроить для отказа в доступе (индивидуальным)
       пользователям на основе их имени, времени суток, дня недели, сервиса,
       для которого они запрашивают доступ, и терминала, с которого они делают
       запрос.

       По умолчанию правила для доступа по времени/порту берутся из файла
       конфигурации /etc/security/time.conf. Альтернативный файл можно указать
       с опцией conffile.

       Если Linux PAM скомпилирован с поддержкой аудита, модуль будет
       сообщать о случаях отказа в доступе.

OPTIONS
       conffile=/path/to/time.conf
	   Указывает альтернативный файл конфигурации в стиле time.conf для
	   переопределения значения по умолчанию.

       debug
	   Выводится некоторая отладочная информация с помощью syslog(3).

       noaudit
	   Не сообщать о входах в систему в недопустимое время подсистеме
	   аудита.

MODULE TYPES PROVIDED
       Предоставляется только тип account.

RETURN VALUES
       PAM_SUCCESS
	   Доступ предоставлен.

       PAM_ABORT
	   Не удалось получить все необходимые данные.

       PAM_BUF_ERR
	   Ошибка буфера памяти.

       PAM_PERM_DENIED
	   Доступ не предоставлен.

       PAM_USER_UNKNOWN
	   Пользователь неизвестен системе.

FILES
       /etc/security/time.conf
	   Файл конфигурации по умолчанию

EXAMPLES
	   #%PAM-1.0
	   #
	   # Применить учет pam_time к запросам на вход
	   #
	   login  account  required  pam_time.so


SEE ALSO
       time.conf(5), pam.d(5), pam(8).

AUTHOR
       pam_time был написан Andrew G. Morgan <morgan@kernel.org>.



Linux-PAM			  05/12/2025			   PAM_TIME(8)
PAM_TIME(8)		       Linux-PAM Manual			   PAM_TIME(8)



NAME
       pam_time - PAM module for time control access

SYNOPSIS
       pam_time.so [conffile=conf-file] [debug] [noaudit]

DESCRIPTION
       The pam_time PAM module does not authenticate the user, but instead it
       restricts access to a system and or specific applications at various
       times of the day and on specific days or over various terminal lines.
       This module can be configured to deny access to (individual) users
       based on their name, the time of day, the day of week, the service they
       are applying for and their terminal from which they are making their
       request.

       By default rules for time/port access are taken from config file
       /etc/security/time.conf. An alternative file can be specified with the
       conffile option.

       If Linux PAM is compiled with audit support the module will report when
       it denies access.

OPTIONS
       conffile=/path/to/time.conf
	   Indicate an alternative time.conf style configuration file to
	   override the default.

       debug
	   Some debug information is printed with syslog(3).

       noaudit
	   Do not report logins at disallowed time to the audit subsystem.

MODULE TYPES PROVIDED
       Only the account type is provided.

RETURN VALUES
       PAM_SUCCESS
	   Access was granted.

       PAM_ABORT
	   Not all relevant data could be gotten.

       PAM_BUF_ERR
	   Memory buffer error.

       PAM_PERM_DENIED
	   Access was not granted.

       PAM_USER_UNKNOWN
	   The user is not known to the system.

FILES
       /etc/security/time.conf
	   Default configuration file

EXAMPLES
	   #%PAM-1.0
	   #
	   # apply pam_time accounting to login requests
	   #
	   login  account  required  pam_time.so


SEE ALSO
       time.conf(5), pam.d(5), pam(8).

AUTHOR
       pam_time was written by Andrew G. Morgan <morgan@kernel.org>.



Linux-PAM			  05/12/2025			   PAM_TIME(8)

PAM_ECHO(8)		       Linux-PAM Manual			   PAM_ECHO(8)



NAME
       pam_echo - Модуль PAM для вывода текстовых сообщений

SYNOPSIS
       pam_echo.so [file=/path/message]

DESCRIPTION
       Модуль PAM pam_echo предназначен для вывода текстовых сообщений, чтобы информировать пользователя о специальных вещах. Последовательности, начинающиеся с символа %, интерпретируются следующим образом:

       %H
	   Имя удалённого хоста (PAM_RHOST).

       %h
	   Имя локального хоста.

       %s
	   Имя службы (PAM_SERVICE).

       %t
	   Имя управляющего терминала (PAM_TTY).

       %U
	   Имя удалённого пользователя (PAM_RUSER).

       %u
	   Имя локального пользователя (PAM_USER).

       Все другие последовательности, начинающиеся с %, заменяются на символы, следующие за %.

OPTIONS
       file=/path/message
	   Содержимое файла /path/message будет выведено с использованием функции преобразования PAM как PAM_TEXT_INFO.

MODULE TYPES PROVIDED
       Все типы модулей (auth, account, password и session) предоставляются.

RETURN VALUES
       PAM_BUF_ERR
	   Ошибка буфера памяти.

       PAM_SUCCESS
	   Сообщение успешно выведено.

       PAM_IGNORE
	   Указан флаг PAM_SILENT или файл сообщения не существует, сообщение не выводится.

EXAMPLES
       В качестве примера использования этого модуля покажем, как его можно применить для вывода информации о хороших паролях:

	   password optional pam_echo.so file=/usr/share/doc/good-password.txt
	   password required pam_unix.so



SEE ALSO
       pam.conf(8), pam.d(5), pam(8)

AUTHOR
       Thorsten Kukuk <kukuk@thkukuk.de>



Linux-PAM			  05/12/2025			   PAM_ECHO(8)
PAM_ECHO(8)		       Linux-PAM Manual			   PAM_ECHO(8)



NAME
       pam_echo - PAM module for printing text messages

SYNOPSIS
       pam_echo.so [file=/path/message]

DESCRIPTION
       The pam_echo PAM module is for printing text messages to inform user
       about special things. Sequences starting with the % character are
       interpreted in the following way:

       %H
	   The name of the remote host (PAM_RHOST).

       %h
	   The name of the local host.

       %s
	   The service name (PAM_SERVICE).

       %t
	   The name of the controlling terminal (PAM_TTY).

       %U
	   The remote user name (PAM_RUSER).

       %u
	   The local user name (PAM_USER).

       All other sequences beginning with % expands to the characters
       following the % character.

OPTIONS
       file=/path/message
	   The content of the file /path/message will be printed with the PAM
	   conversion function as PAM_TEXT_INFO.

MODULE TYPES PROVIDED
       All module types (auth, account, password and session) are provided.

RETURN VALUES
       PAM_BUF_ERR
	   Memory buffer error.

       PAM_SUCCESS
	   Message was successful printed.

       PAM_IGNORE
	   PAM_SILENT flag was given or message file does not exist, no
	   message printed.

EXAMPLES
       For an example of the use of this module, we show how it may be used to
       print information about good passwords:

	   password optional pam_echo.so file=/usr/share/doc/good-password.txt
	   password required pam_unix.so



SEE ALSO
       pam.conf(8), pam.d(5), pam(8)

AUTHOR
       Thorsten Kukuk <kukuk@thkukuk.de>



Linux-PAM			  05/12/2025			   PAM_ECHO(8)

PAM_DEBUG(8)		       Linux-PAM Manual			  PAM_DEBUG(8)



NAME
       pam_debug - Модуль PAM для отладки стека PAM

SYNOPSIS
       pam_debug.so [auth=value] [cred=value] [acct=value]
		    [prechauthtok=value] [chauthtok=value] [auth=value]
		    [open_session=value] [close_session=value]

DESCRIPTION
       Модуль PAM pam_debug предназначен для помощи в отладке, чтобы определить, как работает стек PAM. Этот модуль возвращает то, что указано в его аргументах модуля.

OPTIONS
       auth=value
	   Функция pam_sm_authenticate(3) вернет value.

       cred=value
	   Функция pam_sm_setcred(3) вернет value.

       acct=value
	   Функция pam_sm_acct_mgmt(3) вернет value.

       prechauthtok=value
	   Функция pam_sm_chauthtok(3) вернет value, если установлен флаг
	   PAM_PRELIM_CHECK.

       chauthtok=value
	   Функция pam_sm_chauthtok(3) вернет value, если флаг
	   PAM_PRELIM_CHECK не установлен.

       open_session=value
	   Функция pam_sm_open_session(3) вернет value.

       close_session=value
	   Функция pam_sm_close_session(3) вернет value.

       Где value может быть одним из: success, open_err, symbol_err, service_err,
       system_err, buf_err, perm_denied, auth_err, cred_insufficient,
       authinfo_unavail, user_unknown, maxtries, new_authtok_reqd,
       acct_expired, session_err, cred_unavail, cred_expired, cred_err,
       no_module_data, conv_err, authtok_err, authtok_recover_err,
       authtok_lock_busy, authtok_disable_aging, try_again, ignore, abort,
       authtok_expired, module_unknown, bad_item, conv_again, incomplete.

MODULE TYPES PROVIDED
       Предоставляются все типы модулей (auth, account, password and session).

RETURN VALUES
       PAM_SUCCESS
	   Код возврата по умолчанию, если не указано иное, иначе указанный
	   код возврата.

EXAMPLES
	   auth	   requisite	   pam_permit.so
	   auth	   [success=2 default=ok]  pam_debug.so auth=perm_denied cred=success
	   auth	   [default=reset]	   pam_debug.so auth=success cred=perm_denied
	   auth	   [success=done default=die] pam_debug.so
	   auth	   optional	   pam_debug.so auth=perm_denied cred=perm_denied
	   auth	   sufficient	   pam_debug.so auth=success cred=success


SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_debug был написан Andrew G. Morgan <morgan@kernel.org>.



Linux-PAM			  05/12/2025			  PAM_DEBUG(8)
PAM_DEBUG(8)		       Linux-PAM Manual			  PAM_DEBUG(8)



NAME
       pam_debug - PAM module to debug the PAM stack

SYNOPSIS
       pam_debug.so [auth=value] [cred=value] [acct=value]
		    [prechauthtok=value] [chauthtok=value] [auth=value]
		    [open_session=value] [close_session=value]

DESCRIPTION
       The pam_debug PAM module is intended as a debugging aide for
       determining how the PAM stack is operating. This module returns what
       its module arguments tell it to return.

OPTIONS
       auth=value
	   The pam_sm_authenticate(3) function will return value.

       cred=value
	   The pam_sm_setcred(3) function will return value.

       acct=value
	   The pam_sm_acct_mgmt(3) function will return value.

       prechauthtok=value
	   The pam_sm_chauthtok(3) function will return value if the
	   PAM_PRELIM_CHECK flag is set.

       chauthtok=value
	   The pam_sm_chauthtok(3) function will return value if the
	   PAM_PRELIM_CHECK flag is not set.

       open_session=value
	   The pam_sm_open_session(3) function will return value.

       close_session=value
	   The pam_sm_close_session(3) function will return value.

       Where value can be one of: success, open_err, symbol_err, service_err,
       system_err, buf_err, perm_denied, auth_err, cred_insufficient,
       authinfo_unavail, user_unknown, maxtries, new_authtok_reqd,
       acct_expired, session_err, cred_unavail, cred_expired, cred_err,
       no_module_data, conv_err, authtok_err, authtok_recover_err,
       authtok_lock_busy, authtok_disable_aging, try_again, ignore, abort,
       authtok_expired, module_unknown, bad_item, conv_again, incomplete.

MODULE TYPES PROVIDED
       All module types (auth, account, password and session) are provided.

RETURN VALUES
       PAM_SUCCESS
	   Default return code if no other value was specified, else specified
	   return value.

EXAMPLES
	   auth	   requisite	   pam_permit.so
	   auth	   [success=2 default=ok]  pam_debug.so auth=perm_denied cred=success
	   auth	   [default=reset]	   pam_debug.so auth=success cred=perm_denied
	   auth	   [success=done default=die] pam_debug.so
	   auth	   optional	   pam_debug.so auth=perm_denied cred=perm_denied
	   auth	   sufficient	   pam_debug.so auth=success cred=success


SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_debug was written by Andrew G. Morgan <morgan@kernel.org>.



Linux-PAM			  05/12/2025			  PAM_DEBUG(8)

PAM_UMASK(8)		       Linux-PAM Manual			  PAM_UMASK(8)



NAME
       pam_umask - PAM-модуль для установки маски создания режима файла

SYNOPSIS
       pam_umask.so [debug] [silent] [usergroups] [nousergroups] [umask=mask]

DESCRIPTION
       pam_umask — это PAM-модуль, устанавливающий маску создания режима файла
       для текущей среды. Маска umask влияет на разрешения по умолчанию,
       назначаемые вновь созданным файлам.

       Модуль PAM пытается получить значение umask из следующих источников
       в следующем порядке:

       •   запись umask= в поле GECOS пользователя (см. ниже для деталей)

       •   аргумент umask=

       •   запись UMASK из /etc/login.defs

       •   запись UMASK= из /etc/default/login

       Поле GECOS разделяется на подполя с помощью запятых ','. Записи должны
       устанавливаться в его "другом" (sub-)поле (пятое поле в GECOS),
       что можно сделать, например, с помощью chfn --other. Кроме записи
       umask=, модуль также распознает запись pri=, которая устанавливает
       значение приоритета nice для сессии, и запись ulimit=, которая
       устанавливает максимальный размер файлов, которые могут создавать
       процессы в сессии.

OPTIONS
       debug
	   Выводить информацию отладки.

       silent
	   Не выводить информационные сообщения.

       usergroups
	   Если пользователь не является root и имя пользователя совпадает
	   с именем основной группы, биты группы в маске umask устанавливаются
	   такими же, как биты владельца (примеры: 022 → 002, 077 → 007).

       nousergroups
	   Это прямая противоположность опции usergroups, описанной выше,
	   что может быть полезно в случае, если pam_umask был скомпилирован
	   с usergroups, включенным по умолчанию, и вы хотите отключить его
	   во время выполнения.

       umask=mask
	   Устанавливает маску создания режима файла (umask) вызывающего
	   процесса на mask & 0777. Значение интерпретируется как восьмеричное.

MODULE TYPES PROVIDED
       Предоставляется только тип сессии.

RETURN VALUES
       PAM_SUCCESS
	   Новая umask была успешно установлена.

       PAM_BUF_ERR
	   Ошибка буфера памяти.

       PAM_CONV_ERR
	   Метод разговора, предоставленный приложением, не смог получить
	   имя пользователя.

       PAM_INCOMPLETE
	   Метод разговора, предоставленный приложением, вернул
	   PAM_CONV_AGAIN.

       PAM_SERVICE_ERR
	   Имя пользователя не было указано.

       PAM_USER_UNKNOWN
	   Пользователь не известен.

EXAMPLES
       Добавьте следующую строку в /etc/pam.d/login, чтобы установить
       пользовательскую umask при входе:

		   session optional pam_umask.so umask=0022



SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_umask был написан Thorsten Kukuk <kukuk@thkukuk.de>.



Linux-PAM			  05/12/2025			  PAM_UMASK(8)
PAM_UMASK(8)		       Linux-PAM Manual			  PAM_UMASK(8)



NAME
       pam_umask - PAM module to set the file mode creation mask

SYNOPSIS
       pam_umask.so [debug] [silent] [usergroups] [nousergroups] [umask=mask]

DESCRIPTION
       pam_umask is a PAM module to set the file mode creation mask of the
       current environment. The umask affects the default permissions assigned
       to newly created files.

       The PAM module tries to get the umask value from the following places
       in the following order:

       •   umask= entry in the user's GECOS field (see below for details)

       •   umask= argument

       •   UMASK entry from /etc/login.defs

       •   UMASK= entry from /etc/default/login

       The GECOS field is split on comma ',' characters. Entries must be set
       in its 'other' (sub-)field (the 5th field within the GECOS field),
       which could be done, for example, using chfn --other. In addition to
       the umask= entry, the module also recognizes the pri= entry, which sets
       the nice priority value for the session, and the ulimit= entry, which
       sets the maximum size of files the processes in the session can create.

OPTIONS
       debug
	   Print debug information.

       silent
	   Don't print informative messages.

       usergroups
	   If the user is not root and the username is the same as primary
	   group name, the umask group bits are set to be the same as owner
	   bits (examples: 022 -> 002, 077 -> 007).

       nousergroups
	   This is the direct opposite of the usergroups option described
	   above, which can be useful in case pam_umask has been compiled with
	   usergroups enabled by default and you want to disable it at
	   runtime.

       umask=mask
	   Sets the calling process's file mode creation mask (umask) to mask
	   & 0777. The value is interpreted as Octal.

MODULE TYPES PROVIDED
       Only the session type is provided.

RETURN VALUES
       PAM_SUCCESS
	   The new umask was set successfully.

       PAM_BUF_ERR
	   Memory buffer error.

       PAM_CONV_ERR
	   The conversation method supplied by the application failed to
	   obtain the username.

       PAM_INCOMPLETE
	   The conversation method supplied by the application returned
	   PAM_CONV_AGAIN.

       PAM_SERVICE_ERR
	   No username was given.

       PAM_USER_UNKNOWN
	   User not known.

EXAMPLES
       Add the following line to /etc/pam.d/login to set the user specific
       umask at login:

		   session optional pam_umask.so umask=0022



SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_umask was written by Thorsten Kukuk <kukuk@thkukuk.de>.



Linux-PAM			  05/12/2025			  PAM_UMASK(8)

PAM_DENY(8)		       Руководство Linux-PAM			   PAM_DENY(8)



NAME
       pam_deny - Модуль PAM для блокировки доступа

SYNOPSIS
       pam_deny.so

DESCRIPTION
       Этот модуль можно использовать для отказа в доступе. Он всегда указывает
       на сбой приложению через фреймворк PAM. Он может быть подходящим для
       использования в качестве значений по умолчанию (OTHER).

OPTIONS
       Этот модуль не распознает никаких опций.

MODULE TYPES PROVIDED
       Предоставляются все типы модулей (account, auth, password and session).

RETURN VALUES
       PAM_AUTH_ERR
	   Это возвращается службами account и auth.

       PAM_CRED_ERR
	   Это возвращается функцией setcred.

       PAM_AUTHTOK_ERR
	   Это возвращается службой password.

       PAM_SESSION_ERR
	   Это возвращается службой session.

EXAMPLES
	   #%PAM-1.0
	   #
	   # Если у нас нет записей конфигурации для службы, то
	   # используются записи OTHER. Для обеспечения безопасности, выдавать
	   # предупреждение и отказывать в доступе ко всему.
	   other auth	  required	 pam_warn.so
	   other auth	  required	 pam_deny.so
	   other account  required	 pam_warn.so
	   other account  required	 pam_deny.so
	   other password required	 pam_warn.so
	   other password required	 pam_deny.so
	   other session  required	 pam_warn.so
	   other session  required	 pam_deny.so


SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_deny был написан Andrew G. Morgan <morgan@kernel.org>



Linux-PAM			  05/12/2025			   PAM_DENY(8)
PAM_DENY(8)		       Linux-PAM Manual			   PAM_DENY(8)



NAME
       pam_deny - The locking-out PAM module

SYNOPSIS
       pam_deny.so

DESCRIPTION
       This module can be used to deny access. It always indicates a failure
       to the application through the PAM framework. It might be suitable for
       using for default (the OTHER) entries.

OPTIONS
       This module does not recognise any options.

MODULE TYPES PROVIDED
       All module types (account, auth, password and session) are provided.

RETURN VALUES
       PAM_AUTH_ERR
	   This is returned by the account and auth services.

       PAM_CRED_ERR
	   This is returned by the setcred function.

       PAM_AUTHTOK_ERR
	   This is returned by the password service.

       PAM_SESSION_ERR
	   This is returned by the session service.

EXAMPLES
	   #%PAM-1.0
	   #
	   # If we don't have config entries for a service, the
	   # OTHER entries are used. To be secure, warn and deny
	   # access to everything.
	   other auth	  required	 pam_warn.so
	   other auth	  required	 pam_deny.so
	   other account  required	 pam_warn.so
	   other account  required	 pam_deny.so
	   other password required	 pam_warn.so
	   other password required	 pam_deny.so
	   other session  required	 pam_warn.so
	   other session  required	 pam_deny.so


SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_deny was written by Andrew G. Morgan <morgan@kernel.org>



Linux-PAM			  05/12/2025			   PAM_DENY(8)

PAM_MAIL(8)		       Linux-PAM Manual			   PAM_MAIL(8)



NAME
       pam_mail - Информирует о наличии почты

SYNOPSIS
       pam_mail.so [close] [debug] [dir=maildir] [empty] [hash=count] [noenv]
		   [nopen] [quiet] [standard]

DESCRIPTION
       Модуль PAM pam_mail предоставляет услугу "у вас новая почта" пользователю. Он может быть интегрирован в любое приложение, которое использует хуки для учетных данных или сессий. Этот модуль выдает одно сообщение, указывающее на наличие новой почты в папке почты пользователя. Кроме того, модуль устанавливает переменную окружения PAM, MAIL, в каталог почты пользователя.

       Если файл спула почты (будь то /var/mail/$USER или путь, указанный с параметром dir=) является каталогом, то pam_mail предполагает, что он в формате Maildir.

OPTIONS
       close
	   Указывать, есть ли у пользователя почта, также при выходе.

       debug
	   Выводить информацию отладки.

       dir=maildir
	   Искать почту пользователя в альтернативном месте, определяемом как maildir/<login>. По умолчанию почта находится в /var/mail/<login>. Обратите внимание, если указанный maildir начинается с '~', каталог интерпретируется как файл в домашнем каталоге пользователя.

       empty
	   Также выводить сообщение, если у пользователя нет почты.

       hash=count
	   Глубина хеширования каталога почты. Например, значение hashcount равное 2 сделает файл почты /var/spool/mail/u/s/user.

       noenv
	   Не устанавливать переменную окружения MAIL.

       nopen
	   Не выводить информацию о почте при входе. Этот флаг полезен для установки переменной окружения MAIL, но без отображения информации о ней.

       quiet
	   Сообщать только о наличии новой почты.

       standard
	   Старый стиль формата "У вас..." без указания используемого спула почты. Это также подразумевает "empty".

MODULE TYPES PROVIDED
       Типы модулей session и auth (при установке и удалении учетных данных) предоставляются.

RETURN VALUES
       PAM_BUF_ERR
	   Ошибка буфера памяти.

       PAM_SERVICE_ERR
	   Неправильно сформированные аргументы.

       PAM_SUCCESS
	   Успех.

       PAM_USER_UNKNOWN
	   Пользователь не известен.

EXAMPLES
       Добавьте следующую строку в /etc/pam.d/login, чтобы указывать пользователю о новой почте при входе в систему.

	   session  optional  pam_mail.so standard



SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_mail был написан Andrew G. Morgan <morgan@kernel.org>.



Linux-PAM			  05/12/2025			   PAM_MAIL(8)
PAM_MAIL(8)		       Linux-PAM Manual			   PAM_MAIL(8)



NAME
       pam_mail - Inform about available mail

SYNOPSIS
       pam_mail.so [close] [debug] [dir=maildir] [empty] [hash=count] [noenv]
		   [nopen] [quiet] [standard]

DESCRIPTION
       The pam_mail PAM module provides the "you have new mail" service to the
       user. It can be plugged into any application that has credential or
       session hooks. It gives a single message indicating the newness of any
       mail it finds in the user's mail folder. This module also sets the PAM
       environment variable, MAIL, to the user's mail directory.

       If the mail spool file (be it /var/mail/$USER or a pathname given with
       the dir= parameter) is a directory then pam_mail assumes it is in the
       Maildir format.

OPTIONS
       close
	   Indicate if the user has any mail also on logout.

       debug
	   Print debug information.

       dir=maildir
	   Look for the user's mail in an alternative location defined by
	   maildir/<login>. The default location for mail is
	   /var/mail/<login>. Note, if the supplied maildir is prefixed by a
	   '~', the directory is interpreted as indicating a file in the
	   user's home directory.

       empty
	   Also print message if user has no mail.

       hash=count
	   Mail directory hash depth. For example, a hashcount of 2 would make
	   the mail file be /var/spool/mail/u/s/user.

       noenv
	   Do not set the MAIL environment variable.

       nopen
	   Don't print any mail information on login. This flag is useful to
	   get the MAIL environment variable set, but to not display any
	   information about it.

       quiet
	   Only report when there is new mail.

       standard
	   Old style "You have..." format which doesn't show the mail spool
	   being used. This also implies "empty".

MODULE TYPES PROVIDED
       The session and auth (on establishment and deletion of credentials)
       module types are provided.

RETURN VALUES
       PAM_BUF_ERR
	   Memory buffer error.

       PAM_SERVICE_ERR
	   Badly formed arguments.

       PAM_SUCCESS
	   Success.

       PAM_USER_UNKNOWN
	   User not known.

EXAMPLES
       Add the following line to /etc/pam.d/login to indicate that the user
       has new mail when they login to the system.

	   session  optional  pam_mail.so standard



SEE ALSO
       pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_mail was written by Andrew G. Morgan <morgan@kernel.org>.



Linux-PAM			  05/12/2025			   PAM_MAIL(8)

PAM_FAILDELAY(8)	       Linux-PAM Manual		      PAM_FAILDELAY(8)



NAME
       pam_faildelay - Изменение задержки при неудаче для каждого приложения

SYNOPSIS
       pam_faildelay.so [debug] [delay=microseconds]

DESCRIPTION
       pam_faildelay — это модуль PAM, который можно использовать для установки задержки при неудаче для каждого приложения.

       Если задержка не указана, pam_faildelay будет использовать значение FAIL_DELAY из /etc/login.defs.

OPTIONS
       debug
	   Включает сообщения отладки, отправляемые в syslog.

       delay=N
	   Устанавливает задержку при неудаче в N микросекунд.

MODULE TYPES PROVIDED
       Предоставляется только тип модуля auth.

RETURN VALUES
       PAM_IGNORE
	   Задержка была успешно скорректирована.

       PAM_SYSTEM_ERR
	   Указанная задержка недействительна.

EXAMPLES
       В следующем примере задержка при неудаче будет установлена на 10 секунд:

	   auth	 optional  pam_faildelay.so  delay=10000000



SEE ALSO
       pam_fail_delay(3), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_faildelay был написан Darren Tucker <dtucker@zip.com.au>.



Linux-PAM			  05/12/2025		      PAM_FAILDELAY(8)
PAM_FAILDELAY(8)	       Linux-PAM Manual		      PAM_FAILDELAY(8)



NAME
       pam_faildelay - Change the delay on failure per-application

SYNOPSIS
       pam_faildelay.so [debug] [delay=microseconds]

DESCRIPTION
       pam_faildelay is a PAM module that can be used to set the delay on
       failure per-application.

       If no delay is given, pam_faildelay will use the value of FAIL_DELAY
       from /etc/login.defs.

OPTIONS
       debug
	   Turns on debugging messages sent to syslog.

       delay=N
	   Set the delay on failure to N microseconds.

MODULE TYPES PROVIDED
       Only the auth module type is provided.

RETURN VALUES
       PAM_IGNORE
	   Delay was successful adjusted.

       PAM_SYSTEM_ERR
	   The specified delay was not valid.

EXAMPLES
       The following example will set the delay on failure to 10 seconds:

	   auth	 optional  pam_faildelay.so  delay=10000000



SEE ALSO
       pam_fail_delay(3), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_faildelay was written by Darren Tucker <dtucker@zip.com.au>.



Linux-PAM			  05/12/2025		      PAM_FAILDELAY(8)

PAM.CONF(5)		       Linux-PAM Manual			   PAM.CONF(5)



NAME
       pam.conf, pam.d - Файлы конфигурации PAM

DESCRIPTION
       Когда запускается приложение, осведомленное о PAM и предоставляющее привилегии, оно активирует подключение к PAM-API. Эта активация выполняет ряд задач, наиболее важной из которых является чтение файлов конфигурации: /etc/pam.conf. В качестве альтернативы и предпочтительно, конфигурация может задаваться отдельными файлами конфигурации в каталоге pam.d. Наличие этого каталога заставит Linux-PAM игнорировать /etc/pam.conf.

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

       Синтаксис файла конфигурации /etc/pam.conf следующий. Файл состоит из списка правил, каждое из которых обычно размещается на одной строке, но может быть расширено с помощью экранированного конца строки: `\LF'. Комментарии начинаются с символов `#` и продолжаются до конца строки.

       Формат каждого правила — это разделенный пробелами набор токенов, первые три из которых нечувствительны к регистру:

	service type control module-path module-arguments

       Синтаксис файлов в каталоге /etc/pam.d/ идентичен, за исключением отсутствия поля service. В этом случае служба — это имя файла в каталоге /etc/pam.d/. Имя файла должно быть в нижнем регистре.

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

       Service обычно представляет собой знакомое имя соответствующего приложения: login и su — хорошие примеры. Имя службы other зарезервировано для задания правил по умолчанию. Только строки, которые упоминают текущую службу (или, в отсутствие таковой, записи other), будут связаны с данным приложением службы.

       Type — это группа управления, которой соответствует правило. Она используется для указания, к какой из групп управления будет присоединен последующий модуль. Допустимые значения:

       account
	   этот тип модуля выполняет управление учетной записью, не основанное на аутентификации. Он обычно используется для ограничения/разрешения доступа к службе на основе времени суток, доступных системных ресурсов (максимальное количество пользователей) или, возможно, местоположения пользователя — например, вход 'root' только на консоли.

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

       password
	   этот тип модуля требуется для обновления токена аутентификации, связанного с пользователем. Обычно существует один модуль для каждого типа аутентификации на основе "вопрос-ответ" (auth).

       session
	   этот тип модуля связан с выполнением действий, которые нужно сделать для пользователя до/после того, как ему будет предоставлена служба. К таким действиям относятся ведение журнала информации о открытии/закрытии обмена данными с пользователем, монтирование каталогов и т.д.

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

       Третье поле, control, указывает поведение PAM-API в случае, если модуль не сможет успешно выполнить задачу аутентификации. Существует два типа синтаксиса для этого поля control: простой, с одним ключевым словом; и более сложный, с квадратными скобками, содержащими набор пар value=action.

       Для простого (исторического) синтаксиса допустимые значения control:

       required
	   неудача такого PAM в конечном итоге приведет к тому, что PAM-API вернет неудачу, но только после вызова остальных модулей в стеке (для этой службы и типа).

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

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

       optional
	   успех или неудача этого модуля важны только в том случае, если он является единственным модулем в стеке, связанным с этой службой+типом.

       include
	   включить все строки заданного типа из файла конфигурации, указанного в качестве аргумента для этого control.

       substack
	   включить все строки заданного типа из файла конфигурации, указанного в качестве аргумента для этого control. Это отличается от include тем, что оценка действий done и die в подстеке не приводит к пропуску остальной части полного стека модулей, а только подстека. Переходы в подстеке также не могут заставить оценку выйти из него, и весь подстек считается одним модулем при выполнении перехода в родительском стеке. Действие reset сбросит состояние стека модулей к состоянию, в котором оно было в начале оценки подстека.

       Для более сложного синтаксиса допустимые значения control имеют следующую форму:

		 [value1=action1 value2=action2 ...]


       Где valueN соответствует коду возврата из функции, вызванной в модуле, для которого определена строка. Он выбирается из одного из следующих: success, open_err, symbol_err, service_err, system_err, buf_err, perm_denied, auth_err, cred_insufficient, authinfo_unavail, user_unknown, maxtries, new_authtok_reqd, acct_expired, session_err, cred_unavail, cred_expired, cred_err, no_module_data, conv_err, authtok_err, authtok_recover_err, authtok_lock_busy, authtok_disable_aging, try_again, ignore, abort, authtok_expired, module_unknown, bad_item, conv_again, incomplete, и default.

       Последнее из них, default, подразумевает "все valueN, которые не указаны явно". Обратите внимание, полный список ошибок PAM доступен в /usr/include/security/_pam_types.h. ActionN может принимать одну из следующих форм:

       ignore
	   при использовании со стеком модулей статус возврата модуля не будет вносить вклад в код возврата, получаемый приложением.

       bad
	   это действие указывает, что код возврата следует рассматривать как указывающий на неудачу модуля. Если этот модуль является первым в стеке, потерпевшим неудачу, его значение статуса будет использовано для всего стека. Это действие по умолчанию для всех кодов возврата.

       die
	   эквивалентно bad с дополнительным эффектом завершения стека модулей и немедленного возврата PAM к приложению.

       ok
	   это говорит PAM, что администратор считает, что этот код возврата должен напрямую вносить вклад в код возврата полного стека модулей. Другими словами, если предыдущее состояние стека привело бы к возврату PAM_SUCCESS, код возврата модуля переопределит это значение. Обратите внимание, если предыдущее состояние стека содержит значение, указывающее на неудачу модуля, это значение 'ok' не будет использовано для переопределения того значения.

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

       N (целое беззнаковое число)
	   перейти через следующие N модулей в стеке. Обратите внимание, что N, равное 0, не допускается; в таком случае оно будет обработано как ignore. Дополнительный эффект зависит от вызова функции PAM: для pam_authenticate, pam_acct_mgmt, pam_chauthtok и pam_open_session это ignore; для pam_setcred и pam_close_session это одно из ignore, ok или bad в зависимости от значения возврата модуля.

       reset
	   очистить всю память о состоянии стека модулей и начать заново с следующего модуля в стеке.

       Если действие для кода возврата не определено явно с помощью токена valueN и значение default не указано, действие для этого кода возврата по умолчанию будет bad.

       Каждое из четырех ключевых слов: required; requisite; sufficient; и optional, имеет эквивалентное выражение в синтаксисе [...]. Они следующие:

       required
	   [success=ok new_authtok_reqd=ok ignore=ignore default=bad]

       requisite
	   [success=ok new_authtok_reqd=ok ignore=ignore default=die]

       sufficient
	   [success=done new_authtok_reqd=done default=ignore]

       optional
	   [success=ok new_authtok_reqd=ok default=ignore]

       module-path — это либо полный путь к файлу PAM, который будет использоваться приложением (он начинается с `/`), либо относительный путь от каталога модулей по умолчанию: /lib/security/ или /lib64/security/, в зависимости от архитектуры.

       module-arguments — это разделенный пробелами список токенов, которые могут использоваться для изменения конкретного поведения данного PAM. Такие аргументы документированы для каждого индивидуального модуля. Обратите внимание, если вы хотите включить пробелы в аргументе, вы должны заключить этот аргумент в квадратные скобки.

	       squid auth required pam_mysql.so user=passwd_query passwd=mada \
		     db=eminence [query=select user_name from internet_service \
		     where user_name='%u' and password=PASSWORD('%p') and \
		   service='web_proxy']


       При использовании этой конвенции вы можете включать символы `[` внутри строки, и если вы хотите включить символ `]` внутри строки, который переживет разбор аргументов, вы должны использовать `\]`. Другими словами:

	       [..[..\]..]    -->   ..[..]..


       Любая строка в (одном из) файлов конфигурации, которая отформатирована неправильно, как правило, приведет (с оглядкой на осторожность) к неудаче процесса аутентификации. Соответствующая ошибка записывается в системные файлы журнала с вызовом syslog(3).

       Более гибким, чем один файл конфигурации, является настройка libpam через содержимое каталогов pam.d. В этом случае каталоги заполнены файлами, каждый из которых имеет имя файла, равное имени службы (в нижнем регистре): это личный файл конфигурации для данной службы.

       Предоставляемые производителем файлы конфигурации PAM могут быть установлены в системном каталоге /usr/lib/pam.d/ или в configurable каталоге, специфичном для производителя, вместо каталога конфигурации машины /etc/pam.d/. Если файл конфигурации машины не найден, используется файл, предоставленный производителем. Все файлы в /etc/pam.d/ переопределяют файлы с одинаковыми именами в других каталогах.

       Синтаксис каждого файла в pam.d аналогичен синтаксису файла /etc/pam.conf и состоит из строк следующего вида:

	   type	 control  module-path  module-arguments


       Единственное отличие — отсутствие имени службы. Имя службы, конечно, является именем данного файла конфигурации. Например, /etc/pam.d/login содержит конфигурацию для службы login.

FILES
       /etc/pam.conf
	   файл конфигурации

       /etc/pam.d
	   каталог конфигурации Linux-PAM. В общем, если этот каталог присутствует, файл /etc/pam.conf игнорируется.

       /usr/lib/pam.d
	   каталог конфигурации Linux-PAM от производителя. Файлы в /etc/pam.d переопределяют файлы с одинаковыми именами в этом каталоге.

SEE ALSO
       pam(3), PAM(8), pam_start(3)



Linux-PAM			  05/12/2025			   PAM.CONF(5)
PAM.CONF(5)		       Linux-PAM Manual			   PAM.CONF(5)



NAME
       pam.conf, pam.d - PAM configuration files

DESCRIPTION
       When a PAM aware privilege granting application is started, it
       activates its attachment to the PAM-API. This activation performs a
       number of tasks, the most important being the reading of the
       configuration file(s): /etc/pam.conf. Alternatively and preferably, the
       configuration can be set by individual configuration files located in a
       pam.d directory. The presence of this directory will cause Linux-PAM to
       ignore /etc/pam.conf.

       These files list the PAMs that will do the authentication tasks
       required by this service, and the appropriate behavior of the PAM-API
       in the event that individual PAMs fail.

       The syntax of the /etc/pam.conf configuration file is as follows. The
       file is made up of a list of rules, each rule is typically placed on a
       single line, but may be extended with an escaped end of line: `\<LF>'.
       Comments are preceded with `#' marks and extend to the next end of
       line.

       The format of each rule is a space separated collection of tokens, the
       first three being case-insensitive:

	service type control module-path module-arguments

       The syntax of files contained in the /etc/pam.d/ directory, are
       identical except for the absence of any service field. In this case,
       the service is the name of the file in the /etc/pam.d/ directory. This
       filename must be in lower case.

       An important feature of PAM, is that a number of rules may be stacked
       to combine the services of a number of PAMs for a given authentication
       task.

       The service is typically the familiar name of the corresponding
       application: login and su are good examples. The service-name, other,
       is reserved for giving default rules. Only lines that mention the
       current service (or in the absence of such, the other entries) will be
       associated with the given service-application.

       The type is the management group that the rule corresponds to. It is
       used to specify which of the management groups the subsequent module is
       to be associated with. Valid entries are:

       account
	   this module type performs non-authentication based account
	   management. It is typically used to restrict/permit access to a
	   service based on the time of day, currently available system
	   resources (maximum number of users) or perhaps the location of the
	   applicant user -- 'root' login only on the console.

       auth
	   this module type provides two aspects of authenticating the user.
	   Firstly, it establishes that the user is who they claim to be, by
	   instructing the application to prompt the user for a password or
	   other means of identification. Secondly, the module can grant group
	   membership or other privileges through its credential granting
	   properties.

       password
	   this module type is required for updating the authentication token
	   associated with the user. Typically, there is one module for each
	   'challenge/response' based authentication (auth) type.

       session
	   this module type is associated with doing things that need to be
	   done for the user before/after they can be given service. Such
	   things include the logging of information concerning the
	   opening/closing of some data exchange with a user, mounting
	   directories, etc.

       If the type value from the list above is prepended with a - character
       the PAM library will not log to the system log if it is not possible to
       load the module because it is missing in the system. This can be useful
       especially for modules which are not always installed on the system and
       are not required for correct authentication and authorization of the
       login session.

       The third field, control, indicates the behavior of the PAM-API should
       the module fail to succeed in its authentication task. There are two
       types of syntax for this control field: the simple one has a single
       simple keyword; the more complicated one involves a square-bracketed
       selection of value=action pairs.

       For the simple (historical) syntax valid control values are:

       required
	   failure of such a PAM will ultimately lead to the PAM-API returning
	   failure but only after the remaining stacked modules (for this
	   service and type) have been invoked.

       requisite
	   like required, however, in the case that such a module returns a
	   failure, control is directly returned to the application or to the
	   superior PAM stack. The return value is that associated with the
	   first required or requisite module to fail. Note, this flag can be
	   used to protect against the possibility of a user getting the
	   opportunity to enter a password over an unsafe medium. It is
	   conceivable that such behavior might inform an attacker of valid
	   accounts on a system. This possibility should be weighed against
	   the not insignificant concerns of exposing a sensitive password in
	   a hostile environment.

       sufficient
	   if such a module succeeds and no prior required module has failed
	   the PAM framework returns success to the application or to the
	   superior PAM stack immediately without calling any further modules
	   in the stack. A failure of a sufficient module is ignored and
	   processing of the PAM module stack continues unaffected.

       optional
	   the success or failure of this module is only important if it is
	   the only module in the stack associated with this service+type.

       include
	   include all lines of given type from the configuration file
	   specified as an argument to this control.

       substack
	   include all lines of given type from the configuration file
	   specified as an argument to this control. This differs from include
	   in that evaluation of the done and die actions in a substack does
	   not cause skipping the rest of the complete module stack, but only
	   of the substack. Jumps in a substack also can not make evaluation
	   jump out of it, and the whole substack is counted as one module
	   when the jump is done in a parent stack. The reset action will
	   reset the state of a module stack to the state it was in as of
	   beginning of the substack evaluation.

       For the more complicated syntax valid control values have the following
       form:

		 [value1=action1 value2=action2 ...]


       Where valueN corresponds to the return code from the function invoked
       in the module for which the line is defined. It is selected from one of
       these: success, open_err, symbol_err, service_err, system_err, buf_err,
       perm_denied, auth_err, cred_insufficient, authinfo_unavail,
       user_unknown, maxtries, new_authtok_reqd, acct_expired, session_err,
       cred_unavail, cred_expired, cred_err, no_module_data, conv_err,
       authtok_err, authtok_recover_err, authtok_lock_busy,
       authtok_disable_aging, try_again, ignore, abort, authtok_expired,
       module_unknown, bad_item, conv_again, incomplete, and default.

       The last of these, default, implies 'all valueN's not mentioned
       explicitly. Note, the full list of PAM errors is available in
       /usr/include/security/_pam_types.h. The actionN can take one of the
       following forms:

       ignore
	   when used with a stack of modules, the module's return status will
	   not contribute to the return code the application obtains.

       bad
	   this action indicates that the return code should be thought of as
	   indicative of the module failing. If this module is the first in
	   the stack to fail, its status value will be used for that of the
	   whole stack. This is the default action for all return codes.

       die
	   equivalent to bad with the side effect of terminating the module
	   stack and PAM immediately returning to the application.

       ok
	   this tells PAM that the administrator thinks this return code
	   should contribute directly to the return code of the full stack of
	   modules. In other words, if the former state of the stack would
	   lead to a return of PAM_SUCCESS, the module's return code will
	   override this value. Note, if the former state of the stack holds
	   some value that is indicative of a modules failure, this 'ok' value
	   will not be used to override that value.

       done
	   equivalent to ok with the side effect of terminating the module
	   stack and PAM immediately returning to the application unless there
	   was a non-ignored module failure before.

       N (an unsigned integer)
	   jump over the next N modules in the stack. Note that N equal to 0
	   is not allowed, it would be treated as ignore in such case. The
	   side effect depends on the PAM function call: for pam_authenticate,
	   pam_acct_mgmt, pam_chauthtok, and pam_open_session it is ignore;
	   for pam_setcred and pam_close_session it is one of ignore, ok, or
	   bad depending on the module's return value.

       reset
	   clear all memory of the state of the module stack and start again
	   with the next stacked module.

       If a return code's action is not specifically defined via a valueN
       token, and the default value is not specified, that return code's
       action defaults to bad.

       Each of the four keywords: required; requisite; sufficient; and
       optional, have an equivalent expression in terms of the [...] syntax.
       They are as follows:

       required
	   [success=ok new_authtok_reqd=ok ignore=ignore default=bad]

       requisite
	   [success=ok new_authtok_reqd=ok ignore=ignore default=die]

       sufficient
	   [success=done new_authtok_reqd=done default=ignore]

       optional
	   [success=ok new_authtok_reqd=ok default=ignore]

       module-path is either the full filename of the PAM to be used by the
       application (it begins with a '/'), or a relative pathname from the
       default module location: /lib/security/ or /lib64/security/, depending
       on the architecture.

       module-arguments are a space separated list of tokens that can be used
       to modify the specific behavior of the given PAM. Such arguments will
       be documented for each individual module. Note, if you wish to include
       spaces in an argument, you should surround that argument with square
       brackets.

	       squid auth required pam_mysql.so user=passwd_query passwd=mada \
		     db=eminence [query=select user_name from internet_service \
		     where user_name='%u' and password=PASSWORD('%p') and \
		   service='web_proxy']


       When using this convention, you can include `[' characters inside the
       string, and if you wish to include a `]' character inside the string
       that will survive the argument parsing, you should use `\]'. In other
       words:

	       [..[..\]..]    -->   ..[..]..


       Any line in (one of) the configuration file(s), that is not formatted
       correctly, will generally tend (erring on the side of caution) to make
       the authentication process fail. A corresponding error is written to
       the system log files with a call to syslog(3).

       More flexible than the single configuration file is it to configure
       libpam via the contents of pam.d directories. In this case the
       directories are filled with files each of which has a filename equal to
       a service-name (in lower-case): it is the personal configuration file
       for the named service.

       Vendor-supplied PAM configuration files might be installed in the
       system directory /usr/lib/pam.d/ or a configurable vendor specific
       directory instead of the machine configuration directory /etc/pam.d/.
       If no machine configuration file is found, the vendor-supplied file is
       used. All files in /etc/pam.d/ override files with the same name in
       other directories.

       The syntax of each file in pam.d is similar to that of the
       /etc/pam.conf file and is made up of lines of the following form:

	   type	 control  module-path  module-arguments


       The only difference being that the service-name is not present. The
       service-name is of course the name of the given configuration file. For
       example, /etc/pam.d/login contains the configuration for the login
       service.

FILES
       /etc/pam.conf
	   the configuration file

       /etc/pam.d
	   the Linux-PAM configuration directory. Generally, if this directory
	   is present, the /etc/pam.conf file is ignored.

       /usr/lib/pam.d
	   the Linux-PAM vendor configuration directory. Files in /etc/pam.d
	   override files with the same name in this directory.

SEE ALSO
       pam(3), PAM(8), pam_start(3)



Linux-PAM			  05/12/2025			   PAM.CONF(5)

PAM_FAILLOCK(8)		       Руководство по Linux-PAM		       PAM_FAILLOCK(8)



NAME
       pam_faillock - Модуль подсчета неудачных попыток аутентификации в указанный интервал

SYNOPSIS
       auth ... pam_faillock.so {preauth|authfail|authsucc}
				[conf=/path/to/config-file]
				[dir=/path/to/tally-directory]
				[even_deny_root] [deny=n] [fail_interval=n]
				[unlock_time=n] [root_unlock_time=n]
				[admin_group=name] [audit] [silent]
				[no_log_info]

       account ... pam_faillock.so [dir=/path/to/tally-directory]
				   [no_log_info]

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

       Обычно неудачные попытки аутентификации root не приведут к блокировке учетной записи root, чтобы предотвратить отказ в обслуживании: если вашим пользователям не предоставлены shell-аккаунты и root может войти только через su или на консоли машины (не через telnet/rsh и т.д.), это безопасно.

OPTIONS
       {preauth|authfail|authsucc}
	   Этот аргумент должен быть установлен в соответствии с позицией этого экземпляра модуля в стеке PAM.

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

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

	   Аргумент authsucc должен использоваться, когда модуль вызывается после модулей, определяющих исход аутентификации, и аутентификация удалась. Если пользователь уже не заблокирован из-за предыдущих неудач аутентификации, модуль очистит запись неудач в соответствующем файле подсчета пользователя. В противном случае он вернет ошибку аутентификации. Если этот вызов не выполнен, pam_faillock не сможет отличить последовательные от не последовательных неудачных попыток аутентификации. В таком случае должен использоваться вызов preauth. Из-за осложнений в настройке стека PAM также возможно вызывать pam_faillock как модуль account. В такой конфигурации модуль также должен вызываться на этапе preauth.

       conf=/path/to/config-file
	   Использовать другой файл конфигурации вместо значения по умолчанию /etc/security/faillock.conf.

       Опции для настройки поведения модуля описаны в руководстве faillock.conf(5). Опции, указанные в командной строке модуля, переопределяют значения из файла конфигурации.

MODULE TYPES PROVIDED
       Предоставляются типы модулей auth и account.

RETURN VALUES
       PAM_AUTH_ERR
	   Указан недопустимый вариант, модулю не удалось получить имя пользователя, не найден допустимый файл счетчика или слишком много неудачных входов.

       PAM_BUF_ERR
	   Ошибка буфера памяти.

       PAM_CONV_ERR
	   Метод разговора, предоставленный приложением, не смог получить имя пользователя.

       PAM_INCOMPLETE
	   Метод разговора, предоставленный приложением, вернул PAM_CONV_AGAIN.

       PAM_SUCCESS
	   Все прошло успешно.

       PAM_IGNORE
	   Пользователь не найден в базе данных passwd.

NOTES
       Настройка опций в командной строке модуля не рекомендуется. Вместо этого следует использовать /etc/security/faillock.conf.

       Настройка pam_faillock в стеке PAM отличается от настройки модуля pam_tally2.

       Индивидуальные файлы с записями неудач создаются как принадлежащие пользователю. Это позволяет модулю pam_faillock.so работать корректно, когда он вызывается из заставки.

       Обратите внимание, что использование модуля в preauth без опции silent в /etc/security/faillock.conf или с полем контроля requisite раскрывает информацию о наличии или отсутствии учетной записи пользователя в системе, поскольку неудачи не фиксируются для неизвестных пользователей. Сообщение о блокировке учетной записи никогда не отображается для несуществующих учетных записей, что позволяет злоумышленнику сделать вывод, что определенная учетная запись не существует в системе.

EXAMPLES
       Вот два возможных примера конфигурации для /etc/pam.d/login. Они заставляют pam_faillock блокировать учетную запись после 4 последовательных неудачных входов в течение интервала по умолчанию 15 минут. Учетная запись root также будет заблокирована. Учетные записи будут автоматически разблокированы через 20 минут.

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

       Пример файла /etc/security/faillock.conf:

	   deny=4
	   unlock_time=1200
	   silent


       Пример файла /etc/pam.d/config:

	   auth	    required	   pam_securetty.so
	   auth	    required	   pam_env.so
	   auth	    required	   pam_nologin.so
	   # необязательно вызвать: auth requisite pam_faillock.so preauth
	   # чтобы отобразить сообщение о блокировке учетной записи
	   auth	    [success=1 default=bad] pam_unix.so
	   auth	    [default=die]  pam_faillock.so authfail
	   auth	    sufficient	   pam_faillock.so authsucc
	   auth	    required	   pam_deny.so
	   account  required	   pam_unix.so
	   password required	   pam_unix.so shadow
	   session  required	   pam_selinux.so close
	   session  required	   pam_loginuid.so
	   session  required	   pam_unix.so
	   session  required	   pam_selinux.so open


       Во втором примере модуль вызывается как в фазе auth, так и в фазе account, и модуль информирует аутентифицирующегося пользователя о блокировке учетной записи, если опция silent не указана в faillock.conf.

	   auth	    required	   pam_securetty.so
	   auth	    required	   pam_env.so
	   auth	    required	   pam_nologin.so
	   auth	    required	   pam_faillock.so preauth
	   # необязательно использовать requisite выше, если вы не хотите запрашивать пароль
	   # для заблокированных учетных записей
	   auth	    sufficient	   pam_unix.so
	   auth	    [default=die]  pam_faillock.so authfail
	   auth	    required	   pam_deny.so
	   account  required	   pam_faillock.so
	   # если вы удалите вышеуказанный вызов pam_faillock.so, блокировка будет происходить также
	   # для не последовательных неудач аутентификации
	   account  required	   pam_unix.so
	   password required	   pam_unix.so shadow
	   session  required	   pam_selinux.so close
	   session  required	   pam_loginuid.so
	   session  required	   pam_unix.so
	   session  required	   pam_selinux.so open


FILES
       /var/run/faillock/*
	   файлы, логирующие неудачные попытки аутентификации для пользователей

	   Примечание: Эти файлы исчезнут после перезагрузки на системах, где каталог /var/run/faillock смонтирован на виртуальной памяти. Для постоянного хранения используйте опцию dir= в файле /etc/security/faillock.conf.

       /etc/security/faillock.conf
	   файл конфигурации для опций pam_faillock

SEE ALSO
       faillock(8), faillock.conf(5), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_faillock был написан Tomas Mraz.



[FIXME: source]			  05/12/2025		       PAM_FAILLOCK(8)
PAM_FAILLOCK(8)		       Linux-PAM Manual		       PAM_FAILLOCK(8)



NAME
       pam_faillock - Module counting authentication failures during a
       specified interval

SYNOPSIS
       auth ... pam_faillock.so {preauth|authfail|authsucc}
				[conf=/path/to/config-file]
				[dir=/path/to/tally-directory]
				[even_deny_root] [deny=n] [fail_interval=n]
				[unlock_time=n] [root_unlock_time=n]
				[admin_group=name] [audit] [silent]
				[no_log_info]

       account ... pam_faillock.so [dir=/path/to/tally-directory]
				   [no_log_info]

DESCRIPTION
       This module maintains a list of failed authentication attempts per user
       during a specified interval and locks the account in case there were
       more than deny consecutive failed authentications.

       Normally, failed attempts to authenticate root will not cause the root
       account to become blocked, to prevent denial-of-service: if your users
       aren't given shell accounts and root may only login via su or at the
       machine console (not telnet/rsh, etc), this is safe.

OPTIONS
       {preauth|authfail|authsucc}
	   This argument must be set accordingly to the position of this
	   module instance in the PAM stack.

	   The preauth argument must be used when the module is called before
	   the modules which ask for the user credentials such as the
	   password. The module just examines whether the user should be
	   blocked from accessing the service in case there were anomalous
	   number of failed consecutive authentication attempts recently. This
	   call is optional if authsucc is used.

	   The authfail argument must be used when the module is called after
	   the modules which determine the authentication outcome, failed.
	   Unless the user is already blocked due to previous authentication
	   failures, the module will record the failure into the appropriate
	   user tally file.

	   The authsucc argument must be used when the module is called after
	   the modules which determine the authentication outcome, succeeded.
	   Unless the user is already blocked due to previous authentication
	   failures, the module will then clear the record of the failures in
	   the respective user tally file. Otherwise it will return
	   authentication error. If this call is not done, the pam_faillock
	   will not distinguish between consecutive and non-consecutive failed
	   authentication attempts. The preauth call must be used in such
	   case. Due to complications in the way the PAM stack can be
	   configured it is also possible to call pam_faillock as an account
	   module. In such configuration the module must be also called in the
	   preauth stage.

       conf=/path/to/config-file
	   Use another configuration file instead of the default
	   /etc/security/faillock.conf.

       The options for configuring the module behavior are described in the
       faillock.conf(5) manual page. The options specified on the module
       command line override the values from the configuration file.

MODULE TYPES PROVIDED
       The auth and account module types are provided.

RETURN VALUES
       PAM_AUTH_ERR
	   An invalid option was given, the module was not able to retrieve
	   the user name, no valid counter file was found, or too many failed
	   logins.

       PAM_BUF_ERR
	   Memory buffer error.

       PAM_CONV_ERR
	   The conversation method supplied by the application failed to
	   obtain the username.

       PAM_INCOMPLETE
	   The conversation method supplied by the application returned
	   PAM_CONV_AGAIN.

       PAM_SUCCESS
	   Everything was successful.

       PAM_IGNORE
	   User not present in passwd database.

NOTES
       Configuring options on the module command line is not recommend. The
       /etc/security/faillock.conf should be used instead.

       The setup of pam_faillock in the PAM stack is different from the
       pam_tally2 module setup.

       Individual files with the failure records are created as owned by the
       user. This allows pam_faillock.so module to work correctly when it is
       called from a screensaver.

       Note that using the module in preauth without the silent option
       specified in /etc/security/faillock.conf or with requisite control
       field leaks an information about existence or non-existence of a user
       account in the system because the failures are not recorded for the
       unknown users. The message about the user account being locked is never
       displayed for non-existing user accounts allowing the adversary to
       infer that a particular account is not existing on a system.

EXAMPLES
       Here are two possible configuration examples for /etc/pam.d/login. They
       make pam_faillock to lock the account after 4 consecutive failed logins
       during the default interval of 15 minutes. Root account will be locked
       as well. The accounts will be automatically unlocked after 20 minutes.

       In the first example the module is called only in the auth phase and
       the module does not print any information about the account being
       blocked by pam_faillock. The preauth call can be added to tell users
       that their logins are blocked by the module and also to abort the
       authentication without even asking for password in such case.

       /etc/security/faillock.conf file example:

	   deny=4
	   unlock_time=1200
	   silent


       /etc/pam.d/config file example:

	   auth	    required	   pam_securetty.so
	   auth	    required	   pam_env.so
	   auth	    required	   pam_nologin.so
	   # optionally call: auth requisite pam_faillock.so preauth
	   # to display the message about account being locked
	   auth	    [success=1 default=bad] pam_unix.so
	   auth	    [default=die]  pam_faillock.so authfail
	   auth	    sufficient	   pam_faillock.so authsucc
	   auth	    required	   pam_deny.so
	   account  required	   pam_unix.so
	   password required	   pam_unix.so shadow
	   session  required	   pam_selinux.so close
	   session  required	   pam_loginuid.so
	   session  required	   pam_unix.so
	   session  required	   pam_selinux.so open


       In the second example the module is called both in the auth and account
       phases and the module informs the authenticating user when the account
       is locked if silent option is not specified in the faillock.conf.

	   auth	    required	   pam_securetty.so
	   auth	    required	   pam_env.so
	   auth	    required	   pam_nologin.so
	   auth	    required	   pam_faillock.so preauth
	   # optionally use requisite above if you do not want to prompt for the password
	   # on locked accounts
	   auth	    sufficient	   pam_unix.so
	   auth	    [default=die]  pam_faillock.so authfail
	   auth	    required	   pam_deny.so
	   account  required	   pam_faillock.so
	   # if you drop the above call to pam_faillock.so the lock will be done also
	   # on non-consecutive authentication failures
	   account  required	   pam_unix.so
	   password required	   pam_unix.so shadow
	   session  required	   pam_selinux.so close
	   session  required	   pam_loginuid.so
	   session  required	   pam_unix.so
	   session  required	   pam_selinux.so open


FILES
       /var/run/faillock/*
	   the files logging the authentication failures for users

	   Note: These files will disappear after reboot on systems configured
	   with directory /var/run/faillock mounted on virtual memory. For
	   persistent storage use the option dir= in file
	   /etc/security/faillock.conf.

       /etc/security/faillock.conf
	   the config file for pam_faillock options

SEE ALSO
       faillock(8), faillock.conf(5), pam.conf(5), pam.d(5), pam(8)

AUTHOR
       pam_faillock was written by Tomas Mraz.



[FIXME: source]			  05/12/2025		       PAM_FAILLOCK(8)