Fact-checked by Grok 2 weeks ago

Extended file attributes

Extended file attributes, commonly known as xattrs, are name-value pairs that can be permanently associated with files and directories in a filesystem, functioning similarly to environment variables for processes and serving as an extension to standard inode attributes like permissions and timestamps. These attributes enable the storage of additional metadata, such as Access Control Lists (ACLs) or security labels, without modifying the file's primary content, and they are accessed atomically through system calls like getxattr(2) and setxattr(2). Their values contribute to disk usage quotas, and they are not part of the POSIX.1 standard, though similar mechanisms exist in systems like BSD, , macOS (HFS+/APFS), and Windows (alternate data streams). In , extended attributes are categorized into four namespaces to control access and purpose: user for arbitrary user-defined (e.g., types), accessible with standard file permissions; system for filesystem-managed like ACLs; security for kernel modules such as SELinux or ; and trusted for privileged user-space tools, requiring CAP_SYS_ADMIN capability. Names are limited to 255 bytes, values to 64 KiB, and the full list to 64 KiB via the (VFS) interface. Common uses include enforcing mandatory access controls, storing file capabilities for without setuid bits, and preserving application-specific tags during backups with tools like tar via the --xattrs option. For details on Linux-specific implementations, see the relevant sections below. Support for extended attributes varies by filesystem: , , and store them in inode space or external blocks, initially introduced for ACLs and data, with user-defined attributes enabled by the user_xattr mount option; since version 3.0, names no longer need to start with "user.". limits values to the nodesize (default 16 KiB), while , , and JFS adhere to VFS ceilings or scale dynamically. Extended attributes were integrated into the during the 2.5 development series around 2002, becoming a core VFS feature in subsequent releases. In networked filesystems, NFSv4 added optional support via extensions defined in RFC 8276, allowing manipulation of xattrs across clients and servers.

Fundamentals

Definition and Purpose

Extended file attributes, often abbreviated as xattrs, are name-value pairs that associate arbitrary opaque with files, directories, or other filesystem objects, serving as an extension to the standard attributes such as permissions, , timestamps, and . These attributes are not interpreted or enforced by the filesystem itself but are instead provided as a flexible mechanism for applications, users, and system components (including kernel modules) to store and utilize supplementary information, such as for enforcement. The primary purpose of extended file attributes is to enable the attachment of additional that enhances file management and functionality without modifying the core file content or requiring changes to the underlying filesystem structure. For instance, they can store details like author names, content descriptions, checksums for , signatures for , or custom tags for , thereby supporting advanced features such as improved search capabilities, content versioning, and enforcement. In practice, examples include types (user.mime_type), character encodings (user.charset), or labels like SELinux contexts (security.selinux), allowing applications to leverage this for tasks like automated indexing or . While the core concept of extended file attributes is consistent across many systems, implementations vary in details such as size limits and organization. Unlike file forks in systems like or alternate data streams in , extended file attributes are typically limited in size—often to a few kilobytes—and are stored atomically within the filesystem's index structures rather than as separate, potentially large data blobs that behave like independent files. This design promotes efficiency and integration, as the attributes remain closely tied to the primary file object without introducing the overhead of managing distinct streams. Overall, extended file attributes offer significant benefits by improving data organization through extensible , enabling application-specific enhancements without filesystem redesign, and providing a standardized way to handle non-traditional information across diverse operating environments. This approach fosters greater flexibility in how files are annotated and processed, ultimately aiding in more robust and feature-rich computing ecosystems.

Comparison to Standard File Attributes

Standard file attributes, as defined in POSIX-compliant filesystems, encompass core essential for basic file operations and system integrity. These include the file type (such as regular file, directory, or ), access permissions (read, write, execute bits for owner, group, and others), user and group ownership, timestamps for last access, modification, and status change, , link count, and a unique file (inode). These attributes are fixed, standardized, and stored directly in the file's inode structure, directly influencing behaviors like , visibility, and integrity checks across all supporting systems. In contrast, extended file attributes provide an optional mechanism to associate additional, user-defined with files and directories in the form of name-value pairs, often organized into namespaces to control access and purpose. For example, in , namespaces include , , , and trusted. Unlike standard attributes, which are mandatory and rigidly defined by the filesystem , extended attributes are flexible, allowing arbitrary key-value data—for example, in , with names up to 255 bytes and values up to 64 KiB, subject to filesystem limits—without altering core inode fields. Limits and structures vary by operating and filesystem. This separation ensures , as extended attributes do not interfere with standard operations and are ignored by systems lacking support for them. The primary advantages of extended attributes lie in their ability to extend functionality for application-specific needs while preserving the efficiency of standard attributes for fundamental tasks. Standard attributes manage essential and operational aspects, such as permission enforcement and timestamp-based caching, whereas extended attributes enable custom —like types or checksums—without bloating the fixed inode size or requiring filesystem redesign. For instance, while standard timestamps track basic change events to support , extended attributes in the user namespace might store detailed audit trails or encoding information that exceeds the scope of predefined fields, avoiding overlap and maintaining clean .

History and Standards

Origins in POSIX

The POSIX.1e draft, developed as part of the IEEE Portable Operating System Interface () standards effort, represented the first formal proposal to incorporate extended file attributes into a portable operating system interface. Released in draft form around 1994 and culminating in Draft 17 in October 1997, it aimed to extend the basic (DAC) model of POSIX.1 by introducing security enhancements, including access control lists (ACLs) and (MAC). Extended attributes were defined as mechanisms to associate additional —such as ACL entries and MAC labels—with files and other objects, enabling finer-grained security beyond traditional Unix permission bits (read, write, execute for user, group, and others). This addressed limitations in multi-user environments where basic permissions proved insufficient for complex access policies. The draft was crafted by the 1003.1e and 1003.2c working groups under the IEEE and The Open Group, with contributions from industry experts responding to evolving security needs in networked and multi-user systems. Key motivations included support for , which consist of entries specifying permissions for individual users or groups, and , which enforces policy-based labels (e.g., sensitivity levels) to prevent unauthorized data flows. APIs such as acl_get_file(), acl_set_file(), mac_get_file(), and mac_set_file() were specified for retrieving and setting these attributes on files, with an annex in later revisions (e.g., March 1999) introducing getxattr() and setxattr() for general extended attribute handling to avoid disrupting existing .1 interfaces like stat(). These features were optional, conditioned on symbols like _POSIX_ACL and _POSIX_MAC, ensuring . Concepts of extended attributes drew from pre-1990s research in secure systems, such as early implementations in experimental Unix variants, but the effort formalized them for portability across open systems. Despite its comprehensive scope, the .1e draft was withdrawn in January 1998 due to its ambitious breadth—encompassing not only ACLs and but also auditing, capabilities, and information labeling—which led to implementation complexities, lack of consensus among participants, and insufficient sponsorship from standards bodies. The working groups deemed the documents unprepared for final , resulting in the abandonment of the proposal as an official standard. However, the core concepts of extended attributes persisted, influencing subsequent security extensions in individual operating systems without achieving POSIX standardization.

Evolution Across Systems

Following the withdrawal of formal support for extended attributes in 1997, various operating systems independently adopted and extended the concept to meet specific needs in file management. In systems, adoption accelerated in the late and early . introduced extended attributes for the UFS filesystem in 9 (2002), allowing arbitrary key-value pairs to be associated with files for enhanced application-specific storage. This feature was later extended to upon its debut in 10 in 2005, where attributes integrate with ZFS properties for pool-wide management. incorporated extended attributes into its during the 2.5 development series around 2002, enabling filesystem-level support for beyond standard attributes. Support for ext2 (and subsequent ext3/ext4) followed in 2.6 around 2003, initially limiting attribute storage to small blocks but allowing user-defined namespaces for security and system use. BSD variants, including , added extended attributes in version 5.0 released in 2003 as part of the TrustedBSD project, focusing on secure namespace isolation for . Beyond Unix-like environments, influences from non-POSIX systems shaped early implementations. , released in 1993, inherited extended attributes from the HPFS filesystem developed for , where each file could store up to 64 KB of application-defined in key-value format for compatibility with applications. , introduced alongside Windows NT, built on this by dedicating specific attribute records (like $EA_INFORMATION) to emulate HPFS extended attributes, supporting up to 512 bytes per entry initially for backward compatibility. advanced the paradigm in 1998 with its BFS filesystem, introducing attribute-based indexing that treated as queryable database fields, enabling and application integration without separate databases. Standardization efforts remained fragmented, with no comprehensive emerging post-POSIX. For networked environments, the IETF advanced support via 8276 in December 2017, extending NFSv4 to manipulate extended attributes remotely through operations like openattr and getxattr, facilitating cross-system sharing without proprietary extensions. By 2025, extended attributes saw expanded adoption in modern workflows, particularly , where tools like leverage them for labels such as SELinux contexts on container filesystems, preserving during image builds and runtime isolation. No major new global standards materialized, but filesystem enhancements continued; for instance, in 6.15 (May 2025) added options like --inode-flags in mkfs. for finer attribute control on inodes, improving scalability for metadata-heavy workloads without altering core storage limits.

Technical Mechanisms

Namespaces and Attribute Types

Extended file attributes are organized into namespaces, which serve as logical groupings to separate categories of , including user-defined , system-level information, and security-related policies. This categorization ensures that attributes intended for different purposes—such as user-accessible annotations versus kernel-protected controls—are isolated and managed appropriately. In implementations like Linux, namespaces are prefixed to attribute names to denote their scope and access rules. Common namespaces include the "user" namespace for arbitrary, user-definable attributes accessible to file owners based on standard permissions; the "trusted" namespace for administrative or hidden attributes visible only to processes with elevated privileges like CAP_SYS_ADMIN; the "security" namespace for attributes managed by kernel security modules, such as SELinux policies for (); and the "system" namespace for filesystem-specific or kernel objects, including ACLs. These namespaces allow extended attributes to support diverse types, such as user-defined values (arbitrary strings or ), trusted attributes (admin-only, often opaque to regular users), and security attributes (for mechanisms or ACLs). Attribute values are typically byte arrays that can represent text, , or structured lists, enabling flexible storage. Naming conventions for extended attributes require keys to be null-terminated strings in a hierarchical format like "namespace.name", where the namespace prefix is followed by a dot and the attribute name; certain implementations prohibit characters like "/" in the name to avoid path-like interpretations. Length limits apply, such as a maximum of 255 bytes for the full name in systems, ensuring compatibility and preventing overly complex identifiers. Protection mechanisms inherent to namespaces enforce strict access controls: for example, the "user" namespace respects file ownership and permissions, while "trusted" and "security" namespaces block modifications by non-privileged users, thereby safeguarding system integrity and preventing unauthorized tampering with protected metadata. This namespace-based isolation extends to value handling, where quotas and capabilities further restrict operations across categories.

Storage and Access Methods

Extended file attributes are stored using filesystem-specific techniques that balance space efficiency and performance. In many systems, small attribute values are stored inline within the inode structure, utilizing unused space after the core inode fields. For instance, the filesystem allocates this inline space, which can hold up to the remaining portion of the inode block after accounting for the fixed inode size, typically allowing a few hundred bytes depending on the block size (e.g., 4 KiB blocks). Larger values to external storage, such as dedicated blocks referenced by the inode's attribute pointer (i_file_acl in ext4), or even special EA_INODE structures using extents for very large sets. Other filesystems employ external blocks or structured indexes for attribute storage. The filesystem stores small attributes in the inode's attribute fork, with available space varying by inode size: approximately 100 bytes for 256-byte inodes or 350 bytes for 512-byte inodes (the default in modern kernels with enabled), while larger ones are placed in remote attribute blocks or leaves, enabling efficient allocation without strict inline limits. In contrast, the HFS+ filesystem (used in macOS) maintains all extended attributes in a dedicated Attributes file implemented as a B*-tree, which indexes attribute records by file ID for scalable storage beyond inode constraints. Size limits for extended attributes vary by filesystem and kernel implementation, often prioritizing quota awareness and block alignment. The Virtual File System (VFS) enforces a per-attribute value limit of 64 KiB and name length of 255 bytes, though individual filesystems may impose tighter constraints; for example, restricts the total inline or single-block attributes to one filesystem block (typically 1–4 KiB), while allows up to 64 KiB per attribute with no practical limit on the number per file. Overflow handling typically involves allocating separate extents or blocks; in , the EA_INODE feature creates a special inode to hold excess attributes via extent trees, preventing inode bloat. Similar per-attribute limits apply in other systems, such as UFS variants, which cap individual attributes while supporting filesystem-wide quotas. Access to extended attributes is facilitated through standardized system calls that abstract filesystem differences. In Linux and POSIX-inspired environments, the core API includes getxattr(2) to retrieve an attribute's full value into a user buffer, setxattr(2) to replace or set a value, listxattr(2) to enumerate attribute names (up to 64 KiB output limit), and removexattr(2) to delete an attribute, all operating on paths or file descriptors with namespace prefixes like "user.". Variations exist in other systems; AIX provides getea and setea subroutines (along with fsetea for descriptors and lsetea for symlinks) to fetch, set, or manage attributes by path or descriptor, returning -1 on errors like ENOSPC for space exhaustion. FreeBSD uses a similar but namespace-aware interface, such as extattr_get_file(2) to read attribute data (returning size if buffer is NULL) and extattr_set_file(2) to write, with variants for file descriptors and links. Retrieval efficiency is enhanced through indexing and kernel-level caching to reduce I/O overhead. Filesystems like HFS+ use B*-trees for logarithmic-time lookups of attributes by file ID, while employs leaf-based attribute structures for quick scans within blocks. In , the VFS layer integrates with the for external attribute blocks, caching them in kernel memory alongside inode data to minimize disk accesses during repeated operations, though inline attributes benefit from direct inode caching without additional I/O.

Operating System Implementations

Unix-like Systems

In systems, extended file attributes provide a mechanism to associate additional with files and directories beyond standard permissions and timestamps, drawing from influences for interoperability and security applications. supports extended file attributes in filesystems such as , , , , and , where ext2/3/4 store attributes either inline within the inode or externally in dedicated blocks, with a maximum value size of 64 KiB. and implement four namespaces—user (accessible to non-privileged users), trusted (for privileged administrative use), security (for mandatory access controls like SELinux), and system (for kernel-specific data)—allowing organized storage. This feature was introduced during the 2.5 development series in 2002 and fully integrated in kernel 2.6, released in December 2003. Access is provided through the getxattr, setxattr, listxattr, removexattr, and related system calls, as documented in the kernel's xattr(7) manual. FreeBSD implements extended attributes in UFS and ZFS filesystems, supporting user and system namespaces for user-defined and kernel metadata, respectively. Introduced with UFS2 in 5.0-RELEASE in March 2003, these attributes enable per-file tagging for security and application data. The extattr_get_file, extattr_set_file, and related APIs handle operations, with ZFS extending support for efficient storage in its dataset structure. Solaris and its open-source derivative Illumos support named attributes, treated as hidden files or forks within a concealed directory per file in UFS and ZFS filesystems, without a dedicated user namespace to simplify access controls. This implementation, introduced in Solaris 9 in 2002, allows attributes up to filesystem block limits and integrates with NFS for networked access. Commands like runat facilitate manipulation, enabling attribute creation, listing, and execution within the hidden namespace. AIX provides extended attribute support in the JFS2 version 2 filesystem, with system and user namespaces for administrative and application metadata. Integrated since AIX 5L Version 5.1 in 2001, attributes are stored inline or in external blocks. The getea, setea, listea, statea, and removeea APIs, along with corresponding commands, manage these attributes for enhanced file tagging and security. included extended attribute support for FFS starting in version 3.1, released in October 2002, but removed it in 2005 due to implementation complexity and limited demand for associated features like lists. No current extended attribute functionality exists in . Common across these systems are POSIX.1e-inspired interfaces for attribute management, originally drafted for extensions like POSIX ACLs, which leverage the trusted or security namespaces to enforce fine-grained permissions without altering core file semantics.

Non-Unix Systems

In macOS, extended file attributes are implemented in both the Hierarchical File System Plus (HFS+) and (APFS), serving as a modern replacement for the resource forks of earlier Mac OS versions to store additional such as Finder information or flags. These attributes are stored using structures for efficient indexing, with small attributes fitting inline within file catalog entries and larger ones allocated separate extents; the inline limit is typically around 4 KiB per attribute due to B-tree node constraints, though total storage per file can reach up to 1 GiB or more depending on the volume. Naming conventions follow reverse DNS format, exemplified by com.apple.FinderInfo for desktop-specific , and is provided via command-line tools like xattr for listing, setting, or removing attributes. This implementation was introduced in Mac OS X 10.4 in 2005, enhancing file portability across volumes while integrating with macOS's for features like file previews and labels. Windows NT-based systems, including modern Windows versions, support extended attributes primarily through the NTFS file system's Alternate Data Streams (ADS), which allow multiple named data streams per file beyond the primary content stream, effectively functioning as extensible storage for items like security descriptors or application-specific tags. ADS were introduced with in in 1993 and extend to other file systems like HPFS and via compatibility layers, with programmatic access through APIs such as SetFileAttributes for basic handling or Win32 stream I/O functions for named streams. In the subsystem (part of Services for UNIX on Windows), extended attributes are mapped directly to ADS using functions like SetNamedExtendedAttribute, enabling compatibility for such as lists or types without altering the core file data. This approach ties closely to Windows' desktop and enterprise features, such as zone identifiers for downloaded files, but lacks formal namespaces for security isolation. OS/2 implements extended attributes (EAs) on the High Performance File System (HPFS) and volumes, storing them as key-value pairs for metadata like file icons, descriptions, or Workplace Shell object properties, with direct integration into the system's graphical for enhanced functionality. On HPFS, EAs are stored efficiently within file nodes without auxiliary files, while uses a hidden root-directory file named EA DATA.SF to hold all EAs across the volume, linking them via file IDs; the total EA data per file is limited to 64 KB, allowing multiple attributes but constraining overall size. Introduced in 1.1 in 1989, EAs support up to 255-character names and are accessed via like DosSetPathInfo or command-line tools such as EAS for management, emphasizing OS/2's object-oriented model over standardized features. The and its successor utilize the Be File System (BFS), which embeds attributes as indexed, queryable metadata directly within files to support database-like operations, such as searching by types (e.g., MIME:mime) or storing icons and comments without separate files. Attributes in BFS lack strict namespaces, allowing arbitrary name-value pairs with efficient indexing for rapid lookups across large datasets, and are integral to the desktop for displaying file properties like colors or comments. This feature debuted in Release 3 in March 1998 and persists in , developed from the early , prioritizing and desktop-centric use cases over POSIX-compliant security mechanisms. Across these non-Unix systems, extended attributes are predominantly linked to environments for user-facing like icons and labels, with implementations favoring seamless over rigorous namespaces or cross-system standards.

Applications and Limitations

Common Use Cases

Extended file attributes enable the attachment of additional to files, enhancing their utility without altering the primary content. One prominent application is metadata enrichment, where attributes store details such as file origins, including names or GPS coordinates for images, character set encodings for text documents, or even embedded thumbnails in desktop environments. For instance, in OS, the leverages attributes to display and query custom metadata like document summaries or image previews, allowing users to add and edit fields such as "" or "" directly within the for seamless organization. In archival and data preservation contexts, extended attributes support and by embedding checksums, cryptographic hashes, or signatures directly with files to facilitate tamper detection. This approach is particularly valuable in systems requiring long-term storage reliability, where attributes like user.checksum.sha256 can be computed and stored to verify file unaltered status during retrieval or . Such mechanisms integrate with tools like the Integrity Measurement Architecture (IMA) on , which uses the security.ima attribute to hold file hashes for runtime checks in secure environments. Extended attributes also power advanced search and indexing capabilities, enabling queries based on rather than just filenames for more efficient retrieval. In the BeOS File System (BFS), attributes allow users and applications to index custom fields, supporting formula-based searches across files for attributes like content type or creation date, which accelerates discovery in large datasets. Similarly, on macOS, Spotlight employs extended attributes to store and index such as comments or keywords, permitting rapid, attribute-driven searches that extend beyond basic file properties. For application-specific purposes, extended attributes provide custom tags that tailor functionality to particular workflows, akin to embedded data in formats like for files. In systems, tools can append notes or details via user-defined attributes, while management applications on or macOS might store supplementary descriptors—such as rating or category—for photos or videos, complementing internal without modifying the file itself. Adoption of extended attributes varies across systems; they are widely used in for package management, where RPM-based distributions preserve and apply attributes during to maintain file like origins or hashes, ensuring consistency in . In contrast, Windows favors alternate data streams over extended attributes for similar storage, resulting in more limited native support for the latter in non-Unix environments.

Constraints and Security Considerations

Extended file attributes face inherent constraints on size and performance that can impact their practical use. The Linux kernel's Virtual File System (VFS) limits individual attribute names to 255 bytes and values to 64 KiB, with the total list of attributes also capped at 64 KiB. Filesystems impose additional restrictions; for example, ext4 stores attributes inline in the inode (up to approximately 100 bytes in a standard 256-byte inode) or in external blocks (typically 4 KiB each). When inline space is exhausted, attributes use external storage, and larger values (up to 64 KiB) are supported via dedicated EA inodes, though this introduces I/O overhead from additional reads and writes during access. This external storage can also contribute to fragmentation, as scattered blocks increase seek times on rotational media and elevate latency even on SSDs by amplifying the number and size variability of I/O operations. Compatibility challenges further limit the reliability of extended attributes across diverse environments. Many filesystems, such as FAT32, do not support extended attributes at all, as they lack the necessary structures beyond basic file allocation tables. This absence means attributes cannot be stored or retrieved on such volumes under , leading to during operations like copying files between supported and unsupported filesystems. Portability issues compound this in cross-OS transfers; for instance, tools like or preserve attributes only if the target filesystem supports them and the operation is explicitly configured to do so, otherwise resulting in silent stripping of . Extended attributes enhance security by enabling sophisticated policy enforcement mechanisms. In SELinux, security contexts—essential for mandatory access control (MAC)—are stored in the security namespace as the security.selinux attribute, allowing the kernel to apply fine-grained labels that dictate process-file interactions based on predefined policies. Similarly, POSIX Access Control Lists (ACLs) reside in the system namespace (e.g., system.posix_acl_access and system.posix_acl_default), extending traditional Unix permissions to support multiple user and group entries for precise access delegation. These integrations facilitate robust MAC and discretionary access controls, where attributes enforce policies like role-based restrictions without altering core file permissions. Despite these benefits, extended attributes introduce security risks if not properly managed, particularly around access. Improper handling, such as vulnerabilities permitting unprivileged users to modify privileged attributes (e.g., CVE-2023-2640 in certain kernel configurations), can enable by altering labels or ACLs to grant unauthorized access. In containerized setups, attackers exploiting volume mounts may tamper with host attributes, bypassing isolation boundaries. Mitigations include strict kernel-enforced access controls: the system, , and trusted namespaces require privileges or the CAP_SYS_ADMIN capability for modifications, preventing non-administrative alterations. Additionally, the auditd daemon in can monitor attribute changes by defining rules to watch syscalls like setxattr, logging events such as attempts to set or system attributes for forensic analysis and intrusion detection. As of 2025, extended attributes raise increasing concerns in and ecosystems, where orchestration tools like expose shared volumes that could allow attribute tampering during escapes, potentially undermining host security policies and necessitating runtime protection layers like or profiles to restrict xattr operations.

References

  1. [1]
    xattr(7) - Linux manual page - man7.org
    Extended attributes are name:value pairs associated permanently with files and directories, similar to the environment strings associated with a process. An ...
  2. [2]
    tar(1) - Linux manual page - man7.org
    Extended file attributes --acls Enable POSIX ACLs support. --no-acls Disable POSIX ACLs support. --selinux Enable SELinux context support. --no-selinux ...
  3. [3]
    4.4. Extended Attributes — The Linux Kernel documentation
    ### Summary of Extended Attributes in ext4 and Linux
  4. [4]
    Establishing persistence using extended attributes on Linux - Kernal
    Extended attributes (xattrs) were added to Linux in 2002. As of 2024, they ... attributes to be within a “filesystem block” (usually 4 KiB). All major ...
  5. [5]
    RFC 8276 - File System Extended Attributes in NFSv4
    Extended attributes are various sorts of application data, and the fact that the means of reference is slightly different in each case should not be considered ...
  6. [6]
    Definitions - The Open Group Publications Catalog
    A file has certain attributes, including access permissions and type. File types include regular file, character special file, block special file, FIFO ...
  7. [7]
    PosixFileAttributes (Java Platform SE 8 ) - Oracle Help Center
    The POSIX attributes of a file are retrieved using a PosixFileAttributeView by invoking its readAttributes method. Since: 1.7. Method Summary. All Methods ...
  8. [8]
    Extended File Attributes - ADMIN Magazine
    Extended attributes are a system of additional data that can be added to (ie, extend) a file or directory in a filesystem.
  9. [9]
    Extended attributes - IBM
    A non-POSIX extension to file attributes called extended attributes can be implemented by a PFS. Unlike regular attributes, which are typically defined and ...
  10. [10]
    POSIX Access Control Lists on Linux
    ### Summary of POSIX ACLs on Linux
  11. [11]
    [PDF] PSSG / D17 October 1997
    Oct 17, 1997 · Abstract: IEEE Std 1003.1e is part of the POSIX series of standards. It defines security interfaces to open systems for access control lists, ...
  12. [12]
    POSIX Draft ACL support for Network File System Version 4, Minor ...
    ... (POSIX) 1003.1e draft 17 document for which sponsorship was withdrawn in January 1998. Although the draft POSIX standard that describes these ACLs was never ...
  13. [13]
    Introducing ZFS Properties
    Introducing ZFS Properties. Properties are the main mechanism that you use to control the behavior of file systems, volumes, snapshots, and clones.Missing: UFS history
  14. [14]
    extattr - FreeBSD Manual Pages
    For more information on named extended attributes, please see extattr(9). ... HISTORY Extended attribute support was developed as part of the TrustedBSD ...
  15. [15]
    Overview of FAT, HPFS, and NTFS File Systems - Windows Client
    Jan 15, 2025 · This article explains the differences between File Allocation Table (FAT), High Performance File System (HPFS), and NT File System (NTFS) under Windows NT, and ...
  16. [16]
    $$EA_INFORMATION (0xD0) - Attribute - NTFS Documentation
    Overview. Used to implement under NTFS the HPFS extended attributes used by the information subsystem of OS/2 and OS/2 clients of Windows NT servers.
  17. [17]
    Approaching the Be File System - asleson.org
    Next is indexing. When you've indexed an attribute, you can query it. That means that you can find things efficiently. You can create an index for an attribute.
  18. [18]
    RFC 8276 - File System Extended Attributes in NFSv4
    Jul 27, 2022 · This document describes an optional feature extending the NFSv4 protocol. This feature allows extended attributes (hereinafter also referred to as xattrs) to ...
  19. [19]
    docker build does not preserve xattrs in the generated image #35699
    Dec 4, 2017 · Docker containers do not preserve extended attributes. Steps to reproduce the issue: In the build phase, set an extended attribute on a file ...
  20. [20]
    Changes (btrfs-progs) - BTRFS documentation!
    btrfs-progs-6.15 (2025-06-23) . mkfs: new option --inode-flags to specify flags/attributes for inodes/directories/subvolumes. check: ...
  21. [21]
  22. [22]
    4.1. Index Nodes — The Linux Kernel documentation
    In a regular UNIX filesystem, the inode stores all the metadata pertaining to the file (time stamps, block maps, extended attributes, etc), not the directory ...Missing: history | Show results with:history
  23. [23]
    7.3.2.2.4. Optimising for applications that use extended attributes
    There is, however, a limit on the size of the individual attributes that can be stored in-line - there is a maximum size limit of 254 bytes for both the ...Missing: HFS+ | Show results with:HFS+
  24. [24]
    Technical Note TN1150: HFS Plus Volume Format - Apple Developer
    HFS Plus has an attribute file, another B-tree, that can be used to store additional information for a file or directory. Since it is part of the volume format ...HFS Plus Basics · B-Trees · Catalog File · Attributes File
  25. [25]
    setea Subroutine - IBM
    The setea subroutine sets the value of the extended attribute identified by name and associated with the given path in the file system. The size of the value ...<|separator|>
  26. [26]
    extattr_get_file(2) - FreeBSD Manual Pages
    BUGS In earlier versions of this API, passing an empty string for the at- tribute name to extattr_get_fd(), extattr_get_file(), or extattr_get_link() would ...
  27. [27]
    2.5 Kernel Status Summary - LWN.net
    Nov 6, 2002 · linux-kernel@vger.kernel.org. Subject: [STATUS 2.5] November 6 ... Extended Attributes and ACLs for ext2/ext3 (Ted Ts'o) o in 2.5.46 ...
  28. [28]
    Early Adopter's Guide to FreeBSD 5.2.1-RELEASE
    Dec 2, 2003 · UFS2: A new UFS2 on-disk format has been added, which supports extended per-file attributes and larger file sizes. UFS2 is now the default ...
  29. [29]
    Chapter 23. Other File Systems | FreeBSD Documentation Portal
    They enable users to store, manage, and access data, making storage devices like hard drives, flash drives, and USB storage devices practical for everyday use.
  30. [30]
    Extended File Attributes - Managing File Systems in Oracle® Solaris ...
    The ZFS, UFS, NFS, and TMPFS file systems are enhanced to include extended file attributes. Extended file attributes enable application developers to associate ...Missing: named setfattr getfattr 2.6 1997
  31. [31]
    [PDF] hiding within the trees - USENIX
    This article focuses primarily on how extended file attributes, introduced in the Solaris™ Operating System (“Solaris OS”), version 9, could be abused for this ...Missing: ZFS 2.6 1997
  32. [32]
    [PDF] AIX 5L Differences Guide Version 5.2 Edition - IBM Redbooks
    This guide explains enhancements from AIX 5.0 to 5.2, and applies to AIX 5L for POWER Version 5.2, program number 5765-E62.<|control11|><|separator|>
  33. [33]
    An introduction to extended attributes, xattrs
    Dec 11, 2017 · Extended attributes (xattrs) associate metadata with files/folders, stored in volume metadata, not file data, and are used for quarantine flags.<|control11|><|separator|>
  34. [34]
    Maximum size of xattr in OS X - Stack Overflow
    Nov 17, 2017 · However a value 18 can mean that the maximum attribute size can be anywhere from (256KB - 1) to 128KB. As a special case, the resource fork can ...How many files can I put in a directory?where are extended attributes stored?More results from stackoverflow.com
  35. [35]
    APFS: Extended attributes revisited - The Eclectic Light Company
    May 13, 2024 · Extended attributes, xattrs, supersede the resource fork of Classic Mac OS as a means of storing additional file information outside a file's ...
  36. [36]
    File Streams (Local File Systems) - Win32 apps - Microsoft Learn
    Jul 8, 2025 · In the NTFS file system, streams contain the data that is written to a file, and that gives more information about a file than attributes ...
  37. [37]
    About the important of extended attributes for Windows NTFS backups
    Sep 1, 2024 · Extended attributes (xattrs) and alternate data streams (ADS) are different things, although they are related. So far, there is NO support for ...
  38. [38]
    Extended Attributes - what are they and how can you use them?
    Nov 19, 2022 · Extended attributes are a property of directories as well as of files. Not content with only supporting these attributes for the new installable file systems.Missing: NT | Show results with:NT
  39. [39]
    Implementation of extended attributes on the FAT file system
    Oct 28, 2000 · EAs are supported directly by the High Performance File System (HPFS). They are stored in an efficient manner; a small EA does not effectively ...
  40. [40]
    HPFS: Extended Attributes - Spider
    Extended Attributes. File attributes are information about a file that is maintained by the operating system outside the file's overt storage area.Missing: NT | Show results with:NT
  41. [41]
    Attributes - Haiku OS
    Attributes are data fields that belong to a file but aren't part of the file itself, and can be added to any file and changed without touching the file.
  42. [42]
    The BeOS file system, an OS geek retrospective - Ars Technica
    Jul 5, 2018 · The reindex command was added to improve indexing of extended attributes. A quick interview with a Senior Developer at BeOS, who worked on BFS.
  43. [43]
    BeOS Release 3 - BetaWiki
    Jan 20, 2025 · The x86 Intel release of this version was released in March 1998, whereas the PowerPC release of this version was released one month later in ...Missing: extended attributes
  44. [44]
    Using xattrs or Extended Attributes on Linux
    Extended attributes (xattrs) are an extensible mechanism to store metadata on a filesystem, allowing more properties of a file to be described.
  45. [45]
    How to use Spotlight's metadata file utilities in macOS - AppleInsider
    Feb 25, 2024 · Spotlight is Apple's smart search indexer for macOS. Here's how to use its metadata utilities to get more information about your documents.File Metadata · Spotlight Metadata Utilities · Mdfind
  46. [46]
    Are you using extended file attributes? - General - KDE Discuss
    May 21, 2023 · Extended file attributes are file system features that enable users to associate computer files with metadata not interpreted by the filesystem.
  47. [47]
    Linux package management with YUM and RPM - Red Hat
    Apr 22, 2020 · An RPM package consists of an archive of files and metadata. Metadata includes helper scripts, file attributes, and information about packages.