Passwd and Shadow Files
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.
Sign up for ITworld's Daily newsletter
Follow ITworld on Twitter @IT_world
Esther Schindler
If the comments are ugly, the code is ugly
claird
SVG a graphics format for 21st century
pasmith
Take Chrome OS for a test spin
Sandra Henry-Stocker
Solaris Tip: Have Your Files Changed Since Installation?
jfruh
Android fragments vs. the iPhone monolith
mikelgan
What Gizmodo missed about the Pro WX Wireless USB disk drive
Where Google Chrome security fails: the password
I heard mention that the Chrome OS will have some sort of encryption available a la bitlocker. If it's possible to encrypt personal data using another password or key, then it may have potential for very secure data.... And Ubuntu has an 'encrypt home directory' option, perhaps google should follow suit.
- Dann
Join the conversation here
Quick, practical advice for IT pros. Made fresh daily.
Want to cash in on your IT savvy? Send your tip to tips@itworld.com. If we post it, we'll send you a $25 Amazon e-gift card.













