What does linux user id mean?
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.
#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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



How to use Docker Desktop? Docker Desktop is a tool for running Docker containers on local machines. The steps to use include: 1. Install Docker Desktop; 2. Start Docker Desktop; 3. Create Docker image (using Dockerfile); 4. Build Docker image (using docker build); 5. Run Docker container (using docker run).

The key differences between CentOS and Ubuntu are: origin (CentOS originates from Red Hat, for enterprises; Ubuntu originates from Debian, for individuals), package management (CentOS uses yum, focusing on stability; Ubuntu uses apt, for high update frequency), support cycle (CentOS provides 10 years of support, Ubuntu provides 5 years of LTS support), community support (CentOS focuses on stability, Ubuntu provides a wide range of tutorials and documents), uses (CentOS is biased towards servers, Ubuntu is suitable for servers and desktops), other differences include installation simplicity (CentOS is thin)

Troubleshooting steps for failed Docker image build: Check Dockerfile syntax and dependency version. Check if the build context contains the required source code and dependencies. View the build log for error details. Use the --target option to build a hierarchical phase to identify failure points. Make sure to use the latest version of Docker engine. Build the image with --t [image-name]:debug mode to debug the problem. Check disk space and make sure it is sufficient. Disable SELinux to prevent interference with the build process. Ask community platforms for help, provide Dockerfiles and build log descriptions for more specific suggestions.

Docker process viewing method: 1. Docker CLI command: docker ps; 2. Systemd CLI command: systemctl status docker; 3. Docker Compose CLI command: docker-compose ps; 4. Process Explorer (Windows); 5. /proc directory (Linux).

VS Code system requirements: Operating system: Windows 10 and above, macOS 10.12 and above, Linux distribution processor: minimum 1.6 GHz, recommended 2.0 GHz and above memory: minimum 512 MB, recommended 4 GB and above storage space: minimum 250 MB, recommended 1 GB and above other requirements: stable network connection, Xorg/Wayland (Linux)

Docker uses Linux kernel features to provide an efficient and isolated application running environment. Its working principle is as follows: 1. The mirror is used as a read-only template, which contains everything you need to run the application; 2. The Union File System (UnionFS) stacks multiple file systems, only storing the differences, saving space and speeding up; 3. The daemon manages the mirrors and containers, and the client uses them for interaction; 4. Namespaces and cgroups implement container isolation and resource limitations; 5. Multiple network modes support container interconnection. Only by understanding these core concepts can you better utilize Docker.

VS Code is the full name Visual Studio Code, which is a free and open source cross-platform code editor and development environment developed by Microsoft. It supports a wide range of programming languages and provides syntax highlighting, code automatic completion, code snippets and smart prompts to improve development efficiency. Through a rich extension ecosystem, users can add extensions to specific needs and languages, such as debuggers, code formatting tools, and Git integrations. VS Code also includes an intuitive debugger that helps quickly find and resolve bugs in your code.

VS Code To switch Chinese mode: Open the settings interface (Windows/Linux: Ctrl, macOS: Cmd,) Search for "Editor: Language" settings Select "Chinese" in the drop-down menu Save settings and restart VS Code
