Product SiteDocumentation Site

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

В файле /etc/security/limits.conf определяются ограничения ресурсов системы для пользователя или группы пользователей. Формат файла:
<domain> <type> <item> <value>
Первое поле (domain) может содержать:
  • имя пользователя;
  • имя группы (перед именем группы нужно указать символ «@»);
  • символ «*» (данное ограничение будет ограничением по умолчанию);
  • символ «%» — используется только с ограничением maxlogins. Группа, указанная после %, ограничивает число параллельных сеансов всех пользователей, которые являются членами группы. Если символ «%» используется отдельно, он идентичен использованию «*» с ограничением maxsyslogins;
  • диапазон uid, заданный как <min_uid>:<max_uid>;
  • диапазон gid, заданный как @<min_gid>:<max_gid>;
  • gid, заданный как %:<gid> — используется только с ограничением maxlogins.
Второе поле — это тип ограничения: мягкое (soft) или жесткое (hard). Мягкое ограничение определяет число системных ресурсов, которое пользователь все еще может превысить, жесткое ограничение превысить невозможно. При попытке сделать это, пользователь получит сообщение об ошибке. Символ «-» используется для одновременной установки как мягкого, так и жесткого ограничения.
Элементом ограничения (item) может быть:
  • core — ограничение размера файла core (Кбайт);
  • data — максимальный размер данных (Кбайт);
  • fsize — максимальный размер файла (Кбайт);
  • memlock — максимальное заблокированное адресное пространство (Кбайт);
  • nofile — максимальное число открытых файлов;
  • stack — максимальный размер стека (Кбайт);
  • cpu — максимальное время процессора (минуты);
  • nproc — максимальное число процессов;
  • as — ограничение адресного пространства;
  • maxlogins — максимальное число одновременных регистраций в системе;
  • maxsyslogins — максимальное количество учётных записей;
  • priority — приоритет запуска пользовательских процессов;
  • locks — максимальное число файлов блокировки;
  • sigpending — максимальное количество сигналов, которые можно передать процессу;
  • msgqueue — максимальный размер памяти для очереди POSIX сообщений (байт);
  • nice — максимальный приоритет, который можно выставить: [-20, 19];
  • rtprio — максимальный приоритет времени выполнения.
Чтобы установить максимальное число процессов для пользователя user, в файл limits.conf нужно добавить записи:
user soft nproc 50
user hard nproc 60
Первая строка определяет мягкое ограничение (равное 50), а вторая — жесткое.
Следующие строки обеспечат одновременную работу не более 15 пользователей из каждой группы пользователей (group1 и group2):
%group1 - maxlogins 15
%group2 - maxlogins 15
В первом и втором случае из каждой группы пользователей одновременно работать смогут не более 15. При шестнадцатой регистрации пользователь из группы увидит сообщение:
There were too many logins for 'user'.
Следующая запись ограничит число параллельных сеансов доступа для каждой учетной записи пользователей:
* - maxlogins 5

Примечание

Ограничения также можно настраивать в Центре управления системой (раздел СистемаНастройки ограничений):
Установка ограничений ресурсов, доступных пользователю
Для этого необходимо установить пакет alterator-limits (из репозитория p10):
# apt-get install alterator-limits
Для задания ограничений для пользователя необходимо указать имя пользователя в поле Домен, выбрать тип ограничения в поле Тип, выбрать ограничение в поле Элемент, задать значение в поле Ограничение и нажать кнопку Добавить. После того как все ограничения добавлены следует нажать кнопку Применить.