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)
настройка политики безопасности