What does linux user id mean?

青灯夜游
青灯夜游Original
2023-03-16 10:39:583975browse

In Linux, User ID (User ID, referred to as UID) refers to the user identifier, which uniquely corresponds to the user name; in UNIX-like systems, it is an unsigned integer value used by the kernel to identify the user. , is also one of the necessary components of UNIX file systems and processes. Users with a UID greater than 500 are non-system accounts, and those with a UID less than 500 are accounts reserved by the system, such as the root account. The UID of the highest authority account is 0; when creating a user, the default UID of the account is greater than 500.

What does linux user id mean?

#The operating environment of this tutorial: linux7.3 system, Dell G3 computer.

When you log in to the Linux system, although you enter your own username and password, Linux does not actually know your username. It only knows the ID number (that is, a string of numbers) corresponding to the username. The Linux system stores the correspondence between all user names and IDs in the /etc/passwd file.

In the Linux system, each user's ID is subdivided into two types, namely user ID (User ID, referred to as UID) and group ID (Group ID, referred to as GID). This is related to the fact that files have owners and There are two attributes corresponding to the group. Let’s take you through the user ID (UID).

linux User ID (UID)

User ID (English: user identifier, generally abbreviated as User ID or UID), full name user identifier Character, in UNIX-like systems, is an unsigned integer value used by the kernel to identify users. It is also one of the necessary components of UNIX file systems and processes.

UID---User identification number, which uniquely corresponds to the user name. The UID of the superuser root in LINUX is 0. If you want the system to display your user name, UID, group name, GID and the names of other groups to which you belong, you can use the id command. To modify the UID, usermod -u is generally used.

UID is the identifier used to represent the user in the system. The uid of the started process is the uid of the currently logged in user. To view the user uid, use the id -u <username> command

It should be noted that when checking permissions, the euid is checked. Normally, the euid of the process is the same as the uid.

Users whose UID is greater than 500 are non-system accounts, and those below 500 are accounts reserved by the system, such as the root account. The UID of the highest authority account is 0, which is the default account UID when we create a user. They are all greater than 500. If you want to specify the UID of the account, you can use the -u parameter to specify it. Nothing else is of much significance.

Value range

In different systems, the range of UID values ​​​​is also different, but generally It is said that UID is represented by a 15-digit integer, which ranges from 0 to 32767, and has the following restrictions:

  • The UID of the super user is always 0;

  • According to traditional practice, "nobody" (a special account in UNIX-like systems) is the opposite of the super user and always occupies the PID with the largest value, which is 32767; correspondingly, the current system is nobody The assigned UID is within the system reserved range (1 to 100) or the range of 65530-65535 [1].

  • UIDs with values ​​between 1 and 100 are reserved for system use. Some manuals recommend reserving 101 to 499 (such as RHEL) or even 101 to 999 on this basis. (such as Debian) as a backup; correspondingly, when you use the useradd command to create the first user in Linux, the default UID assigned to it is 1000.

In addition, some special systems also support 16-bit UIDs, so the number of UIDs can be expanded to 65536; modern systems support 32-bit UIDs, which also makes the UID It is possible to further expand the number to 4,294,967,296.

UID Category

  • Effective User ID

    Effective User ID (Effective UID, or EUID) and effective user group ID (Effective Group ID, or EGID) play a role when creating and accessing files; specifically, when creating a file, the system kernel will use the EUID and EGID of the process that created the file. Set the owner/group attributes of the file. When accessing the file, the kernel also determines whether it can access the file based on the EUID and EGID of the accessing process.

  • Real User ID

    Real User ID (Real UID, RUID) and Real User Group ID (Real GID, RGID) are used It is used to identify the real owner of the process and affects the process's permission to send signals. A process without superuser privileges can only send signals to the target process if its RUID matches the RUID of the target process. For example, between a parent and child process, the child process inherits the authentication information from the parent process, so that the parent and child processes can send signals to each other. .

  • Temporary user ID

    The temporary user ID (Saved UID, SUID) is used when a process running with elevated privileges temporarily needs to do some operations that do not require privileges. In this case, the process will temporarily change its effective user ID from the privileged user ( The UID corresponding to (usually root) is changed to the UID corresponding to a non-privileged user, and then the original privileged user UID is copied to a SUID for temporary storage; later, when the process completes operations that do not require privileges, the process uses the SUID value to reset EUID to regain privileges. It should be noted here that the EUID value of an unprivileged process can only be set to the same value as one of RUID, SUID and EUID (that is, it does not change).

  • File System User ID

    File System UID (FSUID) is used in Linux and is only used for The access permission control of the file system is the same as EUID without explicit setting (if FSUID is the UID of root, then at least one of SUID, RUID and EUID must also be UID of root), and EUID changes will also affect FSUID . FSUID is established to allow programs (such as NFS servers) to limit their file system permissions with the permissions of a given UID without obtaining a signal to the account with a given UID.

Miscellaneous

The corresponding relationship between the UID value and the user account is stored in /etc/passwd. /etc/shadow and network information services used to store passwords also use UID values ​​to identify users, but now the shadow file under Linux systems has switched to using account names to identify users.

In a POSIX-compliant environment, the id command can give the username, group to which the current user belongs, and the corresponding UID and GID values.

Related recommendations: "Linux Video Tutorial"

The above is the detailed content of What does linux user id mean?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn