Control++:Blacklist/Whitelist: различия между версиями
Нет описания правки |
Нет описания правки |
||
Строка 9: | Строка 9: | ||
=== Правка основного файла настройки control++ === | === Правка основного файла настройки control++ === | ||
Добавить в файл настройки <code>/etc/control++/control++.conf</code> секцию, обозначающую режим control++ с определённым названием (в данном примере режим имеет название <i>some_mode_name</i>), и требующую установку определённого режима прав на файлы (в данном примере режим прав на файлы имеет название <i>some_perm_mode_name</i>) | Добавить в файл настройки <code>/etc/control++/control++.conf</code> секцию, обозначающую режим control++ с определённым названием (в данном примере режим имеет название <i>some_mode_name</i>), и требующую установку определённого режима прав на файлы (в данном примере режим прав на файлы имеет название <i>some_perm_mode_name</i>): | ||
:<source> | :<source> | ||
[some_mode_name] | [some_mode_name] | ||
Строка 30: | Строка 30: | ||
Возможно задание следующих дополнительных параметров: | Возможно задание следующих дополнительных параметров: | ||
* excluded_paths - определяет набор каталогов, содержимое которых (в том числе содержимое вложенных каталогов) не будет затронуто применением прав, описанных данной секцией; | * <code>excluded_paths</code> - определяет набор каталогов, содержимое которых (в том числе содержимое вложенных каталогов) не будет затронуто применением прав, описанных данной секцией; | ||
* mode_for_dirs - определяет режим для вложенных каталогов, затрагиваемых применением прав, описанных данной секцией; | * <code>mode_for_dirs</code> - определяет режим для вложенных каталогов, затрагиваемых применением прав, описанных данной секцией (с учётом base_dir); | ||
* base_dir - определяет каталог, рассматриваемый при применении данного режима прав как каталог верхнего уровня; | * <code>base_dir</code> - определяет каталог, рассматриваемый при применении данного режима прав как каталог верхнего уровня; | ||
* mode - режим | * <code>mode</code> - режим в формате <code>rwxrwxrwx</code>, применяемый к файлам, перечисленным в чёрном/белом списке (по-умолчанию для белого списка <code>**x**x**x</code>, для чёрного списка <code>**-**-**-</code>). | ||
Пример описания режима прав с применением дополнительных параметров | Пример описания режима прав с применением дополнительных параметров: | ||
:<source> | |||
[whitelist] | |||
path = /some_path/some_whitelist.txt | |||
excluded_paths = "lib", "local/lib", | |||
base_dir = "/usr" | |||
mode = *-x*-x*-x | |||
</source> | |||
Любой из дополнительных параметров может отсутствовать/присутствовать в описании прав независимо от присутствия/отсутствия других дополнительных параметров. | Любой из дополнительных параметров может отсутствовать/присутствовать в описании прав независимо от присутствия/отсутствия других дополнительных параметров. |
Версия от 16:30, 22 ноября 2018
control++ может быть использован для применения чёрных/белых списков файлов.
Постановка задачи
- Имеется текстовый файл
/some_path/some_blacklist.txt
, называемый чёрным списком, каждая строка которого представляет собой абсолютный путь к файлу данной системы; По единой команде должно производиться запрещение запуска (исполнения) всех файлов чёрного списка (по-умолчанию - для всех пользователей); - Имеется текстовый файл
/some_path/some_whitelist.txt
, называемый белым списком, каждая строка которого представляет собой абсолютный путь к файлу данной системы; По единой команде должно производиться запрещение запуска (исполнения) всех файлов системы, кроме файлов белого списка, а запуск (исполнение) файлов белого списка должен быть резрешён (по-умолчанию - для всех пользователей).
Решения поставленной задачи
Правка основного файла настройки control++
Добавить в файл настройки /etc/control++/control++.conf
секцию, обозначающую режим control++ с определённым названием (в данном примере режим имеет название some_mode_name), и требующую установку определённого режима прав на файлы (в данном примере режим прав на файлы имеет название some_perm_mode_name):
[some_mode_name] permissions = some_perm_mode_name
Создание/правка файла настройки режима прав на файлы
Поместить в каталог /etc/control++/samples/permissions
файл с описанием режима прав на файлы (в данном примере режим прав на файлы имеет название some_perm_mode_name, его абсолютный путь при этом будет равен /etc/control++/samples/permissions/some_perm_mode_name
) и задать ему следующее содержимое (минимальный вариант):
- Для задания применения чёрного списка
[blacklist] path = /some_path/some_blacklist.txt
- Для задания применения белого списка
[whitelist] path = /some_path/some_whitelist.txt
Если в белом/чёрном списке присутствуют абсолютные пути к каталогам, файлы которых требуется рекурсивно обработать соответствующим образом, то вместо секций [blacklist]
/ [whitelist]
следует задавать секции [blacklist_r]
/ [whitelist_r]
соответственно.
Возможно задание следующих дополнительных параметров:
excluded_paths
- определяет набор каталогов, содержимое которых (в том числе содержимое вложенных каталогов) не будет затронуто применением прав, описанных данной секцией;mode_for_dirs
- определяет режим для вложенных каталогов, затрагиваемых применением прав, описанных данной секцией (с учётом base_dir);base_dir
- определяет каталог, рассматриваемый при применении данного режима прав как каталог верхнего уровня;mode
- режим в форматеrwxrwxrwx
, применяемый к файлам, перечисленным в чёрном/белом списке (по-умолчанию для белого списка**x**x**x
, для чёрного списка**-**-**-
).
Пример описания режима прав с применением дополнительных параметров:
[whitelist] path = /some_path/some_whitelist.txt excluded_paths = "lib", "local/lib", base_dir = "/usr" mode = *-x*-x*-x
Любой из дополнительных параметров может отсутствовать/присутствовать в описании прав независимо от присутствия/отсутствия других дополнительных параметров.