Control++: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
Строка 3: Строка 3:
== Принцип работы ==
== Принцип работы ==


При запуске программы от имени <i>su</i> для переключения режима, например <code>control++ set some_mode</code>, которому соответствует вариант ограничений <i>ulims_x</i>, вариант прав <i>perm_y</i> и сценарий <i>sh_z</i>, программа попытается скопировать файл <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>. В случае невозможности осуществления какой-либо из операций будет выведено сообщение об ошибке. Если какой-то из параметров не указан (например, название сценария оболочки) то соответствующая операция не будет выполняться.
При запуске программы от имени пользователя <i>root</i> для переключения режима, например <code>control++ set some_mode</code>, которому соответствует вариант ограничений <i>ulims_x</i>, вариант прав <i>perm_y</i> и сценарий <i>sh_z</i>, программа попытается скопировать файл <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/do</code>. В случае невозможности осуществления какой-либо из операций будет выведено сообщение об ошибке. Если какой-то из параметров не указан (например, название сценария оболочки) то соответствующая операция не будет выполняться.


== Настройка ==
== Настройка ==


Параметры <i>control++</i> определяются файлом 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>) и запускаемого сценария оболочки для данного режима (<i>scripts</i>).
Параметры <i>control++</i> определяются файлом ini-формата <code>/etc/control++/control++.conf</code>. Данный ini-файл состоит из секций описания каждого из режимов. Каждая из секций режимов может состоять из определения варианта ограничений (<i>ulimits</i>), варианта набора прав (<i>permissions</i>) и запускаемого сценария оболочки для данного режима (<i>scripts</i>).


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


Файлы сценариев оболочки находятся в <code>/etc/control++/scripts/название_варианта</code>.
Файлы сценариев оболочки находятся в <code>/etc/control++/scripts/название_варианта/do</code>. Также каталог <code>/etc/control++/scripts/название_варианта/</code> может содержать файлы <code>undo</code> и <code>test</code> для выполнения действий обратных действиям сценария <code>do</code> и проверки действенности сценария <code>do</code> соответственно.


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


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


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


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


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


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


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


== Ссылки ==
== Ссылки ==

Версия от 01:47, 20 сентября 2018

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

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

При запуске программы от имени пользователя root для переключения режима, например 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/do. В случае невозможности осуществления какой-либо из операций будет выведено сообщение об ошибке. Если какой-то из параметров не указан (например, название сценария оболочки) то соответствующая операция не будет выполняться.

Настройка

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

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

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

Файлы сценариев оболочки находятся в /etc/control++/scripts/название_варианта/do. Также каталог /etc/control++/scripts/название_варианта/ может содержать файлы undo и test для выполнения действий обратных действиям сценария do и проверки действенности сценария do соответственно.

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

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

Переключение\установка режима:

control++ <название_режима>

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

control++ reset

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

control++ list

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

control++ status

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

control++ conf

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

control++ help

Ссылки

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