Control++

Материал из ALT Linux Wiki

Control++ - консольная программа для настройки GNU+Linux системы, позволяющая переключать режимы, каждый из которых определяется своим файлом ulimits, а также своим набором описаний прав на файлы системы и запускаемым сценарием оболочки. Написана на C++. Распространяется по лицензии GPLv3.0.

Принцип работы

Параметры control++ определяются файлом ini-формата /etc/control++/control++.conf. Данный ini-файл состоит из секции main и секций описания каждого из режимов. Секция main включает определение текущего режима (current_mode), списка доступных режимов (modes), списка вариантов ограничений (ulimits) и списка вариантов наборов прав на файлы (permissions). Каждая из секций режимов может состоять из определения варианта ограничений (ulimits), варианта набора прав (permissions) и запускаемого сценария оболочки для данного режима.

Файлы ulimits для каждого варианта ограничений находятся в /etc/control++/ulimits/название_варианта.

Файлы с описанием набора прав на файлы для каждого варианта прав являются файлами ini-формата и находятся в /etc/control++/permissions/название_варианта.

Файлы сценариев оболочки находятся в /etc/control++/scripts/название_варианта.

Все файлы настроек могут быть отредактированы вручную системным администратором при настройке нужных конфигураций.

При запуске программы от имени su для переключения режима, например control++ set some_mode, которому соответствует вариант ограничений ulims_x, вариант прав perm_y и сценарий sh_z, программа попытается скопировать файл /etc/control++/ulimits/ulims_x в каталог /etc/security/limits.d/, попытается применить права на файлы в соответствии с описанием в /etc/control++/permissions/perm_y и запустить сценарий /etc/control++/permissions/sh_z. В случае невозможности осуществления какой-либо из операций будет выведено сообщение об ошибке. Если какой-то из параметров не указан (например название сценария оболочки) то соответствующая операция не будет выполняться.

Использование

Переключение\установка режима: control++ <название_режима>

Установка режима по-умолчанию: control++ reset

Отображение списка доступных режимов: control++ list

Отображение текущего режима: control++ status

Отображение содержимого главного файла настройки: control++ conf

Отображение справочной информации: control++ help

Ссылки

Проект на git.altlinux.org