Site Tools


limits

Linux

Установка лимитов

/etc/security/limits.conf
  • limits.conf является частью пакета PAM и применима только для пакетов, использующих PAM (Используеющих авторизацию с вводом логина)
<domain>  <type>  <resource>  <value>
  • domain - пользователь, @группа или * для всех. Для root указывается только явным образом
  • type - тип ограничения, soft, hard или - для обоих.
  • resource - тип ограничиваемого ресурса
  • cpu - максимальное время процессора на процесс, в минутах
  • nproc - максимальное кол-во процессов на пользователя
  • priority - приоритет процессов пользователя
  • maxlogins - максимальное кол-во логинов от имени пользователя
  • fsize - максимальный размер файла, в Kb
  • nofile - максимальное кол-во открытых файлов на процесс
  • data - максимальный размер данных процесса, в Kb
  • core - размер сохраняемых файлов core, в Kb (0 - файлы core не создаются)
  • memlock - max locked-in-memory address space (KB)
  • rss - max resident set size (KB)
  • stack - максимальный размер стека процесса, в Kb
  • as - address space limit
  • locks - максимальное количество file locks на пользователя

Для динамического управления ограничениями можно использовать встроенную команду оболочки ulimit. Пользовательские процессы могут системными вызовами setrlimit управлять значениями выделенных для них ресурсов. При этом: hard могут менять только процессы суперпользователя, soft в пределах от 0 до hard - любые процессы, ограничивая выделяемые им ресурсы.

Просмотр уже используемых ресурсов

ulimit
  • -a #Просмотр всех лимитов
  • -S #Soft ограничения
  • -H #Hard ограничения

Пример использования

  1. Устанавливаем лимиты
  2. Логируем выход за лимиты
  3. Включаем forkBomb
  4. Смотрим логи
konovalov@home:~$ ulimit -a | grep 'max user'
  max user processes              (-u) unlimited
konovalov@home:~$ ulimit -u 1000
konovalov@home:~$ ulimit -a | grep 'max user'
  max user processes              (-u) 1000
konovalov@home:~$ ulimit -a -H | grep 'max user'
  max user processes              (-u) 1000
konovalov@home:~$ :(){ :|:& };:
root@home:/home/konovalov# ps -ukonovalov | wc -l
873    #Мы живы.

Готовые примеры

Запрещаем закачку файлов более 20 мегабайт по FTP

FreeBSD

Установка лимитов

Просмотр уже используемых ресурсов

You could leave a comment if you were logged in.
limits.txt · Last modified: 2012/03/08 16:46 (external edit)

Page Tools