Control++: различия между версиями
Нет описания правки |
Нет описания правки |
||
Строка 1: | Строка 1: | ||
<b>Control++</b> - консольная программа для настройки GNU+Linux системы, позволяющая переключать режимы, каждый из которых определяется своим файлом ulimits, а также своим набором описаний прав на файлы системы. Написана на C++. Распространяется по лицензии GPLv3.0. | <b>Control++</b> - консольная программа для настройки GNU+Linux системы, позволяющая переключать режимы, каждый из которых определяется своим файлом ulimits, а также своим набором описаний прав на файлы системы и запускаемым сценарием оболочки. Написана на C++. Распространяется по лицензии GPLv3.0. | ||
== Принцип работы == | == Принцип работы == | ||
Параметры <b>control++</b> определяются файлом ini-формата <code>/etc/control++/control++.conf</code>. Данный ini-файл состоит из секции <i>main</i> и секций описания каждого из режимов. Секция <i>main</i> включает определение текущего режима (<i>current_mode</i>), списка доступных режимов (<i>modes</i>), списка вариантов ограничений (<i>ulimits</i>) и списка вариантов наборов прав на файлы (<i>permissions</i>). Каждая из секций режимов | Параметры <b>control++</b> определяются файлом ini-формата <code>/etc/control++/control++.conf</code>. Данный ini-файл состоит из секции <i>main</i> и секций описания каждого из режимов. Секция <i>main</i> включает определение текущего режима (<i>current_mode</i>), списка доступных режимов (<i>modes</i>), списка вариантов ограничений (<i>ulimits</i>) и списка вариантов наборов прав на файлы (<i>permissions</i>). Каждая из секций режимов может состоять из определения варианта ограничений (<i>ulimits</i>), варианта набора прав (<i>permissions</i>) и запускаемого сценария оболочки для данного режима. | ||
Файлы ulimits для каждого | Файлы ulimits для каждого варианта ограничений находятся в <code>/etc/control++/ulimits/название_варианта</code>. | ||
Файлы с описанием набора прав на файлы для каждого | Файлы с описанием набора прав на файлы для каждого варианта прав являются файлами ini-формата и находятся в <code>/etc/control++/permissions/название_варианта</code>. | ||
Файлы сценариев оболочки находятся в <code>/etc/control++/scripts/название_варианта</code>. | |||
Все файлы настроек могут быть отредактированы вручную системным администратором при настройке нужных конфигураций. | Все файлы настроек могут быть отредактированы вручную системным администратором при настройке нужных конфигураций. | ||
При запуске программы от имени <i>su</i> для переключения режима, например <code>control++ set some_mode</code>, программа попытается скопировать файл <code>/etc/control++/ulimits/ | При запуске программы от имени <i>su</i> для переключения режима, например <code>control++ set some_mode</code>, которому соответствует вариант ограничений ulims_x, вариант прав perm_y и сценарий sh_z, программа попытается скопировать файл <code>/etc/control++/ulimits/ulims_x</code> в каталог <code>/etc/security/limits.d/</code>, попытается применить права на файлы в соответствии с описанием в <code>/etc/control++/permissions/perm_y</code> и запустить сценарий <code>/etc/control++/permissions/sh_z</code>. В случае невозможности осуществления какой-либо из операций будет выведено сообщение об ошибке. Если какой-то из параметров не указан (например название сценария оболочки) то соответствующая операция не будет выполняться. | ||
== Использование == | == Использование == | ||
Строка 32: | Строка 34: | ||
Отображение справочной информации: | Отображение справочной информации: | ||
<code>control++ help</code> | <code>control++ help</code> | ||
== Ссылки == | |||
[http://git.altlinux.org/people/alexey/packages/?p=controlplusplus.git;a=summary Проект на git.altlinux.org] | |||
[[Категория:Безопасность]] | [[Категория:Безопасность]] | ||
[[Категория:Admin]] | [[Категория:Admin]] |
Версия от 19:50, 26 января 2018
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