Как использовать флаги файла для изменения его поведения в macOS

используется СМИ MacOS, чтобы ограничить способ изменения файлов. Они устанавливаются иначе, чем разрешения, и выполняются в параллельной архитектуре вместе с такими командами, как Чаун و CHMOD. буду использовать chflags Также поменять флаги ls для отображения сигналов. В Unix работает аналогичная система, но с большим количеством параметров, называемых «атрибутами», а не флагами.

Как использовать флаги файла для изменения его поведения в macOS - Mac

Просмотр установленных флагов в macOS

В Терминале вы можете использовать флаг ls для отображения любых существующих флагов.

ls -lO 

~/Librarydrwx------@ 88  alexander staff hidden 2992 Jan 25 14:01 Library

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

ls -lO ~/Library/Caches

drwx------+ 234 alexander staff   -    7956 Jan 25 13:03 Caches

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

Установка и удаление флагов в macOS

Как использовать флаги файла для изменения его поведения в macOS - Mac

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

Флаги, которые можно установить в macOS, перечислены ниже. Это полный список доступных опций, а также объяснение их функций. Большинство флагов могут быть установлены только владельцем файла или суперпользователем; sappnd и schg могут быть установлены только суперпользователем, поскольку они являются общесистемными флагами. Скрытый флаг можно установить только без повышения привилегий.

Установка флагов в macOS

При установке флагов в macOS используйте команду ниже. Рекурсивный флаг -R доступен для операций на уровне каталога:

sudo chflags -R [flag] /usr/bin/local

sudo chflags [flag] /usr/bin/local/mnt.sh

chflags -R hidden ~/Desktop

Вы выберете соответствующий флаг. Например, следующее обозначает флаг кувыркающийся:

sudo chflags nodump /usr/bin/local/tty.sh

Для каждой команды можно установить или снять только один флаг. chflags.

Непрозрачность Устанавливает непрозрачность папки при просмотре соединение гора , это старый способ одновременного отображения нескольких каталогов.

  • кувыркающийся Предотвращает очистку файла или папки, пока вы используете команду DUMP для резервного копирования вашей системы.
  • саппенд , вставать саппенд Устанавливает только системный флаг добавления, который позволяет добавить файл в каталог, но не будет изменен или удален. Для этого удаления требуется флаг входа в однопользовательский режим.
  • счг، изменение، совместимый Устанавливает статический системный флаг, который блокирует все изменения файлов всеми пользователями с любым уровнем привилегий. Для снятия этого флага необходимо войти в однопользовательский режим.
  • добавить ، перевернуть Задает флаг добавления только для пользователя. Это может быть установлено владельцем файла и может быть отменено владельцем без повышения привилегий. Поскольку файл заблокирован, используется sappnd или schg в более низком состоянии безопасности, поэтому он используется чаще.
  • учг، изменение، непреложный Он устанавливает статический флаг пользователя, который имеет ту же взаимосвязь, что и статический системный флаг, поскольку должен отображаться флаг uappnd.
  • в других материалах-носителях Определяет оккультную науку. Это скрывает элемент внутри графического интерфейса Finder и команд ls.

Убрать флаги в macOS

Чтобы очистить конкретный флаг, установите его инверсию. В большинстве случаев это означает предварительное выполнение вашего заказа «нет». В случае кувыркающийся , используйте флаг дамп чтобы очистить его, например:

sudo chflags dump /usr/bin/local/oty.sh

Более стандартные условия можно поменять местами с помощью префикса «нет" , Такие как:

sudo chflags nosappnd /usr/bin/local/oty.sh

Как и в случае с CHMOD , доступен итеративный тег:

chflags  -R nohidden ~/Desktop

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

Использование атрибутов в Unix

Как использовать флаги файла для изменения его поведения в macOS - Mac

Unix запускает аналогичную систему на бэкэнде, но обрабатывается другими командами. На самых популярных платформах Linux вы вместо этого сможете получить доступ болтать و лсатр. Эти флаги используются для изменения и отображения «атрибутов», что и происходит в большинстве других установок Unix.

Функции можно найти с помощью лсатр:

lsattr /path/to/file.txt

Изменение атрибутов зависит от исходного кода конфигурации и указано на странице основной чат:

Буквы acdeijstuADST определяют новые атрибуты файлов: только добавление (a), сжатие (c), без дампа (d), формат расширения (e), неизменяемый (i), ведение журнала (j), безопасное удаление (s), без хвостового слияния (t), без возможности удаления (u), без onime-обновлений (A), синхронных обновлений каталогов (D), синхронных обновлений (S) и вершины иерархии каталогов (T). «

Это выглядит так:

chattr +s /file/name.txt

Устанавливает атрибут безопасного удаления для указанного пути.

تغليف

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

Перейти к верхней кнопке