Passwd and Shadow Files

By Danny Kalev, ITworld |  How-to

A user account consists of a valid username and password, a home
directory, and a default shell. When the user attempts to log in, Linux
examines the passwd file to ensure that these requirements are met. The
passwd file, located in the /etc directory, contains user account
records each consisting of 7 fields separated by colons. Here's an
example of a passwd file:

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:
james:x:600:600:201-234-5678:/home/james:/bin/bash

Let's parse the last entry and learn what each field means.

* The user's username.
* The second field traditionally stores the user's password in an
encrypted form. However, newer Linux distributions use a
shadowing system (I will discuss shadowing shortly). Such systems
merely store a placeholder in this field and keep the passwords
in a different file.
* UID. This number is attached to the user's processes and thus
enables the sysadmin to associate the currently active processes
to their users. Although you can assign arbitrary UIDs to users,
restricting these numbers to a range (e.g., 600-699) is
advisable. Remember that UID 0 is reserved for root.
* GUID. A user may belong to several groups but has only one native
group. This field stores the native group value.
* The fifth field is called the General Electric Comprehensive
Operating System field (GECOS). Traditionally, it stores the
user's real name. However, you can store any other value in this
field such as the user's telephone number. This field is mostly
used for reporting purposes such as Finger queries. In this
example, the field contains the user's telephone number.
* User's home directory. In this example, the users home directory
is /home/james.
* User's default shell. The default shell is the one that Linux
invokes when the user has logged into the system. Although bash
is the most common shell, other options are available -- namely
ash, csh, ksh, tcsh, and zsh.

Shadowing
Shadowing systems store users' password and associated rules in a
special file called /etc/shadow. When a shadowing system is in use, the
passwd file remains readable but it doesn't contain passwords anymore.
Instead, the password field is filled with a placeholder.

Join us:
Facebook

Twitter

Pinterest

Tumblr

LinkedIn

Google+

Spotlight on ...
Online Training

    Upgrade your skills and earn higher pay

    Readers to share their best tips for maximizing training dollars and getting the most out self-directed learning. Here’s what they said.

     

    Learn more

Answers - Powered by ITworld

ITworld Answers helps you solve problems and share expertise. Ask a question or take a crack at answering the new questions below.

Join us:
Facebook

Twitter

Pinterest

Tumblr

LinkedIn

Google+

Ask a Question
randomness