PAM limits: различия между версиями

Материал из ALT Linux Wiki
Строка 10: Строка 10:
<source lang="bash">
<source lang="bash">
# ls /etc/security/limits.d/
# ls /etc/security/limits.d/
25-pw-rlimits.conf  50-defaults.conf  90-desktop.conf  90-samba.conf  95-alterator-limits.conf
50-defaults.conf
</source>
</source>


Строка 19: Строка 19:
</source>
</source>


Приоритет применения конфигураций идет по убыванию:
Приоритет применения конфигураций идет по убыванию(Лексикографический порядок):
*от 0 до 9;
*от 0 до 9;
*от A до Z;
*от A до Z;
Строка 26: Строка 26:
{{Attention|При создании новых конфигураций рекомендуется давать название соответствующей цели (области) применения, например, 30-cpu-time-limits.conf}}
{{Attention|При создании новых конфигураций рекомендуется давать название соответствующей цели (области) применения, например, 30-cpu-time-limits.conf}}


Пример файла:
Пример содержимого такого файла:
<pre>
<pre>
# <domain>      <type>      <item>      <value>
# <domain>      <type>      <item>      <value>
Строка 34: Строка 34:
</pre>
</pre>


В каждом столбце описывается конкретное значение:
В каждом столбце указывается конкретное значение:
*domain - кто из пользователей будет ограничен.
*domain - область действия
*type - тип ограничения.
*type - тип ограничения
*item - параметр, который нужно ограничить.
*item - параметр, который нужно ограничить
*value - значение
*value - значение


Строка 43: Строка 43:
!rowspan="5"|domain
!rowspan="5"|domain
|-
|-
!область<br>применения || описание || пример
!область<br>действия || описание || пример
|-
|-
|все || звездочка || <nowiki>*</nowiki>  
|все || звездочка || <nowiki>*</nowiki>  
Строка 63: Строка 63:
|}
|}


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


{|class="wikitable" style="float:center; margin-left:2em"  
{|class="wikitable" style="float:center; margin-left:2em"  
!colspan="3"|Значения item
!colspan="3"|Значения item
|-
|-
!Параметр || English || Попытка перевода
!Параметр || English || Комментарий
|-
|-
|core || limits the core file size (KB) || размер core-файлов (KB)
|core || limits the core file size (KB) || размер core-файлов (KB)
Строка 80: Строка 80:
|nofile || max number of open file descriptors || максимальное количество открытых файлов
|nofile || max number of open file descriptors || максимальное количество открытых файлов
|-
|-
|rss || max resident set size (KB) || максимальный размер памяти для резидент-программ (KB);
|rss || max resident set size (KB) || максимальный размер памяти для резидент-программ (KB)
|-
|-
|stack || max stack size (KB) || максимальный размер стэка (KB);
|stack || max stack size (KB) || максимальный размер стэка (KB);
Строка 86: Строка 86:
|cpu || max CPU time (MIN) || максимальное процессорное время (MIN)
|cpu || max CPU time (MIN) || максимальное процессорное время (MIN)
|-
|-
|nproc || max number of processes || максимальное количество процессов;
|nproc || max number of processes || максимальное количество процессов
|-
|-
|as || address space limit (KB) || ограничение адресного пространства (KB);
|as || address space limit (KB) || ограничение адресного пространства (KB)
|-
|-
|maxlogins || max number of logins for this user || максимальное число одновременных регистраций в системе;
|maxlogins || max number of logins for this user || максимальное число одновременных регистраций в системе
|-
|-
|maxsyslogins || max number of logins on the system || максимальное количество учётных записей;
|maxsyslogins || max number of logins on the system || максимальное количество учётных записей
|-
|-
|priority || the priority to run user process with || приоритет запущенных процессов;
|priority || the priority to run user process with || приоритет запущенных процессов
|-
|-
|locks || max number of file locks the user can hold ||  максимальное количество блокируемых пользователем файлов;
|locks || max number of file locks the user can hold ||  максимальное количество блокируемых пользователем файлов
|-
|-
|sigpending || max number of pending signals || максимальное количество сигналов, которые можно передать процессу
|sigpending || max number of pending signals || максимальное количество сигналов, которые можно передать процессу
Строка 104: Строка 104:
|nice || max nice priority allowed to raise to values: [-20, 19] || максимальный приоритет, который можно выставить: [-20, 19]
|nice || max nice priority allowed to raise to values: [-20, 19] || максимальный приоритет, который можно выставить: [-20, 19]
|-
|-
|rtprio || max realtime priority || максимальный приоритет времени выполнения;
|rtprio || max realtime priority || максимальный приоритет времени выполнения
|}
|}


==Советы при настройке==
==Советы по настройке==
Запустите все программы, необходимые в работе.
===nofile===


===nofile===
{{Note|
Чтобы узнать, сколько файлов нужно пользователю, установите утилиту lsof.
<source lang="bash">
# apt-get install lsof
# apt-get install lsof
Откройте все программы, которые Вам нужны.
</source>
}}
Для ориентировочной оценки количества открытых файлов:


Посмотрите количество открытых файлов:
<source lang="bash">
  $ lsof -u user | wc -l
  $ lsof -u user | wc -l
  5811
  5811
</source>


===nproc===
===nproc===
Чтобы узнать количество запущенных процессов:
Для ориентировочной оценки количества запущенных процессов:
*Откройте все программы, которые Вам нужны
<source lang="bash">
*Введите команду:
  $ ps -e | wc -l
  $ ps -e | wc -l
</source>

Версия от 17:00, 25 мая 2023

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Описание

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

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

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

Обычно в данном каталоге уже находятся конфигурационные файлы:

# ls /etc/security/limits.d/
50-defaults.conf

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

# cd /etc/security/limits.d/
# mcedit 10-user-limits.conf

Приоритет применения конфигураций идет по убыванию(Лексикографический порядок):

  • от 0 до 9;
  • от A до Z;
  • от a до z.
Внимание! При создании новых конфигураций рекомендуется давать название соответствующей цели (области) применения, например, 30-cpu-time-limits.conf


Пример содержимого такого файла:

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

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

  • domain - область действия
  • type - тип ограничения
  • item - параметр, который нужно ограничить
  • value - значение
domain
область
действия
описание пример
все звездочка *
пользователь имя пользователя admin
группа название группы через символ at @students
type
тип ограничения описание
soft мягкое ограничение, не запрещающее, а предупреждающее.
hard жёсткое, запрещающее ограничение.
Внимание! Приложение умеющее обрабатывать 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 максимальный приоритет времени выполнения

Советы по настройке

Запустите все программы, необходимые в работе.

nofile

Примечание:
# apt-get install lsof

Для ориентировочной оценки количества открытых файлов:

 $ lsof -u user | wc -l
 5811

nproc

Для ориентировочной оценки количества запущенных процессов:

 $ ps -e | wc -l