Каким образом изменить контекст безопасности вне домашнего каталога?

Редактировал(а) Олеся 2021/10/21 13:51

Изменение контекста безопасности файлов в директориях, отличных от /home, происходит при помощи конфигурационных файлов.

Данные конфигурационные файлы находятся по пути /etc/NESS/initfs/fs.d.

Эта папка включает файлы вида 00100root.initfs. В них содержится описание мандатных атрибутов директорий.

 
image228.png

К примеру, запись вида -m t=CCnR,CICnR [/путь] даст директории, указанной в /путь, теги CCnR и CICnR. Данный набор атрибутов позволит создавать файлы любого контекста безопасности внутри указанной директории.

Рассмотрим, как изменить контекст безопасности файлов на примере:

1) укажем атрибуты для директории /var/www, чтобы получить возможность ограничить доступ к веб-ресурсам. Для этого добавим строки в файл 00700var.initfs:

--reference=/ -m t=CCnR,CICnR /var/www/
--reference=/ -m t=CCnR,CICnR /var/www/html

2) для изменения атрибутов файлов создадим файл такого же вида, но содержащий shell-скрипт:

sudo touch 00700varwww.initfs

sudo chmod 755 00700varwww.initfs

3) внутри файла добавим строки вида:

#!/bin/sh

find /var/www/html/index.html -exec chcon l=1 {} +

4) после чего инициализируем новый и измененный файлы:

sudo ness-initfs /etc/NESS/initfs/fs.d/00700var.initfs

sudo ness-initfs /etc/NESS/initfs/fs.d/00700varwww.initfs

Проверить изменения можно при помощи команды, которая показывает контекст у файлов:

ls -Z

Если контекст безопасности пользователя не ниже контекста безопасноcти изменяемого файла, команда покажет: l=Уровень 1

image229.png


Посмотреть видеоурок: Изменение контекста безопасности вне домашнего каталога

strelets.net
telegram: @os_strelets