ИМЯ
setfiles - установить SELinux-контексты безопасности файлов.
ОБЗОР
setfiles [-c policy] [-d] [-l] [-m] [-n] [-e directory] [-p] [-s] [-v] [-W] [-F] [-I|-D] spec_file pathname ...
ОПИСАНИЕ
На этой странице руководства приводится описание программы setfiles.
Эта программа используется в основном для инициализации полей контекста безопасности (расширенных атрибутов) в одной или нескольких файловых системах (или их частях). Обычно она впервые запускается как часть процесса установки SELinux (этап, который называется проставлением меток).
Также можно запустить её в любой другой момент, чтобы исправить некорректные метки, добавить поддержку для недавно установленной политики или, используя параметр -n , пассивно проверить, соответствуют ли установленные контексты файлов тем контекстам, которые указаны в активной политике (поведение по умолчанию) или в какой-либо другой политике (см. параметр -c ).
Если объект файла не имеет контекста, setfiles запишет контекст по умолчанию в расширенные атрибуты объекта файла. Если объект файла имеет контекст, setfiles изменит только ту часть контекста безопасности, которая относится к типу. Параметр -F позволяет принудительно заменить контекст целиком.
ПАРАМЕТРЫ
-c |
проверить действительность контекстов относительно указанной двоичной политики. | ||
-d |
показать, какая спецификация соответствует каждому из файлов. |
-e directory
исключить каталог (чтобы исключить более одного каталога, этот параметр необходимо использовать соответствующее количество раз).
-f infilename
infilename содержит список файлов для обработки. Используйте “-” для stdin.
-F |
принудительно сбросить контекст, чтобы обеспечить соответствие file_context для настраиваемых файлов и соответствие контексту файлов по умолчанию для остальных файлов (меняются части контекста, связанные с пользователем, ролью, диапазоном, а также тип). | ||
-h, -? |
показать сведения об использовании и выйти. | ||
-i |
игнорировать файлы, которые не существуют. | ||
-I |
игнорировать дайджест, чтобы принудительно проверить метки, даже если хранимый дайджест SHA1 соответствует дайджесту SHA1 файлов спецификации. Затем (при условии отсутствия ошибок) дайджест будет обновлён. Более подробные сведения доступны в разделе ПРИМЕЧАНИЯ. | ||
-D |
установить или обновить дайджесты SHA1 для любых каталогов. Используйте этот параметр, чтобы включить использование расширенного атрибута security.restorecon_last. | ||
-l |
записывать изменения меток файлов в системный журнал. | ||
-m |
не выполнять чтение /proc/mounts для получения списка монтирований без seclabel, которые следует исключить из проверок с повторным проставлением меток. Установка этого параметра полезна при наличии смонтированной файловой системы без seclabel, в которой в расположенном ниже каталоге смонтирована файловая система с seclabel. | ||
-n |
не изменять метки файлов (пассивная проверка). |
-o outfilename
этот параметр устарел и больше не поддерживается.
-p |
показывать ход выполнения, выводя количество обработанных файлов (единица измерения - блок размером 1 КБ (то есть 1000 файлов)). Если выполняется повторное проставление меток во всей ОС, будет показан примерный процент выполнения. Обратите внимание, что параметры -p и -v являются взаимоисключающими. | ||
-q |
этот параметр устарел, ранее использовался для прекращения вывода параметров ассоциаций индексных дескрипторов (inode). |
-r rootpath
использовать альтернативный корневой путь. Используется в meta-selinux для сборок OpenEmbedded/Yocto, чтобы проставить метки для файлов в каталоге rootpath таким образом, как если бы они были в /
-s |
взять список файлов из стандартного ввода, а не использовать путь из командной строки (эквивалентно “-f -” ). | ||
-v |
показать изменения меток для файлов и вывести параметры ассоциаций индексных дескрипторов (inode). Обратите внимание, что параметры -v и -p являются взаимоисключающими. | ||
-W |
показать предупреждения о записях, для которых не обнаружены соответствующие файлы, с помощью вывода результатов selabel_stats(3). | ||
-0 |
предполагается, что разделителем для элементов ввода является символ нуля (вместо пробела). Символы кавычек и обратной косой черты также считаются обычными символами, которые могут формировать допустимый ввод. Этот параметр также отключает строку конца файла (end-of-file string), она обрабатывается, как любой другой аргумент. Это полезно, если элементы ввода содержат пробелы, кавычки или обратные косые черты. Параметр -print0 GNU find производит ввод, подходящий для этого режима. |
АРГУМЕНТЫ
spec_file
Файл спецификации, содержащий строки следующего вида:
regexp [type] context | <<none>>
Регулярное
выражение
привязывается
с обоих
концов.
Необязательное
поле type
указывает
тип файла
(показывается
в поле
режима по
команде
ls(1) ),
например,
-- для
соответствия
только
обычным
файлам
или -d для
соответствия
только
каталогам.
context может
быть
обычным
контекстом
безопасности
или
строкой
<<none>>
(чтобы
указать,
что
контекст
файла не
следует
изменять).
Используется
последняя
соответствующая
спецификация.
Если на
файл
имеется
несколько
жёстких
ссылок,
которые
соответствуют
разным
спецификациям,
и эти
спецификации
означают
разные
контексты
безопасности,
будет
показано
предупреждение,
но для
файла всё
равно
будет
проставлена
метка на
основе
последней
соответствующей
спецификации,
отличной
от <<none>>.
pathname ...
Путь к корневому каталогу каждой файловой системы, в которой следует повторно проставить метки, или конкретный каталог в файловой системе, по которому следует рекурсивно спуститься и повторно проставить метки, или путь к файлу, для которого следует повторно проставить метку. Не используется, если используется параметр -f или -s .
ПРИМЕЧАНИЯ
1. |
setfiles следует по символическим ссылкам и рекурсивно применяется к каталогам. | ||
2. |
Если в pathname указан корневой каталог, установлен параметр -v , а также запущена система аудита, в журнал с меткой сообщения FS_RELABEL автоматически записывается событие аудита, которое содержит сообщение о том, что произошло "массовое повторное проставление меток". | ||
3. |
Для повышения производительности при рекурсивном повторном проставлении меток в файловых системах используется параметр -D команды setfiles . Он обеспечивает сохранение дайджеста SHA1 файла спецификации spec_file в расширенном атрибуте с именем security.restorecon_last для каталога, указанного в соответствующем пути pathname ... , после успешного завершения повторного проставления меток. Этот дайджест будет проверен, если команда setfiles -D будет перезапущена с теми же параметрами spec_file и pathname Подробные сведения доступны в selinux_restorecon(3). |
Параметр -I позволяет игнорировать дайджест SHA1 из каждого каталога, указанного в pathname ... , и, при условии, что НЕ установлен параметр -n , для файлов будут необходимым образом повторно проставлены метки, а дайджест затем будет обновлён (если не будет ошибок).
СМОТРИТЕ ТАКЖЕ
restorecon(8), load_policy(8), checkpolicy(8)
АВТОРЫ
Эта man-страница была написана Russell Coker <russell [AT] coker.au>. Программа была написана Stephen Smalley <sds [AT] tycho.gov>. Перевод на русский язык выполнила Герасименко Олеся <gammaray [AT] basealt.ru>