Erweiterte Dateiattribute

Erweiterte Dateiattribute sind Dateisystem Funktionen, mit denen Benutzer verknüpfen können Computerdateien mit Metadaten Nicht vom Dateisystem interpretiert, während regelmäßige Attribute einen Zweck des Dateisystems strikt definiert haben (wie z. Berechtigungen oder Aufzeichnungen über Erstellungs- und Änderungszeiten). nicht wie Gabeln, die normalerweise so groß wie die maximale Dateigröße sein kann, sind erweiterte Attribute normalerweise auf einen Wert begrenzt, der signifikant kleiner ist als die maximale Dateigröße. Die typischen Verwendungen umfassen das Speichern des Autors eines Dokuments, die Zeichenkodierung eines einfachen Textes oder a Überprüfung, Kryptografischer Hash oder digitales Zertifikat, und Diskretionäre Zugangskontrolle Information.

Im Unix-artig Systeme, erweiterte Attribute werden normalerweise als abgekürzt xattr.[1]

Implementierungen

AIX

Im AIXDas JFS2 V2 -Dateisystem unterstützt erweiterte Attribute, auf die mit dem zugegriffen werden kann Getea Befehl.[2] Das Getea,[3] setea,[4] Listea,[5] Statea,[6] und entfernen[7] APIs unterstützt das Abrufen, Einstellen, Auflisten, Erhalten von Informationen zu und das Entfernen erweiterter Attribute.

Beos/Haiku

In der inzwischen aufgelösten Beos und Nachfolger mögen Haiku, erweiterte Dateiattribute werden in Basis- und Drittanbietern häufig verwendet. Das Dateisystem sein Ermöglicht die Indexierung und Abfrage von Attributen, wobei das Dateisystem im Wesentlichen angibt Datenbank-ähnliche Eigenschaften. Die Verwendungen erweiterter Attribute in Be-ähnlichen Systemen sind unterschiedlich: Zum Beispiel, zum Beispiel, Tracker und Opentracker, die Datei-Manager von Beos und Haiku, die beide die Standorte der Dateisymbole in Attributen speichern.[8] Haikus "Mail" -Service speichert alle Nachrichteninhalte und Metadaten in erweiterten Dateiattributen.[9] und die MIME -Dateien werden in ihren Attributen gespeichert. Erweiterte Dateiattribute können in der GUI von Be-Like Systems über den Dateimanager, häufig Tracker oder Ableitungen davon angezeigt und bearbeitet.

Freebsd

Im Freebsd 5.0 und später die UFS1UFS2- und ZFS -Dateisysteme unterstützen erweiterte Attribute mithilfe der extattr_[10] Familie von Systemanrufen. Jede reguläre Datei kann eine Liste erweiterter Attribute haben. Jedes Attribut besteht aus einem Namen und den zugehörigen Daten. Der Name muss a sein NULL-terminierte Zeichenfolgeund existiert in einem Namespace, der durch einen Namenspace-Kennung kleiner Intenzern identifiziert wird. Derzeit gibt es zwei Namespaces: Benutzer und System. Der Benutzernamenspace hat keine Einschränkungen hinsichtlich der Benennung oder des Inhalts. Der System -Namespace wird hauptsächlich vom Kernel für verwendet Zugriffskontrolllisten und Obligatorische Zugangskontrolle.

Linux

Im Linux, das ext2, ext3, ext4, JFS, Squashfs, Ubifs, Yaffs2, Reiserfs, Reiser4, Xfs, Btrfs, Orangefs, Lüster, OCFS2 1.6, ZFS, und F2fs[11] Dateisysteme unterstützen erweiterte Attribute (abgekürzt xattr) Wenn in der Kernelkonfiguration aktiviert. Jede regelmäßige Datei oder Verzeichnis kann erweiterte Attribute haben, die aus einem Namen und zugehörigen Daten bestehen. Der Name muss a sein NULL-terminierte Zeichenfolge vorangestellt durch a Namespace Kennung und ein Punktcharakter. Derzeit gibt es vier Namespaces: Benutzer, Vertrauen, Sicherheit und System. Der Benutzernamenspace hat keine Einschränkungen hinsichtlich der Benennung oder des Inhalts. Der System -Namespace wird hauptsächlich vom Kernel für verwendet Zugriffskontrolllisten. Der Sicherheitsnamenspace wird von verwendet Selinux, zum Beispiel.

Unterstützung für das erweiterte Attributkonzept aus einem POSIX.1E -Entwurf, der 1997 zurückgezogen worden war, wurde um 2002 zu Linux hinzugefügt.[12][13] Ab 2016 sind sie noch nicht in weitem weit verbreiteter Linux-Programme verwendet, werden aber von verwendet Beagle, OpenStack Swift, Dropbox, Kde's semantische Metadaten -Framework (Baloo), Chrom, Wget und Locken.

Der Linux -Kernel ermöglicht das erweiterte Attribut, Namen von bis zu 255 Bytes und Werten von bis zu 64 KIB zu haben.[14] ebenso Xfs und Reiserfs, aber ext2/3/4 und Btrfs Legen Sie viel kleinere Grenzen auf und benötigen alle Attribute (Namen und Werte) einer Datei in einen "Dateisystemblock" (normalerweise 4 KIB). Pro pox.1e müssen die Namen mit einem von beginnen Sicherheit, System, Vertrauenswürdige, und Benutzer plus eine Periode. Dies definiert die vier Namespaces von erweiterten Attributen.[15]

Erweiterte Attribute können mit dem zugegriffen und geändert werden getfattr und setfattr Befehle aus dem Attr Paket für die meisten Verteilungen.[16] Die APIs werden genannt getxattr und setxattr.

Mac OS

Mac OS X 10.4 und spätere Unterstützung erweiterte Attribute durch Nutzung des HFS+ Dateisystemattribute -Datei B*-Tree Feature, die benannte forks ermöglicht. Obwohl die benannten Forks in HFS+ in willkürlich großen Datenmengen im Rahmen des Ausmaßes beliebig große Datenmengen unterstützen, unterstützt die OS-Unterstützung für erweiterte Attribute nur Inline-Attribute und beschränkt ihre Größe auf die, die in einen einzelnen B*-Tree-Knoten passen können. Jede reguläre Datei kann eine Liste erweiterter Attribute haben. HFS+ unterstützt eine willkürliche Anzahl benannter Forks, und es ist nicht bekannt, ob Mac OS Legt die Anzahl der erweiterten Attribute begrenzt.

Jedes Attribut besteht aus einem Namen und den zugehörigen Daten. Der Name ist a null-terminiert Unicode Saite. Es sind keine Namespace -Beschränkungen vorhanden (Machen Sie dies zu einem Öffnen Sie xattr System) und die Konvention besteht darin, eine umgekehrte DNS -Zeichenfolge zu verwenden (ähnlich wie Einheitliche Kennungen vom Typ) als Attributname.

macOS unterstützt die Auflistung,[17] bekommen,[18] Einstellung,[19] und Entfernen[20] Erweiterte Attribute aus Dateien oder Verzeichnissen unter Verwendung einer Linux-ähnlichen API. Aus der Befehlszeile werden diese Fähigkeiten durch die freigelegt xattr Dienstprogramm.[21]

Seit MacOS 10.5 sind Dateien, die aus dem Web stammen com.apple.quarantine über erweiterte Dateiattribute.[22] In einigen älteren Versionen von macOS (wie z. Mac OS X 10.6), Benutzerraum erweiterte Attribute wurden nicht gemeinsam aufbewahrt Kakao Anwendungen (textedit, Vorschau usw.).

OpenBSD

Die Unterstützung für erweiterte Dateiattribute wurde aus dem entfernt OpenBSD Quellcode im Jahr 2005 aufgrund mangelnder Interesse an Zugriffskontrolllisten.[23]

OS/2

Im OS/2 Version 1.2 und später die Hochleistungsdateisystem wurde unter Berücksichtigung erweiterter Attribute entworfen, aber die Unterstützung für sie wurde auch auf dem retro eingerichtet FETT Dateisystem von dos. Für die Kompatibilität mit anderen Betriebssystemen unter Verwendung einer Fettpartition werden OS/2 -Attribute in einer einzelnen Datei gespeichert. "EA DATA. SF"Befindet sich im Stammverzeichnis. Diese Datei ist normalerweise unzugänglich, wenn ein Betriebssystem, das erweiterte Attribute unterstützt Cluster In dieser Datei. Die logische Clusternummer des ersten gebrauchten Cluster wird in den Besitzdateien oder Verzeichnissen des Verzeichnisses gespeichert Verzeichniseintrag.[24] Diese beiden Bytes werden für andere Zwecke im FAT32 -Dateisystem verwendet, und daher können in diesem Dateisystem nicht erweiterte Attribute von OS/2 -Attributen gespeichert werden.

Teile von OS/2 Version 2.0 und später wie die Arbeitsplatzschale verwendet mehrere standardisierte erweiterte Attribute (auch genannt EAS) Für Zwecke wie die Identifizierung des Filetyps, Kommentare, Computersymbole und Schlüsselwörter über die Datei. Programme in der interpretierten Sprache geschrieben Rexx Lagern Sie bereits analysiert Version des Codes als erweitertes Attribut, um eine schnellere Ausführung zu ermöglichen.

Solaris

Solaris Version 9 und später ermöglicht Dateien "erweiterte Attribute", die tatsächlich sind Gabeln; Die maximale Größe eines "erweiterten Attributs" entspricht der maximalen Größe einer Datei und werden auf die gleiche Weise wie Dateien gelesen und geschrieben. Intern werden sie tatsächlich wie normale Dateien gespeichert und zugegriffen, sodass ihre Namen nicht enthalten können "/" Zeichen[25] und ihre Eigentümer und Berechtigungen können sich von denen der übergeordneten Datei unterscheiden.

Version 4 der Netzwerkdateisystem Unterstützt erweiterte Attribute in ähnlicher Weise wie Solaris.

Windows NT

An Windows NT, verlängerte Attribute mit begrenzter Länge werden von gestützt von FETT,[24] HPFS, und NTFS. Dies wurde als Teil der implementiert OS/2 -Subsystem. Sie werden besonders von der verwendet NFS Server der Interix POSIX-Subsystem Um Unix-ähnliche Berechtigungen zu implementieren. Das Windows -Subsystem für Linux hinzugefügt in der Windows 10 Jubiläumsaktualisierung Verwendet sie für ähnliche Zwecke und speichert den Linux -Dateimodus, den Eigentümer, die Geräte -ID (falls zutreffend) und Dateizeiten in den erweiterten Attributen.[26]

Zusätzlich, NTFS kann verlängerte Attribute in Form von beliebiger Länge speichern Alternative Datenströme (Anzeigen), eine Art von Art von Ressourcengabel. Plugins für den Dateimanager Total Commander, wie NTFS -Beschreibungen und QuickSearch erweitert Unterstützung der Dateiliste durch die Dateiliste oder Suche nach Metadaten, die in Anzeigen enthalten sind.[27][28] NTFS-3G Unterstützt die Zuordnung von Anzeigen zu erweiterten Attributen in SICHERUNG; Auf diese Weise werden auch Dateiattribute abgebildet.[29]

Siehe auch

Verweise

  1. ^ xattr (7)- -Linux Programmierer Handbuch - Übersicht, Konventionen und Verschiedenes
  2. ^ "Getea Command". IBM AIX V7.2 Dokumentation. IBM. Abgerufen 2017-07-11.
  3. ^ "Getea Subroutine". IBM AIX V7.2 Dokumentation: Basisbetriebssystem und Erweiterungen, Band 1. IBM. Abgerufen 2017-07-11.
  4. ^ "SETEA Subroutine". IBM AIX V7.2 Dokumentation: Basisbetriebssystem und Erweiterungen, Band 2. IBM. Abgerufen 2017-07-11.
  5. ^ "LISTEA Subroutine". IBM AIX V7.2 Dokumentation: Basisbetriebssystem und Erweiterungen, Band 1. IBM. Abgerufen 2017-07-11.
  6. ^ "Statea -Unterroutine". IBM AIX V7.2 Dokumentation: Basisbetriebssystem und Erweiterungen, Band 2. IBM. Abgerufen 2017-07-11.
  7. ^ "Unterroutine entfernen". IBM AIX V7.2 Dokumentation: Basisbetriebssystem und Erweiterungen, Band 2. IBM. Abgerufen 2017-07-11.
  8. ^ "Attribute". Haiku -Benutzerhandbuch. Haiku, Inc. Abgerufen 28. Januar 2021.
  9. ^ "Workshop: E -Mails verwalten". Haiku -Benutzerhandbuch. Haiku, Inc. Abgerufen 28. Januar 2021.
  10. ^ Extattr (2)- -Freebsd Systemaufrufe Handbuch
  11. ^ Kim, Jaeguk (2012-10-05). "[Patch 13/16] F2FS: Fügen Sie XATTR- und ACL -Funktionen hinzu". Abgerufen 2017-07-11.
  12. ^ "V2.5.3 Git Commit Log". 2002-02-05. Abgerufen 2017-07-11.
  13. ^ "Red Hat Enterprise Linux als 3 Versionsnotizen (x86 Edition)". roter Hut. 2003. archiviert von das Original Am 2015-12-21. Abgerufen 2017-07-11. Die Funktionalität von EA (Extended Attribute) und ACL (Access Control Lists) steht jetzt für Ext3 -Dateisysteme zur Verfügung. Darüber hinaus ist die ACL -Funktionalität für NFS verfügbar.
  14. ^ "Linux/include/uapi/linux/limits.h". 2012-10-13. Abgerufen 2017-07-11.
  15. ^ xattr (7)- -Linux Programmierer Handbuch - Übersicht, Konventionen und Verschiedenes
  16. ^ "Befehle zum Manipulieren von Dateisystem -erweiterten Attributen". Gnu Savannah. Abgerufen 2017-07-11.
  17. ^ Listxattr (2)- -Darwin und Mac OS Systemaufrufe Handbuch
  18. ^ getXattr (2)- -Darwin und Mac OS Systemaufrufe Handbuch
  19. ^ setxattr (2)- -Darwin und Mac OS Systemaufrufe Handbuch
  20. ^ REMEDXATTR (2)- -Darwin und Mac OS Systemaufrufe Handbuch
  21. ^ xattr (1)- -Darwin und Mac OS Allgemeine Befehle Handbuch
  22. ^ "Launch Services Versionsnotizen". Entwickler.apple.com.
  23. ^ Dale Rahn (2005-07-03). "CVS -Protokoll für SRC/SYS/UFS/UFS/ATTIC/EXTATTR.H".
  24. ^ a b Eager, Bob (2000-10-28). "Implementierung erweiterter Attribute im Fettdateisystem". Abgerufen 2017-07-11.
  25. ^ fsattr (5)- -Solaris 10 Standards, Umgebungen und Makros -Referenz Handbuch
  26. ^ Hammons, Jack (2016-06-15). "WSL -Dateisystem -Unterstützung". Msdn. Abgerufen 2017-07-11.
  27. ^ "NTFS -Beschreibungen 1.2.1". TotalCmd.net. Abgerufen 16. April 2018.
  28. ^ "QuickSearch erweitert". TotalCmd.net. Abgerufen 16. April 2018.
  29. ^ "Erweiterte Attribute". Tuxera.