limits(5)

НАЗВАНИЕ
limits - файл контроля ресурсов

ОПИСАНИЕ

В файле limits (по умолчанию /etc/limits или определяется значением LIMITS_FILE в файле config.h) описываются ограничения, которые можно изменять. Этот файл должен принадлежать суперпользователю и право на чтение должно быть только у суперпользователя.

По умолчанию учётная запись «root» ничем не ограничена. Фактически, никак нельзя установить ограничения с помощью этой процедуры на учётные записи, имеющие права суперпользователя (учётные записи с UID равным 0).

Каждая строка описывает ограничение для одного пользователя имеет вид:

user СТРОКА_ОГРАНИЧЕНИЙ

или в виде:

@group СТРОКА_ОГРАНИЧЕНИЙ

СТРОКА_ОГРАНИЧЕНИЙ — это строка, в которой указаны сразу несколько ограничений. Каждое ограничение состоит из буквенного идентификатора и числового значения.

Допустимые идентификаторы:

    • A: максимальное адресное пространство (КБ)

    • C: максимальный размер файла core (КБ)

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

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

    • K: маска создаваемых файлов, устанавливается с помощью вызова umask(2).

    • I: максимальное значение уступчивости (nice) (0..39, преобразуемые в 20..-19)

    • L: максимальное число возможных регистраций в системе этого пользователя

    • M: максимальное синхронизируемое адресное пространство памяти (КБ)

    • N: максимальное число открытых файлов

    • O: максимальный приоритет реального времени

    • P: приоритет процесса, устанавливается с помощью вызова setpriority(2).

    • R: максимальный размер резидентного сегмента (КБ)

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

    • T: максимальное время использования процессора (минут)

    • U: максимальное число процессов

Например, значение L2D2048N5 допустимо для СТРОКИ_ОГРАНИЧЕНИЙ. Для удобства чтения, следующие записи эквивалентны:

          username L2D2048N5
          username L2 D2048 N5

Заметим, что после username оставшаяся часть строки считается строкой ограничений, поэтому комментарии недопустимы. Неправильная строка ограничений будет отброшена (не учтена) программой login.

Запись по умолчанию выглядит как username "*". Если у вас есть несколько записей по умолчанию в файле LIMITS_FILE, то будет использоваться последняя.

Ограничения, задаваемые в виде «@group», применяются к членам указанной группы group.

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

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

Чтобы полностью снять ограничения с пользователя, используется одиночное тире «-».

Чтобы снять ограничение с пользователя, вместо числового значения ограничения можно использовать одиночное тире «-».

Также заметьте, что все настройки ограничений делаются ДЛЯ КОНКРЕТНОЙ УЧЁТНОЙ ЗАПИСИ. Они не являются глобальными и не постоянны. Возможно глобальные ограничения и появятся, но пока это только в планах ;)

ФАЙЛЫ

/etc/limits

СМОТРИТЕ ТАКЖЕ

login(1), setpriority(2), setrlimit(2).