Content deleted Content added
m Fix broken anchor: #Alternate data streams .28ADS.29→most alike anchor NTFS#Alternate data stream (ADS) |
Guy Harris (talk | contribs) →Windows NT: Slightly more parallel to the description of Linux extended attributes. |
||
(16 intermediate revisions by 11 users not shown) | |||
Line 1:
{{Short description|Set of file system features}}
'''Extended file attributes''' are [[file system]] features that enable users to associate [[computer file]]s with [[metadata]] not interpreted by the filesystem, whereas regular attributes have a purpose strictly defined by the filesystem (such as [[file system permissions|permissions]] or records of creation and modification times). Unlike [[fork (file system)|forks]], which can usually be as large as the maximum file size, extended attributes are usually limited in size to a value significantly smaller than the maximum file size. Typical uses include storing the author of a document, the [[character encoding]] of a plain-text document, or a [[cyclic redundancy check|checksum]], [[cryptographic hash]] or [[digital certificate]], and [[discretionary access control]] information.
Line 48 ⟶ 49:
===Linux===
In [[Linux]], the [[ext2]], [[ext3]], [[ext4]], [[JFS (file system)|JFS]], [[Squashfs]], [[UBIFS]], [[YAFFS|Yaffs2]], [[ReiserFS]], [[Reiser4]], [[XFS]], [[Btrfs]], [[OrangeFS]], [[Lustre (file system)|Lustre]], [[OCFS2|OCFS2 1.6]], [[ZFS]], and [[F2FS]]<ref>{{cite web
| url=
| title=[PATCH 13/16] f2fs: add xattr and acl functionalities
| first=Jaegeuk
Line 55 ⟶ 56:
| access-date=2017-07-11}}</ref> filesystems support extended attributes (abbreviated ''xattr'') when enabled in the kernel configuration. Any regular file or directory may have extended attributes consisting of a name and associated data. The name must be a [[null-terminated string]] prefixed by a [[namespace]] identifier and a dot character. Currently, four namespaces exist: user, trusted, security and system. The user namespace has no restrictions with regard to naming or contents. The system namespace is primarily used by the kernel for [[access control list]]s. The security namespace is used by [[SELinux]], for example.
Support for the extended attribute concept from a POSIX.1e draft{{cn|date=July 2020}} that had been withdrawn<ref>{{cite newsgroup | url=https://groups.google.com/g/comp.security.unix/c/gfyLMetqubs/m/hipaUcdWosAJ | title=Posix.1e? |first=Casey |last=Schaufler |date=2002-04-30 |newsgroup=comp.security.unix}}</ref> in 1997 was added to Linux around 2002.<ref>{{cite web
| title=v2.5.3 git commit log
| url=https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git/commit/include/?id=1ea864f1c53bc771294e61cf9be43b1d22e78f4c
Line 65 ⟶ 66:
| year=2003
| publisher=[[Red Hat]]
| archive-url=https://web.archive.org/web/
| archive-date=
| url-status=dead
| access-date=2017-07-11}}</ref>
As of 2016, they are not yet in widespread use by user-space Linux programs, but are used by [[Beagle (software)|Beagle]], [[OpenStack#Object
The Linux kernel allows extended
| url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/limits.h?id=607ca46e97a1b6594b29647d98a32d545c24bdff#n15
| title=linux/include/uapi/linux/limits.h
Line 98 ⟶ 100:
In [[OS/2]] version 1.2 and later, the [[High Performance File System]] was designed with extended attributes in mind, but support for them was also retro-fitted on the [[File Allocation Table|FAT]] filesystem of DOS.
For compatibility with other operating systems using a FAT partition, OS/2 attributes are stored inside a single file "{{code|EA DATA. SF}}" located in the root directory. This file is normally inaccessible when an operating system supporting extended attributes manages the disk, but can be freely manipulated under, for example, DOS. Files and directories having extended attributes use one or more [[cluster (file system)|clusters]] inside this file. The logical cluster number of the first used cluster is stored inside the owning file's or directory's [[FAT extended file attributes|directory entry]].<ref name="os2-fat-extended-attributes">{{cite web
| url=
| title=Implementation of extended attributes on the FAT file system
| first=Bob
Line 109 ⟶ 111:
===Solaris===<!-- This section is linked from [[Solaris (operating system)]] -->
[[Solaris (operating system)|Solaris]] version 9 and later allows files to have "extended attributes", which are actually [[fork (file system)|fork]]s; the maximum size of an "extended attribute" is the same as the maximum size of a file, and they are read and written in the same fashion as files. Internally, they are actually stored and accessed like normal files, so their names cannot contain "/" characters<ref>{{man|
Version 4 of the [[Network File System]] supports extended attributes in much the same way as Solaris.
===Windows NT===
On [[Windows NT]],
| url=https://blogs.msdn.microsoft.com/wsl/2016/06/15/wsl-file-system-support/
| title=WSL File System Support
Line 123 ⟶ 125:
| access-date=2017-07-11}}</ref>
Additionally, [[NTFS]] can store arbitrary-length extended attributes in the form of [[NTFS#Alternate data stream (ADS)|alternate data streams]] (ADS), a type of [[Fork (file system)|resource fork]]. Plugins for the file manager [[Total Commander]], like ''NTFS Descriptions'' and ''QuickSearch eXtended'' support filtering the file list by or searching for metadata contained in ADS.<ref>{{cite web|url=https://totalcmd.net/plugring/NTFS_diz.html|title=NTFS Descriptions 1.2.1|website=TotalCmd.net|access-date=16 April 2018}}</ref><ref>{{cite web|url=
==See also==
|