<!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN">
<link rel=
"STYLESHEET" href=
"lib.css" type='text/css'
/>
<link rel=
"SHORTCUT ICON" href=
"../icons/pyfav.png" type=
"image/png" />
<link rel='start' href='../index.html' title='Python Documentation Index'
/>
<link rel=
"first" href=
"lib.html" title='Python Library Reference'
/>
<link rel='contents' href='contents.html'
title=
"Contents" />
<link rel='index' href='genindex.html' title='Index'
/>
<link rel='last' href='about.html' title='About this document...'
/>
<link rel='help' href='about.html' title='About this document...'
/>
<link rel=
"next" href=
"module-grp.html" />
<link rel=
"prev" href=
"module-posix.html" />
<link rel=
"parent" href=
"unix.html" />
<link rel=
"next" href=
"module-grp.html" />
<meta name='aesop' content='information'
/>
<title>8.2 pwd -- The password database
</title>
<div id='top-navigation-panel' xml:id='top-navigation-panel'
>
<table align=
"center" width=
"100%" cellpadding=
"0" cellspacing=
"2">
<td class='online-navigation'
><a rel=
"prev" title=
"8.1.2 Module Contents"
href=
"posix-contents.html"><img src='../icons/previous.png'
border='
0' height='
32' alt='Previous Page' width='
32'
/></A></td>
<td class='online-navigation'
><a rel=
"parent" title=
"8. Unix Specific Services"
href=
"unix.html"><img src='../icons/up.png'
border='
0' height='
32' alt='Up One Level' width='
32'
/></A></td>
<td class='online-navigation'
><a rel=
"next" title=
"8.3 grp "
href=
"module-grp.html"><img src='../icons/next.png'
border='
0' height='
32' alt='Next Page' width='
32'
/></A></td>
<td align=
"center" width=
"100%">Python Library Reference
</td>
<td class='online-navigation'
><a rel=
"contents" title=
"Table of Contents"
href=
"contents.html"><img src='../icons/contents.png'
border='
0' height='
32' alt='Contents' width='
32'
/></A></td>
<td class='online-navigation'
><a href=
"modindex.html" title=
"Module Index"><img src='../icons/modules.png'
border='
0' height='
32' alt='Module Index' width='
32'
/></a></td>
<td class='online-navigation'
><a rel=
"index" title=
"Index"
href=
"genindex.html"><img src='../icons/index.png'
border='
0' height='
32' alt='Index' width='
32'
/></A></td>
<div class='online-navigation'
>
<b class=
"navlabel">Previous:
</b>
<a class=
"sectref" rel=
"prev" href=
"posix-contents.html">8.1.2 Module Contents
</A>
<b class=
"navlabel">Up:
</b>
<a class=
"sectref" rel=
"parent" href=
"unix.html">8. Unix Specific Services
</A>
<b class=
"navlabel">Next:
</b>
<a class=
"sectref" rel=
"next" href=
"module-grp.html">8.3 grp
</A>
<!--End of Navigation Panel-->
<H1><A NAME=
"SECTION0010200000000000000000">
8.2 <tt class=
"module">pwd
</tt> --
The password database
</A>
<A NAME=
"module-pwd"></A>
<p class=
"availability">Availability:
<span
class=
"platform">Unix
</span>.
</p>
This module provides access to the
<span class=
"Unix">Unix
</span> user account and password
database. It is available on all
<span class=
"Unix">Unix
</span> versions.
Password database entries are reported as a tuple-like object, whose
attributes correspond to the members of the
<code>passwd
</code> structure
(Attribute field below, see
<code><pwd.h
></code>):
<div class=
"center"><table class=
"realtable">
<th class=
"right" >Index
</th>
<th class=
"left" >Attribute
</th>
<th class=
"left" >Meaning
</th>
<tr><td class=
"right" valign=
"baseline">0</td>
<td class=
"left" ><code>pw_name
</code></td>
<td class=
"left" >Login name
</td></tr>
<tr><td class=
"right" valign=
"baseline">1</td>
<td class=
"left" ><code>pw_passwd
</code></td>
<td class=
"left" >Optional encrypted password
</td></tr>
<tr><td class=
"right" valign=
"baseline">2</td>
<td class=
"left" ><code>pw_uid
</code></td>
<td class=
"left" >Numerical user ID
</td></tr>
<tr><td class=
"right" valign=
"baseline">3</td>
<td class=
"left" ><code>pw_gid
</code></td>
<td class=
"left" >Numerical group ID
</td></tr>
<tr><td class=
"right" valign=
"baseline">4</td>
<td class=
"left" ><code>pw_gecos
</code></td>
<td class=
"left" >User name or comment field
</td></tr>
<tr><td class=
"right" valign=
"baseline">5</td>
<td class=
"left" ><code>pw_dir
</code></td>
<td class=
"left" >User home directory
</td></tr>
<tr><td class=
"right" valign=
"baseline">6</td>
<td class=
"left" ><code>pw_shell
</code></td>
<td class=
"left" >User command interpreter
</td></tr></tbody>
The uid and gid items are integers, all others are strings.
<tt class=
"exception">KeyError
</tt> is raised if the entry asked for cannot be found.
<span class=
"note"><b class=
"label">Note:
</b>
In traditional
<span class=
"Unix">Unix
</span> the field
<code>pw_passwd
</code> usually
contains a password encrypted with a DES derived algorithm (see module
<tt class=
"module"><a href=
"module-crypt.html">crypt
</a></tt><a id='l2h-
2973' xml:id='l2h-
2973'
></a>). However most modern unices
use a so-called
<em>shadow password
</em> system. On those unices the
<var>pw_passwd
</var> field only contains an asterisk (
<code>'*'
</code>) or the
letter
"<tt class="character
">x</tt>" where the encrypted password is stored in a file
<span class=
"file">/etc/shadow
</span> which is not world readable. Whether the
<var>pw_passwd
</var>
field contains anything useful is system-dependent.
</span>
It defines the following items:
<dl><dt><table cellpadding=
"0" cellspacing=
"0"><tr valign=
"baseline">
<td><nobr><b><tt id='l2h-
2974' xml:id='l2h-
2974'
class=
"function">getpwuid
</tt></b>(
</nobr></td>
<td><var>uid
</var>)
</td></tr></table></dt>
Return the password database entry for the given numeric user ID.
<dl><dt><table cellpadding=
"0" cellspacing=
"0"><tr valign=
"baseline">
<td><nobr><b><tt id='l2h-
2975' xml:id='l2h-
2975'
class=
"function">getpwnam
</tt></b>(
</nobr></td>
<td><var>name
</var>)
</td></tr></table></dt>
Return the password database entry for the given user name.
<dl><dt><table cellpadding=
"0" cellspacing=
"0"><tr valign=
"baseline">
<td><nobr><b><tt id='l2h-
2976' xml:id='l2h-
2976'
class=
"function">getpwall
</tt></b>(
</nobr></td>
<td><var></var>)
</td></tr></table></dt>
Return a list of all available password database entries, in arbitrary order.
<p class=
"heading">See Also:
</p>
<dl compact=
"compact" class=
"seemodule">
<dt>Module
<b><tt class=
"module"><a href=
"module-grp.html">grp
</a></tt>:
</b>
<dd>An interface to the group database, similar to this.
<div class='online-navigation'
>
<table align=
"center" width=
"100%" cellpadding=
"0" cellspacing=
"2">
<td class='online-navigation'
><a rel=
"prev" title=
"8.1.2 Module Contents"
href=
"posix-contents.html"><img src='../icons/previous.png'
border='
0' height='
32' alt='Previous Page' width='
32'
/></A></td>
<td class='online-navigation'
><a rel=
"parent" title=
"8. Unix Specific Services"
href=
"unix.html"><img src='../icons/up.png'
border='
0' height='
32' alt='Up One Level' width='
32'
/></A></td>
<td class='online-navigation'
><a rel=
"next" title=
"8.3 grp "
href=
"module-grp.html"><img src='../icons/next.png'
border='
0' height='
32' alt='Next Page' width='
32'
/></A></td>
<td align=
"center" width=
"100%">Python Library Reference
</td>
<td class='online-navigation'
><a rel=
"contents" title=
"Table of Contents"
href=
"contents.html"><img src='../icons/contents.png'
border='
0' height='
32' alt='Contents' width='
32'
/></A></td>
<td class='online-navigation'
><a href=
"modindex.html" title=
"Module Index"><img src='../icons/modules.png'
border='
0' height='
32' alt='Module Index' width='
32'
/></a></td>
<td class='online-navigation'
><a rel=
"index" title=
"Index"
href=
"genindex.html"><img src='../icons/index.png'
border='
0' height='
32' alt='Index' width='
32'
/></A></td>
<div class='online-navigation'
>
<b class=
"navlabel">Previous:
</b>
<a class=
"sectref" rel=
"prev" href=
"posix-contents.html">8.1.2 Module Contents
</A>
<b class=
"navlabel">Up:
</b>
<a class=
"sectref" rel=
"parent" href=
"unix.html">8. Unix Specific Services
</A>
<b class=
"navlabel">Next:
</b>
<a class=
"sectref" rel=
"next" href=
"module-grp.html">8.3 grp
</A>
<span class=
"release-info">Release
2.4.2, documentation updated on
28 September
2005.
</span>
<!--End of Navigation Panel-->
See
<i><a href=
"about.html">About this document...
</a></i> for information on suggesting changes.