...
Пример:
Корень файловой системы имеет максимальную метку
А также специальный флаг - ccnr, позволяющий записывать в корень файлы с меткой >= максимальный
панель |
---|
borderColor | #c2e6ff |
---|
bgColor | #e2f3ff |
---|
title | root@dcm14:~# pdp-ls -Md |
---|
|
drwxr-xr-xm 30 root root Уровень_3:Низкий:0xffffffffffffffff:CCNRALL |
...
Создадим в корне файловой системы новую директорию
панель |
---|
borderColor | #c2e6ff |
---|
bgColor | #e2f3ff |
---|
borderStyle | solid |
---|
|
root@dcm14:~# mkdir /mydir0 |
...
Метка директории - нулевая
панель |
---|
borderColor | #c2e6ff |
---|
bgColor | #e2f3ff |
---|
title | root@dcm14:~# pdp-ls -Md /mydir0 |
---|
|
drwxr-xr-x 2 root root Уровень_0:Низкий:Нет:0x0 /mydir0 |
...
Поменяем метку на 1:0:0:0
панель |
---|
borderColor | #c2f6ff |
---|
bgColor | #e2f3ff |
---|
|
root@dcm14:~# pdp-flbl 1:0:0:0 /mydir0 |
Это возможно, благодаря флагу ccnr родительской директории - /
панель |
---|
borderColor | #c2e6ff |
---|
bgColor | #e2f3ff |
---|
title | root@dcm14:~# pdp-ls -Md /mydir0 |
---|
|
drwxr-xr-xm 2 root root Уровень_1:Низкий:Нет:0x0 /mydir0 |
...
Теперь создадим ещё одну директорию и запишем в неё файл.
панель |
---|
borderColor | #c2e6ff |
---|
bgColor | #e2f3ff |
---|
|
root@dcm14:~# mkdir /mydir1 && touch /mydir1/file |
панель |
---|
borderColor | #c2e6ff |
---|
bgColor | #e2f3ff |
---|
title | root@dcm14:~# pdp-ls -Md /mydir1 |
---|
|
drwxr-xr-x 2 root root Уровень_0:Низкий:Нет:0x0 /mydir1 |
панель |
---|
borderColor | #c2e6ff |
---|
bgColor | #e2f3ff |
---|
title | root@dcm14:~# pdp-ls -M /mydir1 |
---|
|
итого 0
-rw-r--r-- 1 root root Уровень_0:Низкий:Нет:0x0 file |
Попробуем рекурсивно поменять мандатную метку на файле и директории
панель |
---|
borderColor | #c2e6ff |
---|
bgColor | #e2f3ff |
---|
title | root@dcm14:~# pdp-flbl -R 1:0:0:0 /mydir1 |
---|
|
pdp-flbl: /mydir1: Отказано в доступе |
...
Как упоминалось выше, в ОС СН есть специальные флаги или "типы метки" для объектов-контейнеров, с помощью которых администратор безопасности может решить задачу рекурсивной смены мандатной метки на файловой системе. Их описание из руководства по КСЗ:
В ОС предусмотрено существование объектов-контейнеров (например, каталогов), т.е. объектов, которые могут содержать другие объекты. Метка объекта-контейнера определяет максимальную метку вложенных объектов. Тип метки может использоваться для того, чтобы изменять ее эффективное действие:
– тип метки ehole применяется к объектам-контейнерам и простым объектам для игнорирования мандатных правил разграничения доступа к ним;
– тип метки ccnr применяется к объектам-контейнерам и определяет, что объект 31 РУСБ.10015-01 97 01-1 контейнер может содержать объекты с различными мандатными метками, но не превышающими метку объекта контейнера;
– тип метки ccnri применяется к объектам-контейнерам и определяет, что объект контейнер может содержать объекты с различными уровнями целостности, но не превышающими уровень целостности объекта-контейнера;
Ненулевой тип метки может быть установлен только привилегированным процессом. Перечисленные типы могут использоваться совместно. Таким образом, объект-контейнер может иметь тип: ccnr,ccnri,ehole.
Для того чтобы сменить метку на поддереве файловой системы в общем виде достаточно выполнить следующее:
1. Установить на все директории поддерева, начиная с верхней, мандатную метку с требуемым уровнем, набором категорий и флагом ccnr
2. Установить на все файлы поддерева мандатную метку с требуемым уровнем и набором категорий
3. Снять (если не нужна) c директорий флаг ccnr
Пример:
панель |
---|
borderColor | #c2e6ff |
---|
bgColor | #e2f3ff |
---|
title | root@dcm14:~# pdp-ls -Md /mydir1 |
---|
|
drwxr-xr-x 2 root root Уровень_0:Низкий:Нет:0x0 /mydir1 |
панель |
---|
borderColor | #c2e6ff |
---|
bgColor | #e2f3ff |
---|
title | root@dcm14:~# pdp-ls -M /mydir1 |
---|
|
итого 0
-rw-r--r-- 1 root root Уровень_0:Низкий:Нет:0x0 file |
Сначала меняем метку на директорию. И ставим ccnr
панель |
---|
borderColor | #c2e6ff |
---|
bgColor | #e2f3ff |
---|
|
root@dcm14:~# pdp-flbl 1:0:0:ccnr /mydir1 |
панель |
---|
borderColor | #c2e6ff |
---|
bgColor | #e2f3ff |
---|
title | root@dcm14:~# pdp-ls -Md /mydir1 |
---|
|
drwxr-xr-xm 2 root root Уровень_1:Низкий:Нет:ccnr /mydir1 |
Меняем метку файла
панель |
---|
borderColor | #c2e6ff |
---|
bgColor | #e2f3ff |
---|
|
root@dcm14:~# pdp-flbl 1:0:0:0 /mydir1/file |
панель |
---|
borderColor | #c2e6ff |
---|
bgColor | #e2f3ff |
---|
title | root@dcm14:~# pdp-ls -M /mydir1/file |
---|
|
-rw-r--r--m 1 root root Уровень_1:Низкий:Нет:0x0 /mydir1/file |
Убираем флаг ccnr
панель |
---|
borderColor | #c2e6ff |
---|
bgColor | #e2f3ff |
---|
|
root@dcm14:~# pdp-flbl 1:0:0:0 /mydir1 |
панель |
---|
borderColor | #c2e6ff |
---|
bgColor | #e2f3ff |
---|
title | root@dcm14:~# pdp-ls -M /mydir1 |
---|
|
-rw-r--r--m 1 root root Уровень_1:Низкий:Нет:0x0 /mydir1 |
...