Fact-checked by Grok 2 weeks ago

User identifier

A user identifier, often abbreviated as UID, is a unique symbol or character string employed by information systems to distinguish and recognize a specific user within the system. This identifier facilitates essential functions such as assigning privileges, tracking user activities, and managing operations across various computing environments, including operating s, networks, and applications. In practice, UIDs can take forms like numeric integers in systems or alphanumeric security identifiers () in Windows environments, ensuring unambiguous user recognition without relying solely on human-readable names like usernames. In operating systems, which adhere to standards, the is typically a 32-bit ranging from to 4294967295, uniquely assigned to each user account to enforce file permissions and resource controls in conjunction with the group identifier (GID). For instance, system users like often have predefined UIDs (e.g., for ), while regular users receive higher values starting from 1000 to avoid conflicts with system accounts. This numeric approach enhances security by allowing the to perform efficient, privilege-based decisions without repeated name lookups. Beyond operating systems, user identifiers play a critical role in broader contexts like database management, authentication, and protocols (e.g., or SAML), where they enable secure, scalable user tracking while complying with privacy regulations such as GDPR by minimizing the exposure of . Effective management of UIDs, including preventing reuse and ensuring uniqueness across distributed systems, is vital to mitigate risks like or unauthorized access.

Overview and fundamentals

Definition and purpose

In Unix-like operating systems, a user identifier (UID) is a unique integer value that identifies a user account, enabling the distinction between multiple users in shared computing environments. In Unix-like systems, the UID is stored in configuration files such as /etc/passwd and serves as the fundamental mechanism by which the kernel associates processes, files, and resources with specific users. This numeric label, typically represented as an unsigned integer, replaces textual usernames internally to optimize system operations and enforce security boundaries. The primary purposes of a UID revolve around core security functions: authentication, which verifies a user's identity during login by mapping the provided credentials to the corresponding UID; authorization, which governs access to files, processes, and system resources based on the UID's associated privileges; and auditing, which attributes actions and events to individual users for logging and accountability. For instance, when a file is created, it is stamped with the UID of its owner, allowing the operating system to apply permission checks against that identifier during subsequent access attempts. The concept of user identifiers first emerged in early multi-user operating systems like during the 1960s, where identification combined elements such as person and project IDs to enable secure, shared access among users. It was formalized and simplified into a single numeric in Unix during the 1970s, supporting efficient resource sharing in environments. A basic example in systems is UID 0, which denotes the account () and grants unrestricted privileges, exempting it from standard access constraints.

Role in multi-user operating systems

In multi-user operating systems, such as systems, user identifiers (s) play a critical role in enabling secure resource sharing among multiple concurrent users, such as in environments, servers, and mainframes. By assigning a unique numeric UID to each user account, the operating system can associate processes, files, and other resources with specific users, preventing unauthorized and ensuring that one user's activities do not inadvertently or maliciously affect others. This mechanism is foundational to multi-user setups where resources like , memory, and storage are allocated dynamically among users logging in locally or remotely. UIDs integrate seamlessly with the permission model to enforce access controls, particularly through file and directory permissions categorized for the owner (user), group, and others. In Unix systems, permissions specify read, write, and execute rights (e.g., represented as rwxr-xr-x), where the owner's UID determines full control over resources they create, while group and other categories allow controlled collaboration. This model extends to advanced mechanisms like access control lists (ACLs) in POSIX-compliant systems, which refine permissions beyond basic categories by referencing specific UIDs. For runtime checks, the effective user ID may temporarily alter permissions for processes, but the core association remains tied to the user's UID. The security benefits of stem from their enforcement of the least privilege principle, isolating users and their to minimize interference and limit potential damage from compromises. Each inherits its parent's UID, ensuring that operations are confined to authorized resources; for instance, a user's files cannot be modified by another without explicit permission, protecting and in shared environments. This is vital in multi-user scenarios, where virtual memory separation and enforcement prevent processes from accessing unauthorized or . In practice, on a Unix , web processes like are typically run under a non-privileged , such as that of the www-data user (often UID 33 in Debian-based systems), to restrict their access to only necessary files and directories. This limits the scope of damage if the server is , as the process cannot escalate to system-wide privileges without additional mechanisms.

User ID attributes in Unix-like systems

Real user ID

The real user ID (RUID), also known as the real UID, is the user identifier assigned to a process upon its creation in operating systems, matching the UID of the user who originally invoked the process. This value represents the true owner of the process and is inherited from the during a fork operation, establishing the persistent identity of the initiating user. The RUID remains unchanged throughout the lifecycle unless explicitly modified by a privileged , such as setuid or setreuid executed with privileges, ensuring it serves as a stable reference to the original invoker even amid runtime privilege adjustments. The RUID plays a key role in system , where it is used to attribute resource consumption—such as , memory usage, and I/O operations—to the who started , rather than any temporary privileged . In process mechanisms, the recorded user identifier in the file structure (e.g., the acct structure in ) corresponds specifically to the real UID, enabling accurate tracking and potential billing independent of effective privilege changes. It also acts as a fallback for determining the process's core identity in scenarios where the effective user ID has been altered, such as during via executables, allowing applications to query the original via the . In POSIX-compliant systems, the real user ID is retrieved using the getuid() function, which returns the RUID of the calling and is always successful without setting errno. This call provides a reliable way to access the invariant user identity, supporting auditing and ownership verification without interference from dynamic permission shifts. For example, if a with UID 1001 launches a , the 's RUID is set to 1001 at creation and persists regardless of subsequent actions, such as executing a program that temporarily elevates privileges; resource usage in accounting logs will thus be charged to UID 1001.

Effective user ID

The effective user ID (EUID), also known as the effective UID, is the user identifier that determines a process's permissions and privileges in operating systems during runtime. It represents the identity under which the process operates for resource and security checks, potentially differing from the real user ID after privilege adjustments. The EUID can be retrieved using the geteuid() . The EUID is modified via the system call, which sets it to a specified value if the process holds appropriate privileges, such as the CAP_SETUID capability in or execution of a setuid binary. This allows dynamic or de-escalation, enabling non-privileged users to perform authorized elevated tasks without granting full access. For instance, when a setuid program executes, the sets the EUID to the file owner's , facilitating controlled privilege changes. In standard systems, the EUID is used by the to enforce for operations like file opens via open() or program execution via exec(), where it is compared against file ownership and permissions. A practical example is the utility, a setuid-root program that temporarily sets its EUID to 0 () to update the protected /etc/shadow file with the user's new password, then reverts the EUID to the caller's real to minimize security risks. Linux introduces a filesystem user ID (FSUID) as a specialized variant of the EUID, dedicated exclusively to permission checks for filesystem accesses like path resolution and inode operations. The FSUID typically mirrors the EUID but can be independently adjusted using setfsuid(), providing finer-grained separation to support features like NFS server implementations without altering general process privileges. This allows processes to maintain distinct identities for file system interactions while using the EUID for other resources, such as semaphores or shared memory.

Saved set-user-ID

The saved set-user-ID (SUID) is a process credential in Unix-like systems that stores a copy of the effective user ID (EUID) as it was set during the last successful exec() call or by a privileged setuid() invocation, enabling the process to later restore that EUID without requiring superuser privileges. This mechanism preserves the original privilege level associated with a set-user-ID executable, distinguishing it from the real user ID (RUID) and allowing dynamic privilege management within the process. The primary purpose of the saved set-user-ID is to facilitate privilege bracketing, a security practice where a privileged process temporarily relinquishes elevated permissions by setting its EUID to the less-privileged RUID for routine operations, then restores the original EUID from the saved value for sensitive tasks that require higher access. This approach minimizes the exposure of elevated privileges, reducing the risk of exploitation if a vulnerability is triggered during unprivileged execution, and is essential for secure implementation of set-user-ID applications. In POSIX-compliant systems where the _POSIX_SAVED_IDS feature is defined, the saved set-user-ID is automatically set by the setuid() when the process has appropriate privileges (e.g., effective of 0), or explicitly managed using the setresuid() function, which allows setting the RUID, EUID, and SUID independently—provided the process possesses the CAP_SETUID capability or meets unprivileged constraints (e.g., setting to current RUID, EUID, or SUID values). Restoration occurs via calls like seteuid() or setreuid(), which can switch the EUID back to the saved value. However, not all systems fully implement this extension; historical BSD variants, such as 4.3BSD, lacked dedicated saved set-user-ID support and instead used setreuid() to swap between RUID and EUID directly for similar privilege-switching effects. A representative example is a network daemon process, which often starts with an EUID of 0 to bind to privileged ports below 1024. The daemon saves this EUID in the saved set-user-ID, drops privileges by setting the EUID to a non-root value (e.g., via setresuid() or setuid()) for accepting connections and handling non-sensitive I/O, and later restores the root EUID from the saved value for operations like user authentication or file access that require elevated permissions. This bracketing ensures the daemon operates with minimal privileges most of the time while retaining the ability to escalate securely when needed.

Conventions and implementation details

Data types and storage

In operating systems, user identifiers (UIDs) are represented using the uid_t defined in the <sys/types.h> header. According to the standard, uid_t is an arithmetic type suitable for holding user IDs, which may be signed or unsigned depending on the implementation, but without a specified minimum range. Historical Unix systems, running on 16-bit architectures like the PDP-11, limited UIDs to 16 bits, supporting values from 0 to 65535. Modern implementations, such as , define uid_t as an unsigned 32-bit integer, allowing up to approximately 4.3 billion unique users and addressing the limitations of earlier 16-bit designs. This change was formalized in the starting with version 2.4, which introduced full 32-bit UID support through new system calls like setfsuid32() to prevent overflows and enable scalability for larger environments. Although uid_t remains 32-bit even on 64-bit systems, some extensions in filesystems and network protocols (e.g., NFSv4) accommodate mappings for effectively larger identifier spaces in distributed setups. UIDs are stored in kernel structures managing processes and users. In the , they reside within the struct cred pointed to by the cred field of struct task_struct, the process control block that tracks per-process credentials including real, effective, and saved UIDs. For persistent user account information, UIDs are maintained in databases such as the /etc/passwd file, where each line's third colon-separated field holds the UID as a , or in directory services like LDAP, using the uidNumber attribute as an value. This storage ensures portability across POSIX-compliant systems, where uid_t facilitates consistent handling despite varying underlying sizes.

UID allocation ranges

In Unix-like systems, user identifiers (s) are typically assigned within numerical ranges defined by standards and implementations to ensure and prevent conflicts between system and user accounts. Historical Unix systems limited UIDs to a 16-bit unsigned range of 0 to 65,535 for . Modern implementations like extend support using the 32-bit uid_t type, allowing UIDs up to 4,294,967,295 (2^32 - 1), though practical allocation often adheres to established conventions, such as those outlined in the (LSB), for interoperability. According to the (LSB), UIDs 0-99 are statically allocated for system use, 100-499 for dynamic system accounts, and 500+ for regular users, though distributions may vary these ranges. To distinguish system accounts from regular users and avoid overlap that could compromise security, UIDs are divided into reserved and allocatable ranges. UIDs from 0 to 99 are conventionally reserved for system accounts, such as (UID 0) and other privileged services, while some distributions extend this to 0-999 for additional system use. Regular accounts are typically assigned UIDs starting from 1000 onward, ensuring that user processes cannot inadvertently access or interfere with system resources. This separation is configurable via system files like /etc/login.defs in , where parameters such as UID_MIN and UID_MAX define the boundaries for dynamic allocation. UID allocation is managed through tools like useradd or adduser, which draw from predefined pools to assign unique values automatically, often querying the Name Service Switch (NSS) for configuration and availability checks across local files, LDAP, or other backends. The process ensures sequential or lowest-available assignment within the user range, with NSS modules like files or sss handling lookups to maintain uniqueness without manual intervention. In containerized environments, such as those using Docker, UID mapping techniques remap container-internal UIDs to distinct host ranges (e.g., 100000+ for isolated namespaces) to prevent conflicts between containerized applications and the host system.

Special and reserved UIDs

In systems, UID 0 is reserved for the user, also known as the , which possesses unrestricted access to all resources and bypasses permission checks enforced by the . This elevated privilege level is essential for system administration tasks, such as installing software or modifying critical files, but it introduces significant risks if compromised, as an attacker gaining access can control the entire . UID 65534, often referred to as the "nobody" or overflow UID, is a special identifier assigned to processes that require no privileges, such as certain daemons or NFS operations where client-supplied UIDs cannot be trusted. This UID is the default value for the kernel's overflowuid parameter, which maps unmapped or invalid UIDs to prevent unauthorized access while minimizing potential damage from unprivileged services like web servers in default configurations. For instance, the may run under this UID to isolate it from the filesystem. Certain ranges and values are reserved to maintain system integrity; for example, 65535 (or -1 in signed interpretation) is typically invalid or treated as an overflow marker in 16-bit UID contexts, though modern 32-bit implementations use 4294967295 as the unsigned equivalent for unmapped IDs. In extensions like user namespaces, negative UIDs (interpreted as high unsigned values) can represent virtual or unmapped users, allowing isolated mappings without conflicting with host UIDs. Misuse of special UIDs, particularly through set-user-ID (SUID) binaries owned by , can enable vulnerabilities, where an unprivileged user exploits a flaw to gain access. Modern security practices, such as capability bounding sets and avoiding unnecessary SUID programs, mitigate these risks by limiting the scope of privileges.

Alternatives and variations

User identifiers in Windows

In Windows operating systems, user identification relies on Security Identifiers (), which provide a mechanism for authorizing access to resources in multi-user environments, analogous to User IDs (UIDs) in systems but with a more elaborate structure suited to networked domains. A is a unique, variable-length value that identifies a security principal, such as a , group, or other , and is issued by a or upon creation. Unlike the simple numeric UIDs in Unix, SIDs are not purely numerical but formatted as strings to encode hierarchical and contextual information for robust security management. The consists of several components that ensure global uniqueness: a revision number (typically , denoting the ), an identifier (a 48-bit value specifying the issuing entity, such as 5 for ), one to fifteen 32-bit subauthorities (providing hierarchical context like identifiers), and a relative identifier (RID, the final 32-bit subauthority that uniquely distinguishes the principal within its scope, such as 500 for the built-in ). This results in a string representation like S-1-5-21-3623811015-3361044348-30300820-1013, where the prefix S-1-5-21 indicates a under , followed by domain-specific subauthorities and the RID. For local accounts, the machine's unique (generated at ) forms the base, prefixed similarly but scoped to the individual system. Well-known , such as S-1-5-32-544 for the local Administrators group, remain constant across installations to identify generic principals like "Everyone" (S-1-1-0). SIDs are fundamental to Windows , appearing in access control lists (ACLs) on file systems and other securable objects to grant or deny permissions based on the principal's . In , domain SIDs combine a fixed domain identifier with the RID, enabling centralized management and enterprise-scale uniqueness, while security tokens generated at encapsulate the user's primary SID, supplementary group SIDs, and privileges to enforce policies throughout the session. Local SIDs, in contrast, are machine-specific and do not require domain infrastructure, supporting standalone operations. Compared to Unix UIDs, Windows offer greater complexity to accommodate distributed environments, avoiding renumbering issues during user migration by preserving original SIDs in attributes like SIDHistory, which maintains access rights without updating every . This portability is particularly valuable in migrations, where local users' machine-based SIDs allow seamless transfer between systems without identity conflicts. SIDs are never reused, further enhancing by preventing aliasing of principals.

Approaches in other operating systems

macOS adopts a user identification system that builds upon numeric user IDs (s) while incorporating Open Directory, Apple's directory services framework, to manage extended user attributes. In this setup, each user record includes a numeric for compatibility with standards, alongside a GeneratedUID—a (UUID) formatted as a GUID—for persistent and cross-system user tracking. This GUID enables seamless integration with cloud services such as , where it links local user data to managed Apple accounts for synchronization of contacts, calendars, and documents without relying solely on numeric IDs. Open Directory stores these attributes in a pluggable architecture, allowing extensions for enterprise environments like mapping, where attributes such as and GUID are configured to align macOS authentication with external directories. Linux variants, such as , extend traditional mechanisms with specialized ranges to enforce application-level isolation in mobile environments. assigns each installed app a unique starting from (typically in the range 10000–99999) to create a kernel-enforced , preventing inter-app data access and limiting privileges to the app's process and storage. This per-app allocation, managed by the , treats applications as distinct Unix users, enhancing security through discretionary access controls without requiring separate numeric IDs for human users. The approach prioritizes runtime isolation over shared user sessions, differing from desktop by reserving lower s (0–9999) for system components and users. In mainframe operating systems like IBM , user identification diverges from numeric UIDs toward alphanumeric profiles managed by the (RACF). RACF user IDs consist of 1 to 8 alphanumeric characters (A–Z, 0–9, #, $, @), serving as keys to security profiles that define access rights rather than direct file ownership via numbers. This design emphasizes batch job security, where the parameter on a JOB statement specifies the RACF user ID for and during execution, enabling fine-grained control over resources in high-volume, non-interactive workloads. Unlike Unix systems, RACF maps any underlying numeric UIDs (for z/OS UNIX compatibility) to these alphanumeric IDs via dedicated profiles, focusing on enterprise-scale auditing and segregation over process-level isolation. Cloud-native systems, such as those orchestrated by , adapt user identifiers for containerized environments by mapping s through pod security contexts to ensure consistent isolation across distributed nodes. In , a security context specifies the runAsUser field to set the under which container processes execute, allowing administrators to enforce non-root execution (e.g., UID 1000) or remap host s via user namespaces for enhanced privilege separation. This mapping integrates with the underlying container runtime (e.g., containerd or CRI-O), where pod specifications define supplemental groups and filesystem ownership (via fsGroup) to align access controls with orchestrated workloads. The approach addresses gaps in traditional OS user management by treating s as ephemeral and configurable per pod, facilitating secure multi-tenancy in container orchestration without fixed system-wide allocations.

References

  1. [1]
    user ID - Glossary | CSRC - NIST Computer Security Resource Center
    Definitions: Unique symbol or character string used by an information system to identify a specific user.
  2. [2]
    What Is A User Identification (User ID)? Data Defined - Indicative
    A user ID identifies a user on a website, software, or system. It is used to assign privileges, track activity, and manage operations.Missing: science | Show results with:science
  3. [3]
    Security Identifiers | Microsoft Learn
    Jun 26, 2025 · A SID uniquely identifies a security principal or group, like a user account, computer account, or process. Each has a unique SID.Missing: science | Show results with:science
  4. [4]
    PosixUser - Amazon Elastic File System - AWS Documentation
    Uid. The POSIX user ID used for all file system operations using this access point. Type: Long. Valid Range: Minimum value of 0. Maximum value of 4294967295 ...
  5. [5]
    Real, Effective and Saved UserID in Linux - GeeksforGeeks
    Mar 18, 2021 · Every user in Unix like operating system is identified by a different integer number, this unique number is called as UserID.
  6. [6]
    Understanding Unix UIDs - Trugman Internals
    Dec 25, 2018 · Unix-based operating systems identify users registered with the system using UIDs. Every user has a unique UID.
  7. [7]
    What is a unique identifier (UID)? | Definition from TechTarget
    Sep 4, 2024 · A unique identifier (UID) is a numeric or alphanumeric string that is associated with a single entity within a given system.
  8. [8]
    passwd(5) - Linux manual page
    ### Summary of UID Field in /etc/passwd
  9. [9]
    Practical UNIX and Internet Security, 3rd Edition [Book] - O'Reilly
    An account is identified by a user ID number (UID) that is associated with one or more usernames (also known as account names).
  10. [10]
    What is UID in Linux? How to Find UID of a User and Change it
    May 2, 2024 · UID stands for User Identifier. It is a unique numerical value assigned to each user account. The UID is used by the system to identify and differentiate ...
  11. [11]
    [PDF] The UNIX time-sharing system - Labouseur.com
    Each user of the system is assigned a unique user identification number. When a file is created, it is marked with the user ID of its owner. Also given for ...
  12. [12]
    Multics History
    ### Summary of User Identification in Multics and Relation to Unix
  13. [13]
    The UNIX time-sharing system | Communications of the ACM
    UNIX is a general-purpose, multi-user, interactive operating system for the Digital Equipment Corporation PDP-11/40 and 11/45 computers.
  14. [14]
    What are User Ids in Linux and Unix? - SSH Communications Security
    In Linux and Unix, the kernel identifies users by their user id. User ids are integers. User ids are mapped to user names in user mode programs.Missing: origin | Show results with:origin
  15. [15]
    [PDF] Operating System Security
    Nov 11, 2011 · The OS must ensure that different processes do not interfere in a harmful way. Each process is owned by one user (user ID), determining its.Missing: benefits | Show results with:benefits
  16. [16]
    Access Control in Unix
    Kernel tracks access through user identification numbers (UIDs) and group identification numbers (GIDs); Access maintained through three files. /etc/passwd ...
  17. [17]
    Access control
    The 3 user access properties are user(owner), group, other. User ID. When a user account is created on a Unix system, it is assigned a unique ID called the uid.
  18. [18]
    User account management with UIDs and GIDs - Red Hat
    Dec 10, 2019 · UIDs and GIDs are assigned to Linux user accounts, starting at 1000. Anything below 1000 is reserved for system accounts. Root has UID/GID 0.
  19. [19]
    How to configure Apache2 settings - Ubuntu Server documentation
    The default value for User is “www-data”. Warning. Unless you know exactly what you are doing, do not set the User directive to root. Using root as the User ...
  20. [20]
    None
    ### Summary of Real User ID in Unix Systems from https://www.usenix.org/event/sec02/full_papers/chen/chen.pdf
  21. [21]
    setuid
    If the process has appropriate privileges, setuid() shall set the real user ID, effective user ID, and the saved set-user-ID of the calling process to uid.
  22. [22]
    acct(5) - Linux manual page - man7.org
    ... Real user ID */ u_int32_t ac_gid; /* Real group ID */ u_int32_t ac_pid ... COLOPHON top. This page is part of the man-pages (Linux kernel and C library user-space ...
  23. [23]
    getuid
    The getuid() function shall return the real user ID of the calling process. RETURN VALUE The getuid() function shall always be successful and no return value ...
  24. [24]
    geteuid
    ### Summary of Effective User ID from geteuid POSIX Page
  25. [25]
    credentials(7) - Linux manual page - man7.org
    These IDs determine who owns the process. A process can obtain its real user (group) ID using getuid(2) (getgid(2)).
  26. [26]
    setuid(2) - Linux manual page - man7.org
    setuid() sets the effective user ID of the calling process. If the calling process is privileged (more precisely: if the process has the CAP_SETUID capability ...
  27. [27]
    [PDF] Privileged Programs - jambit Abendvortrag – "Containers unplugged"
    Apr 2, 2019 · Examples: passwd(1), mount(8), su(1). Let's distinguish two kinds of privilege: Set-UID-root programs. Confer effective UID 0. Give full root ...
  28. [28]
    setfsuid(2) - Linux manual page - man7.org
    A process can cause the value of its filesystem user ID to diverge from its effective user ID by using setfsuid() to change its filesystem user ID to the value ...
  29. [29]
    setresuid(2) - Linux manual page - man7.org
    setresuid() sets the real user ID, the effective user ID, and the saved set-user-ID of the calling process. An unprivileged process may change its real UID, ...
  30. [30]
    setuid(3): set user ID - Linux man page
    If the process has appropriate privileges, setuid() shall set the real user ID, effective user ID, and the saved set-user-ID of the calling process to uid. If ...Description · Errors · Rationale
  31. [31]
    setuid() — Set the effective user ID - IBM
    ... ID of the process, setuid() always succeeds and sets the effective UID. the real user ID and saved set-user-ID will remain unchanged. The setuid() function ...
  32. [32]
    <sys/types.h>
    nlink_t, uid_t, gid_t, and id_t shall be integer types. ... The clockid_t and timer_t types are defined for alignment with the POSIX Realtime Extension.
  33. [33]
    Any concerns with using high UID numbers (3000+) on RHEL5+?
    Mar 21, 2015 · All Unix systems have at least 16-bit user IDs, which can take values from 0 (reserved for root) to 65535 (reserved as an invalid value).What are the dangers of creating a normal user with UID < 500?Why does `ls` in Linux and macOS show different owners (uid) for ...More results from unix.stackexchange.com
  34. [34]
    Size of pid_t, uid_t, gid_t on Linux - Stack Overflow
    Dec 17, 2009 · uid_t and gid_t are unsigned 32-bit integers and pid_t is a signed 32-bit integer. This applies for both 32- and 64-bits.Is the uid_t type signed or unsigned? - Stack OverflowHow to portably check extremal values for SuSv3 data types?More results from stackoverflow.comMissing: minimum | Show results with:minimum
  35. [35]
    Users, Groups, UIDs and GIDs on systemd Systems
    In theory, the range of the C type uid_t is 32-bit wide on Linux, i.e. 0…4294967295. However, four UIDs are special on Linux: ... The nss-systemd glibc NSS module ...
  36. [36]
    Credentials in Linux — The Linux Kernel documentation
    The Linux kernel supports the following types of credentials: Traditional UNIX credentials. The UID and GID are carried by most, if not all, Linux objects.
  37. [37]
    UidNumber - LDAPWiki
    UidNumber ()user identifier, often abbreviated UID) is used in Unix Linux like and POSIX Operating Systems identify a user by a value called a user identifier.
  38. [38]
    capabilities(7) - Linux manual page - man7.org
    As with version 2 file capabilities, version 3 capability masks are 64 bits in size. But in addition, the root user ID of namespace is encoded in the security.
  39. [39]
    Abuse Elevation Control Mechanism: Setuid and Setgid
    Jan 30, 2020 · Tactics: Privilege Escalation ... Exaramel for Linux can execute commands with high privileges via a specific binary with setuid functionality.Missing: risks | Show results with:risks
  40. [40]
    user_namespaces(7) - Linux manual page - man7.org
    The uid_map file exposes the mapping of user IDs from the user namespace of the process pid to the user namespace of the process that opened uid_map (but see a ...
  41. [41]
    Security Identifiers - Win32 apps - Microsoft Learn
    Jul 9, 2025 · A security identifier (SID) is a unique value of variable length used to identify a trustee. Each account has a unique SID issued by an authority.
  42. [42]
    SID Components - Win32 apps - Microsoft Learn
    Jan 7, 2021 · A SID value includes components that provide information about the SID structure and components that uniquely identify a trustee.
  43. [43]
    Delving deep into user accounts in Directory Services
    Jul 31, 2024 · Directory Utility is now mainly used when integrating a Mac with a network directory server, including Open Directory (formerly in Mac OS X ...
  44. [44]
    Map the group ID, Primary GID, and UID to an Active Directory ...
    You can specify an Active Directory attribute to map to the group ID (GID), primary group ID (GID), and unique user ID (UID) attribute in macOS.
  45. [45]
    iCloud for Managed Apple Accounts
    Sep 24, 2025 · With iCloud services available to a Managed Apple Account, users can store content such as contacts, calendars, documents, and notes—and keep ...Icloud Drive · Icloud Keychain · Passkeys
  46. [46]
    Application Sandbox | Android Open Source Project
    This isolates apps from each other and protects apps and the system from malicious apps. To do this, Android assigns a unique user ID (UID) to each Android app ...
  47. [47]
  48. [48]
    On z/OS, what are the valid characters for a userid? - Stack Overflow
    Jul 7, 2023 · A RACF User ID can consist of AZ, 0-9, #, $, or @. It appears through testing that USERIDs are more restrictive than dataset names as the hyphen character is ...
  49. [49]
    Update RACF for the agent for z/OS started task
    A user is an alphanumeric user ID that RACF® associates with the user. The ... The USER parameter on the JOB card of a batch job to be submitted.
  50. [50]
    Configure a Security Context for a Pod or Container - Kubernetes
    Oct 12, 2025 · A security context defines privilege and access control settings for a Pod or Container. Security context settings include, ...Seccomp · AppArmor · Configuring RunAsUserName · Discretionary Access ControlMissing: orchestration | Show results with:orchestration
  51. [51]
    From Linux Primitives to Kubernetes Security Contexts - LearnKube
    The user namespace lets you remap UIDs inside a container to unprivileged UIDs on the host. This means a process can run as UID 0 (root) inside the container, ...