Эта программа используется в основном для инициализации полей контекста безопасности (расширенных атрибутов) в одной или нескольких файловых системах (или их частях). Обычно она впервые запускается как часть процесса установки SELinux (этап, который называется проставлением меток).
Также можно запустить её в любой другой момент, чтобы исправить некорректные метки, добавить поддержку для недавно установленной политики или, используя параметр -n , пассивно проверить, соответствуют ли установленные контексты файлов тем контекстам, которые указаны в активной политике (поведение по умолчанию) или в какой-либо другой политике (см. параметр -c ).
Если объект файла не имеет контекста, setfiles запишет контекст по умолчанию в расширенные атрибуты объекта файла. Если объект файла имеет контекст, setfiles изменит только ту часть контекста безопасности, которая относится к типу. Параметр -F позволяет принудительно заменить контекст целиком.
-c проверить действительность контекстов относительно указанной двоичной политики.
-d показать, какая спецификация соответствует каждому из файлов (не прекращать проверку после получения ошибок ABORT_ON_ERRORS).
-e directory исключить каталог (чтобы исключить более одного каталога, этот параметр необходимо использовать соответствующее количество раз).
-f infilename infilename содержит список файлов для обработки. Используйте \*(lq - \*(rq для 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 взять список файлов из стандартного ввода, а не использовать путь из командной строки (эквивалентно \*(lq "-f -" \*(rq ).
-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 .