Atribute extinse ale fișierului - Extended file attributes

Atributele de fișiere extinse sunt caracteristici ale sistemului de fișiere care permit utilizatorilor să asocieze fișiere de computer cu metadate care nu sunt interpretate de sistemul de fișiere, în timp ce atributele obișnuite au un scop strict definit de sistemul de fișiere (cum ar fi permisiunile sau înregistrările timpilor de creare și modificare). Spre deosebire de furci , care pot fi de obicei la fel de mari ca dimensiunea maximă a fișierului, atributele extinse sunt de obicei limitate ca mărime la o valoare semnificativ mai mică decât dimensiunea maximă a fișierului. Utilizările tipice includ stocarea autorului unui document, codificarea caracterelor unui document cu text simplu sau o sumă de verificare , hash criptografic sau certificat digital și informații discreționare de control al accesului .

În sistemele tip Unix , atributele extinse sunt de obicei prescurtate ca xattr .

Implementări

AIX

În AIX , sistemul de fișiere JFS2 v2 acceptă atribute extinse, care sunt accesibile utilizând comanda getea . The getea , Setea , listea , statea si removeea API - uri suport la preluarea, setarea, listare, obținerea de informații cu privire la , și eliminarea atributelor extinse.

BeOS / Haiku

În BeOS -ul acum dispărut și succesorii ca Haiku , atributele de fișiere extinse sunt utilizate pe scară largă în programele de bază și terțe. Sistemul de fișiere Be permite indexarea și interogarea atributelor, oferind în esență caracteristicile bazei de date a sistemului de fișiere . Utilizările atributelor extinse în sistemele asemănătoare Be sunt variate: De exemplu, Tracker și OpenTracker , administratorii de fișiere BeOS și respectiv Haiku, ambele stochează locațiile pictogramelor fișierelor în atribute, serviciul „Mail” Haiku stochează tot conținutul mesajului și metadatele în atributele extinse ale fișierelor, iar tipurile de fișiere MIME sunt stocate în atributele lor. Atributele de fișiere extinse pot fi vizualizate și editate în interfața grafică a sistemelor Be-like prin intermediul managerului de fișiere, adesea Tracker sau derivate ale acestora.

FreeBSD

În FreeBSD 5.0 și versiunile ulterioare, sistemele de fișiere UFS1 , UFS2 și ZFS acceptă atribute extinse, utilizând familia extattr_ de apeluri de sistem. Orice fișier obișnuit poate avea o listă de atribute extinse. Fiecare atribut constă dintr-un nume și datele asociate. Numele trebuie să fie un șir terminat nul și să existe într-un spațiu de nume identificat printr-un identificator de spațiu de nume cu număr întreg. În prezent, există două spații de nume: utilizator și sistem. Spațiul de nume al utilizatorului nu are restricții în ceea ce privește denumirea sau conținutul. Spațiul de nume de sistem este utilizat în principal de către kernel - ul pentru listele de control al accesului și de control al accesului obligatoriu .

Linux

În Linux , sistemele de fișiere ext2 , ext3 , ext4 , JFS , Squashfs , UBIFS , Yaffs2 , ReiserFS , Reiser4 , XFS , Btrfs , OrangeFS , Luster , OCFS2 1.6 , ZFS și F2FS acceptă atribute extinse ( xattr abreviat ) atunci când sunt activate în nucleu configurare. Orice fișier sau director obișnuit poate avea atribute extinse constând dintr-un nume și date asociate. Numele trebuie să fie un șir terminat nul, prefixat de un identificator al spațiului de nume și un caracter punct. În prezent, există patru spații de nume: utilizator, încredere, securitate și sistem. Spațiul de nume al utilizatorului nu are restricții în ceea ce privește denumirea sau conținutul. Spațiul de nume al sistemului este utilizat în principal de kernel pentru listele de control al accesului . Spațiul de nume de securitate este utilizat de exemplu de SELinux .

Suportul pentru conceptul de atribut extins dintr-o schiță POSIX.1e care a fost retrasă în 1997 a fost adăugat la Linux în jurul anului 2002. Începând din 2016, acestea nu sunt încă utilizate pe scară largă de către programele Linux spațiu utilizator, dar sunt utilizate de Beagle , OpenStack Swift , Dropbox , cadrul de metadate semantice al KDE (Baloo), Chromium , Wget și cURL .

Nucleul Linux permite atribut extins pentru a avea nume de până la 255 de octeți și valori de până la 64 KiB, la fel ca și XFS și reiserfs , dar ext2 / cu 3 / cu 4 și Btrfs impune limite mult mai mici, care necesită toate atributele (nume și valori) a unui fișier pentru a se încadra într-un „bloc de sistem de fișiere” (de obicei, 4 KiB). Conform POSIX.1e, numele sunt necesare pentru a începe cu unul de securitate , sistem , de încredere și utilizator plus o perioadă. Aceasta definește cele patru spații de nume ale atributelor extinse.

Atributele extinse pot fi accesate și modificate folosind comenzile getfattrși setfattrdin attrpachet pe majoritatea distribuțiilor. API-urile sunt numite getxattrși setxattr.

macOS

Mac OS X 10.4 și versiunile ulterioare acceptă atribute extinse utilizând sistemul de fișiere HFS + Attributes File B * - caracteristică arborelui care permite furcile numite. Deși furculițele numite în HFS + acceptă cantități mari de date în mod arbitrar prin extinderi, suportul sistemului de operare pentru atributele extinse acceptă numai atributele în linie, limitându-le dimensiunea la cea care se poate încadra într-un singur nod arborescent B *. Orice fișier obișnuit poate avea o listă de atribute extinse. HFS + acceptă un număr arbitrar de furci denumite și nu se știe dacă macOS impune o limită numărului de atribute extinse.

Fiecare atribut constă dintr-un nume și din datele asociate. Numele este un șir Unicode terminat nul . Nu există restricții de spațiu de nume (ceea ce face acest lucru un sistem xattr deschis ) și convenția este de a utiliza un șir DNS invers (similar cu identificatorii de tip uniform ) ca nume de atribut.

macOS acceptă listarea, obținerea, setarea și eliminarea atributelor extinse din fișiere sau directoare utilizând un API de tip Linux. Din linia de comandă, aceste abilități sunt expuse prin intermediul utilitarului xattr .

De la macOS 10.5, fișierele care provin de pe web sunt marcate cu com.apple.quarantineatribute de fișiere extinse. În unele versiuni mai vechi de macOS (cum ar fi Mac OS X 10.6 ), atributele extinse ale spațiului utilizator nu au fost păstrate la salvarea în aplicațiile comune Cocoa (TextEdit, Preview etc.).

OpenBSD

Suportul pentru atributele de fișiere extinse a fost eliminat din codul sursă OpenBSD în 2005 din cauza lipsei de interes în Listele de control acces .

OS / 2

În versiunea 1.2 / ulterioară OS / 2 , sistemul de fișiere de înaltă performanță a fost proiectat cu atribute extinse în minte, dar suportul pentru acestea a fost, de asemenea, montat din nou pe sistemul de fișiere FAT al DOS. Pentru compatibilitate cu alte sisteme de operare care utilizează o partiție FAT, atributele OS / 2 sunt stocate într-un singur fișier " EA DATA. SF" situat în directorul rădăcină. Acest fișier este în mod normal inaccesibil atunci când un sistem de operare care acceptă atribute extinse gestionează discul, dar poate fi manipulat în mod liber sub, de exemplu, DOS. Fișierele și directoarele care au atribute extinse utilizează unul sau mai multe clustere în interiorul acestui fișier. Numărul de cluster logic al primului clusterului utilizate sunt stocate în fișierul sau directorul detinator de intrare director . Acești doi octeți sunt utilizați în alte scopuri pe sistemul de fișiere FAT32 și, prin urmare, atributele extinse OS / 2 nu pot fi stocate pe acest sistem de fișiere.

Părți din OS / 2 versiunea 2.0 și versiuni ulterioare, cum ar fi Workplace Shell, utilizează mai multe atribute extinse standardizate (numite și EA ) în scopuri precum identificarea tipului de fișier, comentariilor, pictogramelor computerului și cuvintelor cheie despre fișier. Programele scrise în limbajul interpretat Rexx stochează o versiune deja analizată a codului ca un atribut extins, pentru a permite executarea mai rapidă.

Solaris

Solaris versiunea 9 și versiunile ulterioare permite fișierelor să aibă „atribute extinse”, care sunt de fapt furculițe ; dimensiunea maximă a unui „atribut extins” este aceeași cu dimensiunea maximă a unui fișier și sunt citite și scrise în același mod ca fișierele. Pe plan intern, acestea sunt stocate și accesate ca fișiere normale, astfel încât numele lor nu pot conține caractere „/”, iar proprietatea și permisiunile lor pot diferi de cele ale fișierului părinte.

Versiunea 4 a sistemului de fișiere de rețea acceptă atribute extinse în același mod ca Solaris.

Windows NT

În Windows NT , atributele extinse cu lungime limitată sunt acceptate de FAT , HPFS și NTFS . Aceasta a fost implementată ca parte a subsistemului OS / 2 . Acestea sunt utilizate în special de serverul NFS al subsistemului POSIX Interix pentru a implementa permisiuni de tip Unix. Pentru Windows Subsistemul pentru Linux adăugat în Windows 10 aniversare Actualizare le utilizează în scopuri similare, stocarea modul Linux fișier, proprietar, ID - ul dispozitivului (dacă este cazul), și timpii de fișier în atributele extinse.

În plus, NTFS poate stoca atribute extinse de lungime arbitrară sub formă de fluxuri de date alternative (ADS), un tip de furcă de resurse . Pluginurile pentru managerul de fișiere Total Commander , precum descrierile NTFS și QuickSearch eXtended acceptă filtrarea listei de fișiere sau căutarea metadatelor conținute în ADS. NTFS-3G acceptă maparea ADS la atribute extinse în FUSE ; de asemenea, mapează atributele fișierelor în acest fel.

Vezi si

Referințe