Atrybut pliku — File attribute

Atrybuty plików to rodzaj metadanych, które opisują i mogą modyfikować zachowanie plików i/lub katalogów w systemie plików . Typowe atrybuty pliku mogą na przykład wskazywać lub określać, czy plik jest widoczny, modyfikowalny, skompresowany lub zaszyfrowany. Dostępność większości atrybutów plików zależy od obsługi przez podstawowy system plików (taki jak FAT , NTFS , ext4 ), gdzie dane atrybutów muszą być przechowywane wraz z innymi strukturami kontrolnymi. Każdy atrybut może mieć jeden z dwóch stanów: ustawiony i wyczyszczony. Atrybuty są uważane za różne od innych metadanych, takich jak daty i godziny, rozszerzenia nazw plików lubuprawnienia systemu plików . Oprócz plików foldery , woluminy i inne obiekty systemu plików mogą mieć atrybuty.

DOS i Windows

Tradycyjnie, w DOS i Microsoft Windows , pliki i foldery przyjął cztery atrybuty:

  • Archiwum (A): Po ustawieniu wskazuje, że plik hosta zmienił się od czasu ostatniejoperacji tworzenia kopii zapasowej . System plików Windows ustawia ten atrybut na każdym pliku, który uległ zmianie. Oprogramowanie do tworzenia kopii zapasowych ma wówczas obowiązek wyczyszczenia go po pomyślnej pełnej lub przyrostowej kopii zapasowej (nie różnicowej).
  • Ukryty (H): Po ustawieniu wskazuje, że plik hosta jest ukryty. Polecenia MS-DOS, takie jak diri aplikacje Windows, takie jak Eksplorator plików, domyślnie nie wyświetlają ukrytych plików, chyba że zostaną o to poproszone.
  • System (S): Po ustawieniu wskazuje, że plik hosta jest krytycznym plikiem systemowym niezbędnym do prawidłowego działania komputera. MS-DOS i Microsoft Windows używają go do oznaczania ważnych plików systemowych. Polecenia systemu MS-DOS, takie jak diri aplikacje Windows, takie jak Eksplorator plików, domyślnie nie wyświetlają plików systemowych, nawet jeśli są wyświetlane ukryte pliki, chyba że zostanie o to poproszony.
  • Tylko do odczytu (R): Po ustawieniu wskazuje, że plik nie powinien być zmieniany. Po otwarciu pliku interfejs API systemu plików zwykle nie przyznaje uprawnień do zapisu żądającej aplikacji, chyba że aplikacja wyraźnie tego zażąda. Atrybuty tylko do odczytu w folderach są zwykle ignorowane i wykorzystywane do innych celów.

Wraz z pojawieniem się nowych wersji systemu Windows firma Microsoft dodała do spisu dostępnych atrybutów w systemie plików NTFS , w tym między innymi:

Inne atrybuty wyświetlane w kolumnie „Atrybuty” Eksploratora Windows to:

  • Katalog (D): Wpis jest podkatalogiem zawierającym własne wpisy plików i katalogów.
  • Punkt ponownej analizy (L): Plik lub katalog ma skojarzony punkt ponownej analizy lub jest dowiązaniem symbolicznym .
  • Offline (O): Dane pliku są fizycznie przenoszone do magazynu offline (magazyn zdalny).
  • Sparse (P): Plik jest plikiem rzadkim , tzn. jego zawartość jest częściowo pusta i nieciągła.
  • Tymczasowy (T): Plik jest używany do tymczasowego przechowywania.

W systemach DOS, OS/2 i Windows attribpolecenie w cmd.exe i command.com może służyć do zmiany i wyświetlenia czterech tradycyjnych atrybutów plików. Eksplorator plików w systemie Windows może pokazywać siedem wymienionych atrybutów, ale nie może ustawić ani wyczyścić atrybutu System. Windows PowerShell , który stał się składnikiem systemu Windows 7 i nowszych, zawiera dwa polecenia, które mogą odczytywać i zapisywać atrybuty: Get-ItemPropertyi Set-ItemProperty. Aby zmienić atrybut w pliku w systemie Windows NT , użytkownik musi mieć odpowiednie uprawnienia w systemie plików, znane jako Zapis atrybutów i Zapis rozszerzonych atrybutów .

Unix i POSIX

W systemach uniksowych i uniksopodobnych, włączając w to systemy zgodne z POSIX , każdy plik ma 'tryb' zawierający 9-bitowe flagi kontrolujące prawa odczytu, zapisu i wykonywania dla każdego właściciela pliku, grupy i wszystkich innych użytkowników (zobacz Uprawnienia systemu plików §Tradycyjne uprawnienia Uniksa, aby uzyskać więcej szczegółów) plus flagi bitów setuid i setgid oraz flaga „lepkiego” bitu . Tryb określa również typ pliku (zwykły plik, katalog lub inny specjalny rodzaj).

4.4BSD i instrumenty pochodne

W 4.4BSD i 4.4BSD-Lite pliki i katalogi (foldery) przyjmowały cztery atrybuty, które mógł ustawić właściciel pliku lub superużytkownik (atrybuty „Użytkownika”) oraz dwa atrybuty, które mógł ustawić tylko superużytkownik ( atrybuty „Systemu”):

  • (Użytkownik) Bez zrzutu : Po ustawieniu wskazuje, że plik lub katalog nie powinien być zapisywany podczas operacji tworzenia kopii zapasowej .
  • (Użytkownik i system) Niezmienny : Gdy jest ustawiony, wskazuje, że plik lub katalog nie powinien być zmieniany. Próby otwarcia pliku do zapisu, utworzenia pliku w katalogu, usunięcia pliku z katalogu, zmiany nazwy pliku w katalogu, zmiany nazwy pliku lub katalogu albo usunięcia pliku lub katalogu zakończą się błędem uprawnień.
  • (Użytkownik i system) Tylko dopisz : Po ustawieniu wskazuje, że plik powinien być tylko dodawany.
  • (Użytkownik) Nieprzezroczysty : Gdy jest ustawiony na katalog, wskazuje, że katalog jest nieprzezroczysty, gdy jest oglądany przez stos unii .

FreeBSD dodał kilka dodatkowych atrybutów, wspieranych również przez DragonFly BSD :

  • (Użytkownik i system) No-unlink : Po ustawieniu wskazuje, że plik lub katalog nie powinien być zmieniany ani usuwany. Próby zmiany nazwy lub usunięcia pliku lub katalogu zakończą się niepowodzeniem z błędem uprawnień.

FreeBSD obsługuje również:

  • (System) No-archive : Po ustawieniu wskazuje, że plik lub katalog nie powinien być archiwizowany.
  • (System) Migawka : Gdy jest ustawiona, wskazuje, że plik lub katalog jest plikiem migawki. Ten atrybut jest utrzymywany przez system i nie może być ustawiony nawet przez superużytkownika.

podczas gdy DragonFly BSD obsługuje:

  • (Użytkownik i system) Brak historii : Po ustawieniu wskazuje, że historia nie powinna być zachowywana dla pliku lub katalogu.
  • (Użytkownik) Swapcache : Gdy jest ustawiona, wskazuje, że czyste dane systemu plików dla pliku lub katalogu i wszystkiego pod katalogiem powinny być buforowane w przestrzeni wymiany na dysku SSD .
  • (System) Swapcache : Gdy jest ustawiona, wskazuje, że czyste dane systemu plików dla pliku lub katalogu i wszystkiego pod katalogiem nie powinny być buforowane w przestrzeni wymiany na dysku SSD.
  • (System) Zarchiwizowane : Gdy jest ustawione, wskazuje, że plik lub katalog może zostać zarchiwizowany.

NetBSD dodał kolejny atrybut, również obsługiwany przez OpenBSD :

  • (System) Zarchiwizowane : Gdy jest ustawione, wskazuje, że plik lub katalog jest zarchiwizowany.

macOS dodał trzy atrybuty:

  • (User) Hidden : Gdy jest ustawiona, wskazuje, że plik lub katalog nie powinien domyślnie być wyświetlany w GUI; ls jednak to wyświetli.
  • (System) Ograniczony : Po ustawieniu wskazuje, że plik lub katalog będzie chroniony przez Ochronę integralności systemu
  • (Użytkownika i systemowe) Sprężone : atrybut tylko do odczytu plików skompresowany przy użyciu HFS + kompresji

W tych systemach komendy chflagsi lsmogą służyć do zmiany i wyświetlania atrybutów plików. Aby zmienić atrybut „użytkownik” w pliku w systemach operacyjnych wywodzących się z 4.4BSD, użytkownik musi być właścicielem pliku lub superużytkownikiem; aby zmienić atrybut „system”, użytkownik musi być superużytkownikiem.

Linux

System operacyjny Linux może obsługiwać szeroki zakres atrybutów plików, które mogą być wyświetlane przez lsattrpolecenie i modyfikowane, jeśli to możliwe, przez chattrpolecenie. Programy mogą badać i zmieniać atrybuty za pomocą operacji ioctl .

Wiele systemów plików Linux obsługuje tylko ograniczony zestaw atrybutów i żaden z nich nie obsługuje każdego atrybutu, który chattrmoże się zmienić. Systemy plików, które obsługują przynajmniej niektóre atrybuty, to ext4 , XFS i btrfs .

Typowe atrybuty plików obsługiwane przez wiele popularnych systemów plików Linux
Atrybut flaga lsattr opcja czatu Semantyka i uzasadnienie
Brak atimeaktualizacji A +A,-A atime rekord nie jest modyfikowany, gdy plik jest odczytywany / dostępne.
Tylko dołączanie a +a,-a

Zapisywanie do pliku dozwolone tylko w trybie dołączania.

Niezmienny i +i,-i

Zapobiega wszelkim zmianom w zawartości lub metadanych pliku: plik/katalog nie może być zapisywany, usuwany, zmieniany ani nie może być połączony na stałe.

Bez zrzutu d +d,-d Plik jest pomijany przez program zrzutu
Bezpieczne usuwanie s +s,-s Żądania, które po usunięciu, wszystkie bloki danych pliku są wypełnione zerami .
Aktualizacje synchroniczne S +S,-S Zmiany są zapisywane synchronicznie na podstawowym nośniku pamięci systemu plików; odpowiednik opcji montowania „sync” dla plików, których dotyczy problem.

Zobacz też

Bibliografia

Zewnętrzne linki