Каким образом изменить контекст безопасности вне домашнего каталога?
Изменение контекста безопасности файлов в директориях, отличных от /home, происходит при помощи конфигурационных файлов.
Данные конфигурационные файлы находятся по пути /etc/NESS/initfs/fs.d.
Эта папка включает файлы вида 00100root.initfs. В них содержится описание мандатных атрибутов директорий.
К примеру, запись вида -m t=CCnR,CICnR [/путь] даст директории, указанной в /путь, теги CCnR и CICnR . Данный набор атрибутов позволит создавать файлы любого контекста безопасности внутри указанной директории.
Рассмотрим, как изменить контекст безопасности файлов на примере:
1) укажем атрибуты для директории /var/www, чтобы получить возможность ограничить доступ к веб-ресурсам. Для этого добавим строки в файл 00700var.initfs:
--reference=/ -m t=CCnR,CICnR /var/www/html
2) для изменения атрибутов файлов создадим файл такого же вида, но содержащий shell-скрипт:
sudo chmod 755 00700varwww.initfs
3) внутри файла добавим строки вида:
find /var/www/html/index.html -exec chcon l=1 {} +
4) после чего инициализируем новый и измененный файлы:
sudo ness-initfs /etc/NESS/initfs/fs.d/00700varwww.initfs
Проверить изменения можно при помощи команды, которая показывает контекст у файлов:
Если контекст безопасности пользователя не ниже контекста безопасноcти изменяемого файла, команда покажет: l=Уровень 1
Посмотреть видеоурок: Изменение контекста безопасности вне домашнего каталогаmouseover