PAM limits
Описание
В 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.
Пример содержимого такого файла:
# <domain> <type> <item> <value>
* soft core 0
user hard rss 10000
@student soft nproc 50
В каждом столбце указывается конкретное значение:
- domain — область действия;
- type — тип ограничения;
- item — параметр, который нужно ограничить;
- value — значение.
| domain | ||
|---|---|---|
| область действия |
описание | пример |
| все | звездочка | * |
| пользователь | имя пользователя | admin |
| группа | название группы через символ at | @students |
| группа для параметра maxlogins |
название группы через знак процента использование % без указания группы аналогично "maxsyslogins" с * |
%buh % |
| gid для параметра maxlogins |
идентификатор группы через знак процента | %:<gid> |
| диапазон uid | диапазон идентификаторов пользователей для ограничения | <min_uid>:<max_uid> |
| диапазон gid | диапазон идентификаторов групп для ограничения | @<min_gid>:<max_gid> |
| type | ||
| тип ограничения | описание | |
| soft | мягкое ограничение, не запрещающее, а предупреждающее. | |
| hard | жёсткое, запрещающее ограничение. | |
| Значения item | ||
|---|---|---|
| Параметр | English | Комментарий |
| core | limits the core file size (KB) | ограничение размера файла core (Кбайт) |
| data | max data size (KB) | максимальный размер данных (Кбайт) |
| fsize | maximum filesize (KB) | максимальный размер файла (Кбайт) |
| memlock | max locked-in-memory address space (KB) | максимальное заблокированное адресное пространство (Кбайт) |
| nofile | max number of open file descriptors | максимальное число открытых файлов |
| stack | max stack size (KB) | максимальный размер стека (Кбайт); |
| rss | max resident set size (KB) | максимальный размер памяти для резидент-программ (Кбайт) |
| cpu | max CPU time (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 сообщений (байт) |
| nice | max nice priority allowed to raise to values: [-20, 19] | максимальный приоритет, который можно выставить: [-20, 19] |
| rtprio | max realtime priority | максимальный приоритет времени выполнения |
Советы по настройке
Запустите все программы, необходимые в работе.
nofile
Вам понадобится утилита lsof:
# apt-get install lsof
Для ориентировочной оценки количества открытых файлов выполните команду:
$ lsof -u user | wc -l
5811
nproc
Для ориентировочной оценки количества запущенных процессов выполните команду:
$ ps -e | wc -l