FIXPERM(8)

НАЗВАНИЕ
fixperm - Корректирует и инициализирует режим доступа и право собственности на файлы.

СИНТАКСИС


 fixperm [-cfgilnsvwDS [-d package]] specfile

ОПИСАНИЕ
fixperm выполняет согласование перечисляемых имен в каждой строке файла спецификаций specfile c соответствующей спецификацией. fixperm обычно используется для конфигурирования системы UNIX после инсталляции. Непривилегированные пользователи могут использовать fixperm только с опциями -n, -f, -D или -l. Для использования других опций необходим статус привилегированного пользователя.

Файл спецификаций имеет следующий формат: каждая непустая строка содержит либо комментарии, либо спецификацию элемента. Комментарием считается любой текст от знака # до конца строки. На одну строку полагается одна спецификация. Пользовательские и групповые идентификаторы должны задаваться в начале этого файла для каждого пользователя и для каждой группы, упоминаемых в этом файле. Синтаксис части определений прост: первое поле указывает на тип идентификатора (либо uid - пользовательский, либо gid - групповой), второе поле содержит именную ссылку на идентификатор и третье поле содержит соответствующий идентификатор. Например:


   uid    root    0

Спецификация элемента состоит из описателя пакета, спецификации разрешения, спецификации разрешений владельца и группы, количество связей с этим файлом, имени файла и необязательного номера тома.

Описатель пакета - это произвольная строка внутри комплекта дистрибуции. Пакет - это набор файлов.

За описателем пакета следует спецификация разрешения. Спецификация разрешения состоит из типа файла, численной спецификации разрешения. Спецификация элемента может быть одним из следующих символов:

Если спецификация элемента набрана строчной буквой, то связанный с ней файл - необязателен, и fixperm не возвратит сообщение об ошибке, если он отсутствует.

Численная спецификация разрешения соответствует схеме, описанной в chmod(1). Спецификации разрешений владельца и группы находится в третьей колонке и разделены косой чертой, например: "bin/bin". В четвертой колонке содержится количество связей. Если имеются связи с файлом, то в следующей строке содержится имя связанного файла и больше ничего. Пятая колонка содержит указание пути. Путь должен быть относительным, то есть не должен содержать косую черту "/". Шестая колонка используется только для специальных файлов и содержит большое(главное) и малое числа устройств или номера томов.

Опции
-cСоздает пустые файлы и каталоги. Также создает или модифицирует файлы устройств.
-gЗадает для fixperm перечисление устройств, указанных в списке permlist (аналогично аргументу -f, задающему выдачу файлов на стандартный вывод). Не вызывает никаких изменений.
-d packageОбрабатывает строки ввода, начиная со строки описателя заданного пакета (смотрите выше). Например, -dBASE обрабатывает только те элементы, которые принадлежат комплекту утилит пакета BASE. По умолчанию обрабатываются все строки.
-u packageКак и в опции -d, с той разницей, что обрабатываются элемент, не являющиеся частью заданного пакета.
-fВыдает файлы только на стандартный вывод. Файлы назначения не модифицируются.
-iВыполняет проверку установки заданных пакетов. Возвращаемые значения:
  • 0 пакет установлен полностью
  • 4 пакет не установлен
  • 5 пакет установлен частично
-lВыдает файлы и каталоги на стандартный вывод. Файлы назначения не модифицируются.
-nВыводит только сообщения об ошибках. Файлы назначения не модифицируются.
-DВыдает каталоги только на стандартный вывод. Файлы назначения не модифицируются.
-vМногозначная опция; жалуется, если выполняемые файлы не загружаются, не имеют фиксированного стека, не являются отдельными I и D или не анализируются.
-sВ дополнение к остальным файлам списка permlist модифицирует специальные файлы устройств.
-wВыдает информацию о том, где (на каком томе) располагаются заданные файлы и каталоги.

Следующие две строки формируют дистрибуцию и вызывают tar(1) для архивирования файлов только из perms/inst в /dev/sample:


      /etc/fixperm -f /etc/perms/inst > list

      tar cfF /dev/sample list

В следующем примере задается выдача сообщений об ошибках для пакета BASE:

      /etc/fixperm -nd BASE

ПРИМЕЧАНИЯ
Обычно fixperm запускается только программой-оболочкой во время инсталляции.

СМ. ТАКЖЕ
custom(8)