Ограничение ресурсов пользователя и группы
Становится не до смеха, когда по злому умыслу либо из-за непреднамеренной ошибки пользователь, расходуя слишком много оперативной памяти или времени центрального процессора, заставляет систему работать очень медленно. Одним из популярных методов ограничения использования ресурсов является команда ulimit. Этот метод основан на ограничении оболочкой своих дочерних процессов, и его очень сложно использовать, когда требуется предоставить различный уровень ограничения отдельным пользователям или группам. Более гибким является способ с применением РАМ-модуля pamjimits.
На тех системах, где установлен pamjimits, он уже имеет предварительные настройки. Необходимо лишь правильно настроить /etc/security/limits.conf.
Конфигурационный файл limits.conf содержит однострочные записи, описывающие отдельный тип ограничений для пользователя или группы. Общий формат записей этого файла следующий:
domain type resource value
Параметр domain определяет, к кому применяется данное ограничение. Отдельный пользователь может быть указан по имени, а перед именем группы необходимо поставить символ @. Помимо этого, может использоваться групповой символ *, указывающий на применение данного ограничения ко всем, кроме root. Параметр type указывает тип ограничения («мягкое» или «жесткое»). «Мягкое» ограничение может быть увеличено пользователем, в то время как «жесткое» может менять только root-пользователь. В разделе resource могут указываться различные типы ресурсов. Основными из них являются cpu, memlock, nproc и fsize. Они позволяют указывать использование процессора, памяти, количество процессов и размер файлов соответственно. Процессорное время выражается в минутах, размеры — в килобайтах. Еще одним значением является maxlogins, оно задает максимальное количество разрешенных одновременных регистрации в системе.