chflags

chflags - работа с флагами файлов

chflags [-fhv] [-R [-H | -L | -P]] флаги файл ...

Утилита chflags, устанавливает или снимает флаги файлов, согласно переданным команде опциям.

Можно использовать следующие значения опций:

-f
Не отображать диагностическую информацию в случае неудачи, при изменении флагов файла, не менять код завершения, для сигнализации о неудачной операции.
-H
Если установлена опция -R, следовать по символическим ссылкам в командной строке. ( Символические ссылки встреченные при обходе девева не сопровождаются )
-h
Если файл является символической ссылкой, устанавливать флаг на саму ссылку, вместо файла на который она ведет.
-L
При использовании с опцией -R, следовать по ссылкам
-P
При использовании с опцией -R, не следовать по ссылкам. Поведение по-умолчанию.
-R
Изменить флаги для иерархии файлов, включая корневую директорию для данной иерархии.
-v
Выводить информацию во время выполнения, имя файла на котором изменены флаги. Еесли опция указана дважды, будет так-же показано восьмеричное значение флагов.

Флаги файлов могут быть заданы восьмеричными значениями, или разделенным запятыми списком ключевых слов.

Можно использовать следующие ключевые слова.

     arch, archived	        флаг архивный ( только для суперпользователя )

     opaque                     флаг opaque ( владелец и суперпользователь )

     nodump                     флаг nodump ( владелец и суперпользователь )

     sappnd, sappend            флаг system append-only ( только суперпользователь )

     schg, schange, simmutable  флаг system immutable ( только суперпользователь )

     sunlnk, sunlink            флаг system undeletable ( только суперпользователь )

     uappnd, uappend            флаг user append-only ( владелец и суперпользователь )

     uchg, uchange, uimmutable  флаг user immutable  ( владелец и суперпользователь )

     uunlnk, uunlink            флаг user undeletable ( владелец и суперпользователь )

Добавление или удаление приставки "no" из ключевого слова, очищает соответствующий флаг
Например:

   nouchg  очистить флаг "user immutable" ( владелец и суперпользователь )
  dump    очистить флаг "nodump" ( владелец и суперпользователь )

Восьмеричные значения::

	   0   Очистить все флаги.
	   1   То-же, что и nodump.
	   2   То-же, что и uchg.
	   3   То-же, что и uchg, nodump.
	   4   То-же, что и uappnd.
	   10  То-же, что и opaquе.
	   20  То-же, что и uunlnk.

Другие комбинации ключевых слов, могут быть получены путем комбинирования приведенных выше октетов.

Пока не заданы опции -H, -L или -h, chflags примененный к символической ссылке, выполнится, но не будет иметь никакого эффекта. Опции -H, -L и -P будут проигнорированы без опции -R. Более того, данные опции переопределяют друг друга, поэтому использована будет последняя.

Что-бы посмотреть установленные флаги, используйте команду ls вслудующем формате: ls -lo.

Возможность менять, устанавливать или снимать тот или иной флаг, зависит от уровня безопасности, в котором в данный момент работает система.

chflags возвращает 0 при успешном завершении операции и >0 в случае ошибки.

Так-же смотрите:
ls(1), chflags(2), stat(2), fts(3), security(7), symlink(7)
настройка политики безопасности