about summary refs log tree commit diff
path: root/manual/users.texi
diff options
context:
space:
mode:
Diffstat (limited to 'manual/users.texi')
-rw-r--r--manual/users.texi21
1 files changed, 16 insertions, 5 deletions
diff --git a/manual/users.texi b/manual/users.texi
index 8690b65633..4ed79ba26f 100644
--- a/manual/users.texi
+++ b/manual/users.texi
@@ -1730,6 +1730,16 @@ users.  The database itself is kept in the file @file{/etc/passwd} on
 most systems, but on some systems a special network server gives access
 to it.
 
+Historically, this database included one-way hashes of user
+passphrases (@pxref{Passphrase Storage}) as well as public information
+about each user (such as their user ID and full name).  Many of the
+functions and data structures associated with this database, and the
+filename @file{/etc/passwd} itself, reflect this history.  However,
+the information in this database is available to all users, and it is
+no longer considered safe to make passphrase hashes available to all
+users, so they have been moved to a ``shadow'' database that can only
+be accessed with special privileges.
+
 @menu
 * User Data Structure::         What each user record contains.
 * Lookup User::                 How to look for a particular user.
@@ -1753,8 +1763,10 @@ entries in the system user data base.  It has at least the following members:
 @item char *pw_name
 The user's login name.
 
-@item char *pw_passwd.
-The encrypted password string.
+@item char *pw_passwd
+Historically, this field would hold the one-way hash of the user's
+passphrase.  Nowadays, it will almost always be the single character
+@samp{x}, indicating that the hash is in the shadow database.
 
 @item uid_t pw_uid
 The user ID number.
@@ -2105,7 +2117,7 @@ rewritten on subsequent calls to @code{fgetpwent}.  You must copy the
 contents of the structure if you wish to save the information.
 
 The stream must correspond to a file in the same format as the standard
-password database file.
+user database file.
 @end deftypefun
 
 @deftypefun int fgetpwent_r (FILE *@var{stream}, struct passwd *@var{result_buf}, char *@var{buffer}, size_t @var{buflen}, struct passwd **@var{result})
@@ -2126,7 +2138,7 @@ first @var{buflen} bytes of the additional buffer pointed to by
 strings which are pointed to by the elements of the result structure.
 
 The stream must correspond to a file in the same format as the standard
-password database file.
+user database file.
 
 If the function returns zero @var{result} points to the structure with
 the wanted data (normally this is in @var{result_buf}).  If errors
@@ -2234,7 +2246,6 @@ avoid using it, because it makes sense only on the assumption that the
 on a system which merges the traditional Unix data base with other
 extended information about users, adding an entry using this function
 would inevitably leave out much of the important information.
-@c Then how are programmers to modify the password file? -zw
 
 The group and user ID fields are left empty if the group or user name
 starts with a - or +.