35.2.pwd — The password database¶
This module provides access to the Unix user account and password database. Itis available on all Unix versions.
Password database entries are reported as a tuple-like object, whose attributescorrespond to the members of thepasswd structure (Attribute field below,see<pwd.h>):
| Index | Attribute | Meaning |
|---|---|---|
| 0 | pw_name | Login name |
| 1 | pw_passwd | Optional encrypted password |
| 2 | pw_uid | Numerical user ID |
| 3 | pw_gid | Numerical group ID |
| 4 | pw_gecos | User name or comment field |
| 5 | pw_dir | User home directory |
| 6 | pw_shell | User command interpreter |
The uid and gid items are integers, all others are strings.KeyError israised if the entry asked for cannot be found.
Note
In traditional Unix the fieldpw_passwd usually contains a passwordencrypted with a DES derived algorithm (see modulecrypt). However mostmodern unices use a so-calledshadow password system. On those unices thepw_passwd field only contains an asterisk ('*') or the letter'x'where the encrypted password is stored in a file/etc/shadow which isnot world readable. Whether thepw_passwd field contains anything useful issystem-dependent. If available, thespwd module should be used whereaccess to the encrypted password is required.
It defines the following items:
pwd.getpwuid(uid)¶Return the password database entry for the given numeric user ID.
pwd.getpwnam(name)¶Return the password database entry for the given user name.
pwd.getpwall()¶Return a list of all available password database entries, in arbitrary order.
