Главная » 2013 » Декабрь » 12 » 23.3. Ограничение системных ресурсов
02:10
23.3. Ограничение системных ресурсов

Иногда пользователи жалуются, что администраторы сильно «урезают» их права. Однако делается это с благой целью – обеспечить здоровье системы. Например, представьте, что пользователь‑вредитель Пупкин запустит такой сценарий:

Этот сценарий выводит строку «Бесконечный цикл», а потом запускает самого себя. Получается что‑то наподобие прямой рекурсии. Рано или поздно такой сценарий использует все системные ресурсы, и при запуске полезного процесса вы получите сообщение: Unable to fork

То есть невозможно создать процесс. Этого можно легко избежать, если вы определите параметр nproc в файле /etc/security/limits. conf. В файле limits. conf задаются ограничения ресурсов системы для пользователя или группы пользователей. Формат файла таков:

Первое поле (domain) может содержать:

1. Имя пользователя.

2. Имя группы. Перед именем группы нужно указать символ «@».

3. Символ «*». Данное ограничение будет ограничением по умолчанию.

Второе поле (type) – это тип ограничения: мягкое (soft) или жесткое (hard). Мягкое ограничение определяет число системных ресурсов, которое пользователь все еще может превысить, жесткое ограничение превысить невозможно. При попытке сделать это, пользователь получит сообщение об ошибке. Что касается элемента ограничения (item), то им может быть:

Core – ограничение размера файла core (Кб).

Data – максимальный размер данных (Кб).

Fsize – максимальный размер файла (Кб).

Memlock – максимальное заблокированное адресное пространство (Кб).

Nofile – максимальное число открытых файлов.

Stack – максимальный размер стека (Кб).

Cpu – максимальное время процессора (минуты).

Nproc – максимальное число процессов.

As – ограничение адресного пространства.

Maxlogins – максимальное число одновременных регистрации в системе.

Locks – максимальное число файлов блокировки.

Рассмотрим несколько примеров. Например, нам нужно установить максимальное число процессов для пользователя user. Это можно сделать с помощью таких записей:

Первая строка определяет мягкое ограничение (равное 50), а вторая – жесткое.

Допустим, у вас есть группы dialup1 и dialup2. В каждую группу входят 30 пользователей. При этом у вас есть всего 30 входящих линий, поэтому нужно обеспечить одновременную работу не более 15 пользователей из каждой группы. Это делается так:

В первом и втором случае из каждой группы пользователей одновременно работать смогут не более 15 (maxlogins 14 – отсчет начинается с нуля). При регистрации шестнадцатый пользователь увидит сообщение:

Иногда бывает полезным ограничить самого себя, то есть пользователя root. Рассмотрим, как это сделать. В файле /etc/securetty, который уже упоминался выше, указываются терминалы и виртуальные консоли, из которых может регистрироваться пользователь root. Я рекомендую вообще запретить регистрацию пользователя root из консоли. Для этого удалите (или закомментируйте) все строки в файле /etc/securetty. Если вам будут нужны максимальные привилегии, используйте команду su (super user). После ввода этой команды, программа запросит у вас пароль пользователя root, и если пароль правилен, вы получите привилегии пользователя root.

Категория: Прочие возможности | Просмотров: 350 | Добавил: spb_serge | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: