Dateiattribut - File attribute
Dateiattribute sind eine Art von Metadaten , die beschreiben und ändern können, wie sich Dateien und/oder Verzeichnisse in einem Dateisystem verhalten. Typische Dateiattribute können beispielsweise angeben oder spezifizieren, ob eine Datei sichtbar, veränderbar, komprimiert oder verschlüsselt ist. Die Verfügbarkeit der meisten Dateiattribute hängt von der Unterstützung durch das zugrunde liegende Dateisystem (wie FAT , NTFS , ext4 ) ab, in dem Attributdaten zusammen mit anderen Kontrollstrukturen gespeichert werden müssen. Jedes Attribut kann einen von zwei Zuständen haben: gesetzt und gelöscht. Attribute werden von anderen Metadaten wie Datums- und Uhrzeitangaben, Dateinamenerweiterungen oder Dateisystemberechtigungen unterschieden . Neben Dateien können Ordner , Volumes und andere Dateisystemobjekte Attribute haben.
DOS und Windows
Traditionell in DOS und Microsoft Windows , Dateien und Ordner akzeptierten vier Attribute:
- Archiv (A): Wenn gesetzt, zeigt es an, dass sich die Hosting-Datei seit dem letzten Backup- Vorganggeändert hat. Das Dateisystem von Windows setzt dieses Attribut für jede Datei, die sich geändert hat. Die Backup-Software hat dann die Pflicht, sie nach einem erfolgreichen vollständigen oder inkrementellen Backup (kein differenzielles Backup) zu löschen.
-
Versteckt (H): Wenn diese Option gesetzt ist, ist die Hosting-Datei versteckt. MS-DOS-Befehle wie
dirund Windows-Apps wie der Datei-Explorer zeigen standardmäßig keine versteckten Dateien an, es sei denn, Sie werden dazu aufgefordert. -
System (S): Wenn diese Option festgelegt ist, ist die Hosting-Datei eine kritische Systemdatei, die für den ordnungsgemäßen Betrieb des Computers erforderlich ist. MS-DOS und Microsoft Windows verwenden es, um wichtige Systemdateien zu markieren. MS-DOS-Befehle wie
dirund Windows-Apps wie der Datei-Explorer zeigen standardmäßig keine Systemdateien an, auch wenn versteckte Dateien angezeigt werden, es sei denn, Sie werden dazu aufgefordert. - Schreibgeschützt (R): Wenn festgelegt, bedeutet dies, dass eine Datei nicht geändert werden soll. Beim Öffnen der Datei erteilt die Dateisystem- API der anfordernden Anwendung normalerweise keine Schreibberechtigung, es sei denn, die Anwendung fordert dies ausdrücklich an. Schreibgeschützte Attribute für Ordner werden normalerweise ignoriert und für einen anderen Zweck verwendet.
Als neue Versionen von Windows herauskamen, hat Microsoft das Inventar der verfügbaren Attribute im NTFS- Dateisystem erweitert, einschließlich, aber nicht beschränkt auf:
- Komprimiert (C): Wenn diese Option festgelegt ist, komprimiert Windows die Hosting-Datei beim Speichern. Weitere Informationen finden Sie unter NTFS § Dateikomprimierung .
- Verschlüsselt (E): Wenn diese Einstellung aktiviert ist , verschlüsselt Windows die Hosting-Datei beim Speichern, um unbefugten Zugriff zu verhindern. Weitere Informationen finden Sie unter NTFS § Verschlüsselung .
- Nicht inhaltsindiziert (I): Wenn festgelegt, schließen Indexdienst oder Windows-Suche die Hosting-Datei nicht in ihren Indexierungsvorgang ein.
Andere Attribute, die in der Spalte "Attribute" des Windows Explorers angezeigt werden, sind:
- Verzeichnis (D): Der Eintrag ist ein Unterverzeichnis , das eigene Datei- und Verzeichniseinträge enthält.
- Analysepunkt (L): Die Datei oder das Verzeichnis hat einen zugeordneten Analysepunkt oder ist ein symbolischer Link .
- Offline (O): Die Dateidaten werden physisch in den Offline-Speicher (Remote Storage) verschoben.
- Sparse (P): Die Datei ist eine Sparse-Datei , dh ihr Inhalt ist teilweise leer und nicht zusammenhängend.
- Temporär (T): Die Datei wird zur temporären Speicherung verwendet.
Unter DOS, OS/2 und Windows kann der attribBefehl in cmd.exe und command.com verwendet werden, um die vier traditionellen Dateiattribute zu ändern und anzuzeigen. Der Datei-Explorer in Windows kann die sieben erwähnten Attribute anzeigen, aber das Systemattribut kann nicht gesetzt oder gelöscht werden. Windows PowerShell , das zu einer Komponente von Windows 7 und höher geworden ist, bietet zwei Befehle, die Attribute lesen und schreiben können: Get-ItemPropertyund Set-ItemProperty. Um ein Attribut einer Datei unter Windows NT zu ändern , muss der Benutzer über die entsprechenden Dateisystemberechtigungen verfügen , die als Write Attributes und Write Extended Attributes bekannt sind .
Unix und POSIX
In Unix- und Unix-ähnlichen Systemen, einschließlich POSIX- konformen Systemen, hat jede Datei einen 'Modus' mit 9-Bit-Flags, die die Lese-, Schreib- und Ausführungsberechtigung für jeden Eigentümer, die Gruppe und alle anderen Benutzer der Datei steuern (siehe Dateisystemberechtigungen §Traditionelle Unix-Berechtigungen für weitere Details) plus die setuid- und setgid- Bit-Flags und ein 'Sticky'-Bit-Flag . Der Modus gibt auch den Dateityp an (reguläre Datei, Verzeichnis oder eine andere spezielle Art).
4.4BSD und Derivate
In 4.4BSD und 4.4BSD-Lite akzeptierten Dateien und Verzeichnisse (Ordner) vier Attribute, die vom Eigentümer der Datei oder dem Superuser gesetzt werden konnten (die "Benutzer"-Attribute) und zwei Attribute, die nur vom Superuser gesetzt werden konnten ( die "System"-Attribute):
- (Benutzer) No-dump : Wenn diese Option gesetzt ist, bedeutet dies, dass die Datei oder das Verzeichnis während eines Sicherungsvorgangs nicht gespeichert werden soll.
- (Benutzer und System) Unveränderlich : Wenn diese Option festgelegt ist, bedeutet dies, dass die Datei oder das Verzeichnis nicht geändert werden soll. Versuche, die Datei zum Schreiben zu öffnen, eine Datei im Verzeichnis zu erstellen, eine Datei aus dem Verzeichnis zu entfernen, eine Datei im Verzeichnis umzubenennen, die Datei oder das Verzeichnis umzubenennen oder die Datei oder das Verzeichnis zu entfernen, schlagen mit einem Berechtigungsfehler fehl.
- (Benutzer und System) Nur anhängen : Wenn diese Option festgelegt ist, wird die Datei nur angehängt.
- (Benutzer) Undurchsichtig : Wenn auf ein Verzeichnis gesetzt, bedeutet dies, dass das Verzeichnis bei Betrachtung durch einen Union-Stack undurchsichtig ist .
FreeBSD hat einige zusätzliche Attribute hinzugefügt, die auch von DragonFly BSD unterstützt werden :
- (Benutzer und System) No-Unlink : Wenn diese Option festgelegt ist, bedeutet dies, dass die Datei oder das Verzeichnis nicht umbenannt oder entfernt werden soll. Versuche, die Datei oder das Verzeichnis umzubenennen oder zu entfernen, schlagen mit einem Berechtigungsfehler fehl.
FreeBSD unterstützt außerdem:
- (System) No-archive : Gibt an, dass die Datei oder das Verzeichnis nicht archiviert werden soll.
- (System) Snapshot : Wenn diese Option gesetzt ist, ist die Datei oder das Verzeichnis eine Snapshot-Datei. Dieses Attribut wird vom System verwaltet und kann nicht einmal vom Superuser gesetzt werden.
während DragonFly BSD unterstützt:
- (Benutzer und System) No-History : Wenn diese Einstellung gesetzt ist, soll die Historie für die Datei oder das Verzeichnis nicht aufbewahrt werden.
- (Benutzer) Swapcache : Gibt an , dass saubere Dateisystemdaten für die Datei oder für das Verzeichnis und alles unterhalb des Verzeichnisses im Auslagerungsbereich auf einem Solid-State-Laufwerk zwischengespeichert werden sollen .
- (System) Swapcache : Gibt an , dass saubere Dateisystemdaten für die Datei oder für das Verzeichnis und alles unterhalb des Verzeichnisses nicht im Auslagerungsbereich auf einem Solid-State-Laufwerk zwischengespeichert werden sollten.
- (System) Archiviert : Wenn diese Einstellung gesetzt ist, kann die Datei oder das Verzeichnis archiviert werden.
NetBSD hat ein weiteres Attribut hinzugefügt, das auch von OpenBSD unterstützt wird :
- (System) Archiviert : Wenn diese Einstellung gesetzt ist, wird die Datei oder das Verzeichnis archiviert.
macOS hat drei Attribute hinzugefügt:
- (Benutzer) Hidden : Wenn gesetzt, bedeutet dies, dass die Datei oder das Verzeichnis standardmäßig nicht in der GUI angezeigt werden soll; ls wird es jedoch anzeigen.
- (System) Restricted : Wenn diese Option festgelegt ist, wird die Datei oder das Verzeichnis durch den Systemintegritätsschutz geschützt
- (Benutzer und System) Komprimiert : Schreibgeschütztes Attribut für Dateien, die mit HFS+ -Komprimierung komprimiert wurden
In diesen Systemen die chflagsund lskönnen Befehle zu ändern und anzeigen Dateiattribute verwendet werden. Um ein "Benutzer"-Attribut einer Datei in von 4.4BSD abgeleiteten Betriebssystemen zu ändern, muss der Benutzer der Eigentümer der Datei oder der Superuser sein; um ein "system"-Attribut zu ändern, muss der Benutzer der Superuser sein.
Linux
Das Linux- Betriebssystem kann eine Vielzahl von Dateiattributen unterstützen, die durch den lsattrBefehl aufgelistet und nach Möglichkeit durch den chattrBefehl geändert werden können . Programme können Attribute mit ioctl- Operationen untersuchen und ändern .
Viele Linux-Dateisysteme unterstützen nur einen begrenzten Satz von Attributen, und keines von ihnen unterstützt alle Attribute, chattrdie sich ändern können. Zu den Dateisystemen, die zumindest einige Attribute unterstützen, gehören ext4 , XFS und btrfs .
| Attribut | Lsattr- Flagge | chattr- Option | Semantik und Begründung |
|---|---|---|---|
Keine atimeAktualisierungen
|
A
|
+A,-A
|
atime- Datensatz wird nicht geändert, wenn die Datei gelesen/zugegriffen wird. |
| Nur anhängen |
a
|
+a,-a
|
Schreiben in Datei nur im Append-Modus erlaubt. |
| Unveränderlich |
i
|
+i,-i
|
Verhindert jede Änderung des Inhalts oder der Metadaten der Datei: Datei/Verzeichnis kann nicht geschrieben, gelöscht, umbenannt oder fest verknüpft werden. |
| Kein Dump |
d
|
+d,-d
|
Datei wird vom Dump- Programm übersprungen |
| Sicheres Löschen |
s
|
+s,-s
|
Fordert an, dass beim Löschen alle Dateidatenblöcke mit Nullen gefüllt werden . |
| Synchrone Updates |
S
|
+S,-S
|
Änderungen werden synchron auf das darunterliegende Dateisystem-Speichermedium geschrieben; entspricht der Mount-Option 'sync' für betroffene Dateien. |
Siehe auch
Verweise
Externe Links
- Definition von: DOS Attrib im PC Magazine
- Versteckte Dateien in Unix-ähnlichen Betriebssystemen auf der Wayback Machine (archiviert am 17. Oktober 2007)
- Konstanten für Microsoft-Dateiattribute
- Win32-Dateiattribute