ГлавнаяОперационные системыMacOSКак использовать флаги файлов для изменения поведения файлов в macOS

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

Флаги используются в macOS для ограничения возможности изменения файла. Они устанавливаются иначе, чем разрешения, и выполняются в параллельной структуре вместе с такими командами, как chownи chmod. Вы будете использовать chflagsдля изменения флагов, а также lsдля просмотра флагов. В Unix используется аналогичная система, но с большим количеством опций, называемых «атрибутами», а не флагами.

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

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

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

ls -lO ~/Library/Caches
drwx------+ 234 alexander staff   -    7956 Jan 25 13:03 Caches

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

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

использование-chflags-macos-chattr-lsattr-hero-set-flag

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

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

Установка и очистка флагов в 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

установит соответствующий флаг. Например, следующий код устанавливает флаг nodump:

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

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

  • opaque делает папку непрозрачной при просмотре через союзное крепление — старомодный способ одновременного просмотра нескольких каталогов.
  • nodump предотвращает создание дампа файла или папки во время использования команды dumpдля резервного копирования в

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

    ppnd, sappend устанавливает системный флаг только для добавления, который позволяет добавлять файл, но не изменять или удалять его. Для удаления этого флага требуется войти в однопользовательский режим.
  • schg, schange, simmutable устанавливает системный флаг неизменяемости, который блокирует все изменения файлов всеми пользователями с любым уровнем привилегий. Для удаления этого флага необходимо войти в однопользовательский режим.
  • uappnd, uappend устанавливает пользовательский флаг только для добавления. Это может быть установлено владельцем файла и может быть отменено владельцем без повышения привилегий. Поскольку он блокирует файл с помощью sappndили schgс более низким уровнем безопасности, он используется гораздо чаще.
  • uchg, uchange, uimmutable устанавливает неизменяемый флаг пользователя, который имеет такое же отношение к неизменяемому флагу системы, как флаг uappndимеет значение 25.
  • hidden устанавливает флаг скрытности. Это скроет элемент в графическом интерфейсе Finder и командах ls.

Очистка флагов в macOS

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

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

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

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

Как и в случае с chmod, доступен флаг рекурсии:

chflags  -R nohidden ~/Desktop

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

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

использование-chflags-macos-chattr-lsattr-атрибутов

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

Атрибуты можно просмотреть с помощью lsattr:

lsattr /path/to/file.txt

Изменение атрибутов основано на коде инициализации и указано в Справочная страница чата :

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

Команда выглядит так:

chattr +s /file/name.txt

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

Подведение итогов

Флаги наиболее полезны при ограничении кр

Очистка флагов в macOS

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

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

Подведение итогов

ПОХОЖИЕ СТАТЬИ

Популярные записи