Управление атрибутами файла (ЗОСРВ «Нейтрино»)
chattr [+|- атрибут]... [имя_файла]...
ЗОСРВ «Нейтрино»
aarch64, arm, armv7, e2k, mips, ppc, x86
Утилита chattr представляет собой интерфейсную часть команды DCMD_FSYS_FILE_FLAGS функции devctl(), определенной в <sys/dcmd_blk.h>
и описанной в справочнике по командам Devctl и Ioctl, которая получает и устанавливает атрибуты файла (выходящие за рамки стандарта POSIX). Например, в файловой системе DOS/FAT существует концепция «скрытых» или «системных» файлов. Такие атрибуты обычно сохраняются в виде флагов в индексном дескрипторе каждого файла на диске.
Если утилита chattr вызывается без атрибутов и с именем_файла (или списком имен файлов), то будут отображены текущие установленные атрибуты каждого файла. Если утилита chattr вызывается с атрибутом атрибут (или списком атрибутов), то заданные атрибуты будут применены к каждому файлу.
Атрибуты разделены на следующие классы:
Например, скрытый файл — это общее понятие для имени_файла, которое может быть скрыто от просмотра пользователем (не отображается ls), но остается доступным (например, для использования прикладной программой при вызове функции open()). Представление этой концепции варьируется в зависимости от файловой системы:
Эта функция сопоставления позволяет абстрагировать приложение от конкретной структуры на диске (программа может работать без изменений с любым файлом в любой файловой системе). Многие атрибуты, специфичные для файловой системы, не имеют соответствующей общей концепции, и ими необходимо управлять, зная базовую структуру файловой системы. Различные заголовочные файлы <sys/fs_*.h>
содержат соответствующие определения битов.
Файловая система | Атрибут | Бит | Описание |
---|---|---|---|
Generic | backup | FS_FLAGS_BACKUP | Файл был изменен, необходимо создать резервную копию. |
contiguous | FS_FLAGS_CONTIGUOUS | Нефрагментированный файл. | |
dirty | FS_FLAGS_DIRTY | Возможно, файловая система находится в несогласованном состоянии. | |
hidden | FS_FLAGS_HIDDEN | Файл скрыт от обычного просмотра пользователем (не отображается с помощью ls), но остается доступным для open(). | |
Power-Safe ( fs-qnx6.so) | defrag | QNX6FS_BG_DEFRAG | Фоновая дефрагментация включена. |
hold | QNX6FS_SNAPSHOT_HOLD | Снапшоты для этого файла заблокированы. | |
modified | QNX6FS_INO_MODIFIED | Индексный дескриптор был изменен. | |
snapshot | FS_FLAGS_COMMITTING | Снапшоты включены. | |
used | QNX6FS_INO_USED | Индексный дескриптор используется. | |
fs-udf.so | archive | Файл был изменен, и его необходимо создать резервную копию. | |
nonreloc | Файл невозможно переместить. | ||
setgid | В файле установлен бит setgid. | ||
setuid | В файле установлен бит setuid. | ||
sorted | Каталоги отсортированы. | ||
sticky | Sticky бит установлен. | ||
stream | Файл представляет собой именованный поток. | ||
system | Файл используется исключительно операционной системой и не подлежит изменению или удалению. | ||
transform | Файл был преобразован (например, сжат). | ||
fs-dos.so | archive | DOSFS_ARCHIVE | Файл был изменен, и его необходимо создать резервную копию. |
dir | DOSFS_DIR | Файл является каталогом. | |
hidden | DOSFS_HIDDEN | Файл скрыт от просмотра. | |
label | DOSFS_VOLLABEL | Файл представляет собой метку тома. | |
lcasebase | DOSFS_LCASE_BASE | Базовое имя_файла включает символы нижнего регистра. | |
lcaseext | DOSFS_LCASE_EXT | Расширение имени_файла включает символы нижнего регистра. | |
rdonly | DOSFS_RDONLY | Файл доступен только для чтения. | |
system | DOSFS_SYSTEM | Файл используется исключительно операционной системой и не подлежит изменению или удалению. | |
fs-nt.so | archive | Файл был изменен, и его необходимо создать резервную копию. | |
compress | Файл сжат. | ||
device | Файл представляет собой устройство. | ||
encrypt | Файл зашифрован. | ||
hidden | Файл скрыт от просмотра. | ||
normal | Регулярный файл. | ||
offline | Актуальный файл хранится удаленно. | ||
rdonly | Файл доступен только для чтения. | ||
sparse | Файл разреженный; ненулевые данные размещаются на диске, а длинные строки нулей — нет. | ||
system | Файл используется исключительно операционной системой и не подлежит изменению или удалению. | ||
temp | Файл временный. | ||
fs-mac.so | alias | Файл представляет собой файл алиас - динамическую ссылку на другой файл. | |
bundle | Файл представляет собой пакет, каталог со стандартизированной иерархией, в котором хранится исполняемый код и все связанные ресурсы. | ||
desktop | Файл находится на рабочем столе. | ||
hasicon | У файла есть свой собственный значок. | ||
hiddenext | Расширение файла скрыто. | ||
invisible | Файл не отображается в списках диалоговых окон или окнах приложений. | ||
namelock | Переименовать файл или назначить ему другой значок невозможно. | ||
stationery | Файл представляет собой блокнот; вы можете использовать его как шаблон для создания новых файлов, но не можете изменять сам файл. |
Вывести атрибуты файла на экран:
# chattr chattr.c chattr.c: +backup +contiguous +used +modified
Добавить и удалить атрибуты файла:
# chattr -archive +system /fs/dos/autoexec.bat /fs/dos/autoexec.bat: -archive +system
Отключение снапшотов для файловой системы Power-Safe ( fs-qnx6.so) (может быть полезно при вызове утилиты chkqnx6fs):
# chattr -snapshot /fs/qnx6 /fs/qnx6: -snapshot
Базовые подсистемы ЗОСРВ «Нейтрино»
ЗОСРВ
«Нейтрино»
редакции 2024
devb-ahci, devb-eide, devb-loopback, devb-ram, devb-sdmmc, devb-umass, fs-dos.so, fs-mac.so, fs-nt.so, fs-qnx6.so, fs-udf.so, fsysinfo, io-blk.so, DCMD_FSYS_FILE_FLAGS
Предыдущий раздел: Утилиты