Extended attributes (Русский)

Состояние перевода:
На этой странице представлен перевод статьи
Extended attributes
. Дата последней синхронизации: 22 сентября 2023. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
Ссылки по теме
Разрешения и атрибуты файлов
Capabilities (Русский)
Расширенные атрибуты (Extended attributes) — это пары ключ-значение, привязанные к файлу или каталогу. Существует четыре их класса: security, system, trusted и user.
Важно
По умолчанию
cp
,
rsync
и другие подобные программы не сохраняют расширенные атрибуты; смотрите раздел
#Сохранение расширенных атрибутов
.
Расширенные атрибуты также используются для установки
привилегий
(Capabilities).
Пользовательские расширенные атрибуты
Класс user может использоваться для хранения произвольной информации о файле. Пример создания атрибута:
$ setfattr -n user.checksum -v "3baf9ebce4c664ca8d9e5f6314fb47fb" файл.txt
Просмотр имеющихся атрибутов:
$ getfattr -e text -d файл.txt
# file: файл.txt
user.checksum="3baf9ebce4c664ca8d9e5f6314fb47fb"
Удаление атрибута:
$ setfattr -x user.checksum файл.txt
Для поиска файлов с определёнными расширенными атрибутами используйте
rawhide
AUR
:
$ rh
/путь/к/каталогу
'"
XATTR_REGEX
".reea'
Некоторые другие пользовательские расширенные атрибуты:
user.mime_type
: помогает программам узнать MIME-тип.
user.charset
: используется модулем
mod_mime_xattr
веб-сервера Apache.
user.creator
: название приложения, в котором был создан файл.
XDG также предлагает набор стандартизированных расширенных атрибутов для использования программами:
user.xdg.comment
: поддерживается в Dolphin и других файловых менеджерах.
user.xdg.origin.url
: ссылка, по которой был скачан файл.
user.xdg.robots.index
: «true», если файл нужно индексировать, иначе «false».
user.xdg.robots.backup
: «true», если для файла нужно создавать резервные копии, иначе «false».
user.xdg.language
user.xdg.creator
user.xdg.publisher
user.xdg.origin.email.subject
user.xdg.origin.email.from
user.xdg.origin.email.message-id
Сохранение расширенных атрибутов
Команда
Сохраняет по умолчанию? / Требуемый флаг
cp
--archive
/
--preserve=all
/
--preserve=xattr
mv
Да
1
tar
--xattrs
для создания и
--xattrs-include='*'
для извлечения
bsdtar
-p
для извлечения
rsync
-X, --xattrs
cpio
Нет
gzip
Нет
pax
Нет
syncthing
при включении
syncXattrs
mv без предупреждения убирает расширенные атрибуты, если целевая файловая система их не поддерживает.
Чтобы сохранить расширенные атрибуты в текстовых редакторах, настройте их на усечение (truncate) файлов при сохранении вместо использования
rename(2)
.
[1]
Поддержка
Файловые системы
Все основные
файловые системы
Linux, в том числе
Ext4
,
Btrfs
,
ZFS
и
XFS
, поддерживают расширенные атрибуты. Ядро позволяет иметь имена расширенных атрибутов размером до 255 байт и значения до 64 КиБ, однако
Ext4
и
Btrfs
могут устанавливать меньшие ограничения, требуя, чтобы расширенные атрибуты умещались в «блок файловой системы».
NTFS
использует
альтернативные потоки данных
(Alternative Data Streams) для хранения пользовательских данных. По умолчанию должна использоваться опция монтирования
user_xattr
или
streams_interface=xattr
. Однако это может не поддерживаться, если используется
streams_interface=windows
.
NTFS-3G
поддерживает сопоставление альтернативных потоков данных с расширенными атрибутами в FUSE.
NFS
на данный момент не поддерживает расширенные атрибуты.
Программы
Приложение
Поддержка расширенных атрибутов
Примечания
baloo
user.xdg.tags
user.baloo.rating
caja
Да
Поддерживается расширениями caja-xattr-tags и caja.eiciel.
Chromium
Нет
Использовались для поддержки referrer и url, но были отключены из соображений приватности и безопасности. Смотрите также
CVE-2018-20483
.
brave
AUR
Нет
CURL
user.xdg.origin.url
user.xdg.referrer.url
Включется флагом
--xattrs
.
dolphin
user.baloo.rating
user.xdg.comment
user.xdg.tags
[2]
Dropbox
user.com.dropbox.attributes
emacs-vm
Нет
Удаляет имеющиеся атрибуты у mbox.
Epiphany
Нет
Exiftool
Нет
fd
Нет
findutils
Нет
Firefox
Нет
gallery-dl
AUR
Нет
Gwenview
user.xdg.tags
kfind
Нет
konqueror
Нет
kio
[3]
Nautilus
Нет
recoll
user.xdg.tags
tagspaces
AUR
Нет
tmsu
AUR
Нет
Thunar
Нет
youtube-dl
AUR
,
yt-dlp
user.xdg.referrer.url
user.dublincore.title
user.dublincore.date
user.dublincore.description
user.dublincore.contributor
user.dublincore.format
Включается флагом
--xattrs
.
Wget
user.xdg.origin.url
user.xdg.referrer.url
Включается флагом
--xattrs
.
Webkit
Нет
Другие системы тегов
Расширенные атрибуты могут оказаться недоступны из-за отсутствия поддержки со стороны файловой системы или программ. Поэтому многие медиаформаты позволяют хранить метаданные прямо внутри файла, и просмотреть их можно с помощью программ типа
Exiftool
или более специализированных, например
id3
AUR
для аудио.
Для любых файлов:
Exiftool
Для аудио:
Audio tag editors
Для видео:
ffprobe(1)
из
ffmpeg
gvfs
Другим решением, не зависящим от файловой системы, является
gvfs
— виртуальная файловая система Gnome, которая используется для хранения метаданных (gvfsd-metadata). Например, Firefox
хранит метаданные
таким образом, и их можно просмотреть с помощью команды:
$ gio info --attributes=metadata::
скачанный-файл.html
Другие программы, использующие этот подход:
Thunar
: для сохранения цветов файлов.
Смотрите также
XDG guidelines for extended attributes
wikipedia:Extended file attributes#Linux
Extended attributes: the good, the not so good, the bad.