Today in this article we will explain /etc/passwd
file format on Linux or Unix operating system.
What is /etc/passwd file in Linux
The /etc/passwd
is a plain text file that stores essential information of all user accounts of a system. It contains information like user id, group id, home directory, etc. This file can be modified using command-line tools like usermod, useradd with root user permission. Many command-line utilities use this file to map user ids to user names.
How to display the content of /etc/passwd
You can use command-line tools like cat, less, or more to display the content of this file. Each line in the file contains a single user with some other information. Now use –
cat /etc/passwd
OR use one of the given commands to scroll and read the content –
less /etc/passwd
OR
more /etc/passwd
You can see the output in the given image –
Understanding the fields in /etc/passwd file
Each line in the file contains seven colon-separated fields. For example, the first line shows the root user information which has the given fields.
root:x:0:0:root:/root:/bin/bash
From left to right the information shows –
Username – It is used while user login. It should be between 1 to 32 characters in length. In the above example root
is the username.
Encrypted password – It is indicated using character ‘x’ and stored in /etc/shadow
file. This can be modified using the passwd
command.
User ID (UID) – UID is a number assigned to each user in a Linux or Unix system. The system identifies a user with its UID and uses it to determine which system resources a user can access. User id 0 is reserved for the root user.
Group ID (GID) – The next field shows the primary group id of a user.
Full name of the user – This field can contains the comma-separated full user name, phone number, and such other information.
User’s home directory – This shows the absolute path to the user’s home directory. By default, it is created with the name of the user under the /home
directory.
Default login shell – The absolute path to the default user’s login shell. By default, it is /bin/bash
for most of the Linux distribution. This can be changed later.
Conclusion
I hope you have a basic understanding of /etc/passwd
file in Linux. In case you have a query then write us in the comments below.