PAM limits

Материал из ALT Linux Wiki
Версия от 10:52, 25 мая 2023; Petr-akhlamov (обсуждение | вклад) (Новая страница: «В Linux для аутентификации пользователей используется подсистема – PAM (Pluggable Authentication Modules). PAM используется везде, где требуется аутентификация пользователя или проверка его прав. Так же PAM настраивает ограничения (лимиты) пользователей и групп на использ...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

В Linux для аутентификации пользователей используется подсистема – PAM (Pluggable Authentication Modules). PAM используется везде, где требуется аутентификация пользователя или проверка его прав.

Так же PAM настраивает ограничения (лимиты) пользователей и групп на использование системных ресурсов. Для этого у него есть специальный модуль "Pam Limits", который мы разберем в данной статье.

Настройка лимитов, накладываемых PAM, хранится в специальном файле конфигурации - /etc/security/limits.conf. Для изменения лимитов нужно отредактировать данный файл.

Пример файла:

# <domain>      <type>      <item>      <value>
 *              soft        core        0
 user           hard        rss         10000
@student        soft        nproc       50

В каждом столбце описывается конкретное значение:

  • domain - кто из пользователей будет ограничен.
    • все - пишем *
    • пользователь - пишем имя - admin
    • группа - пишем имя группы через собачку - @students
  • type - тип ограничения
    • soft - мягкое ограничение, не запрещающее а предупреждающее.
    • hard - жёсткое, запрещающее ограничение.

Приложение умеющее обрабатывать soft должно выдать предупреждение, о том что его процесс приблизился к лимиту. А если приложение не умеет обрабатывать soft, то для такого приложения и soft и hard сработают одинаково, то есть не дадут процессу получить запрашиваемый ресурс.

  • item - В третьей колонке пишется параметр, который нужно ограничить, например:
Лимиты
Параметр English Попытка перевода
core limits the core file size (KB) размер core-файлов (KB)
data max data size (KB) максимальный размер данных (KB)
fsize maximum filesize (KB) максимальный размер файла (KB)
memlock max locked-in-memory address space (KB) максимальное заблокированное адресное пространство (KB)
nofile max number of open file descriptors максимальное количество открытых файлов
rss max resident set size (KB) максимальный размер памяти для резидент-программ (KB);
stack max stack size (KB) максимальный размер стэка (KB);
cpu max CPU time (MIN) максимальное процессорное время (MIN)
nproc max number of processes максимальное количество процессов;
as address space limit (KB) ограничение адресного пространства (KB);
maxlogins max number of logins for this user максимальное число одновременных регистраций в системе;
maxsyslogins max number of logins on the system максимальное количество учётных записей;
priority the priority to run user process with приоритет запущенных процессов;
locks max number of file locks the user can hold максимальное количество блокируемых пользователем файлов;
sigpending max number of pending signals максимальное количество сигналов, которые можно передать процессу
msgqueue max memory used by POSIX message queues (bytes) максимальный размер памяти для очереди POSIX-сообщений (bytes)
nice max nice priority allowed to raise to values: [-20, 19] максимальный приоритет, который можно выставить: [-20, 19]
rtprio max realtime priority максимальный приоритет времени выполнения;
  • value - значение