Control++
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/название_режима
Все файлы настроек редактируются вручную системным администратором при настройке нужных конфигураций.
При запуске программы от имени su для переключения\установки режима, например control++ set some_mode
, программа попытается скопировать файл /etc/control++/ulimits/some_mode
в каталог /etc/security/limits.d/
, а также попытается применить права на файлы в соответствии с описанием в /etc/control++/permissions/some_mode
. В случае невозможности осуществления какой-либо из операций будет выведено сообщение об ошибке.
Использование
Переключение\установка режима:
control++ <название_режима>
Установка режима по-умолчанию:
control++ reset
Отображение списка доступных режимов:
control++ list
Отображение текущего режима:
control++ status
Отображение содержимого главного файла настройки:
control++ conf
Отображение справочной информации:
control++ help