The functions and data structures for accessing the system user database are declared in the header file pwd.h.
passwd data structure is used to hold information about
entries in the system user data base. It has at least the following members:
The user’s login name.
Historically, this field would hold the one-way hash of the user’s passphrase. Nowadays, it will almost always be the single character ‘x’, indicating that the hash is in the shadow database.
The user ID number.
The user’s default group ID number.
A string typically containing the user’s real name, and possibly other information such as a phone number.
The user’s home directory, or initial working directory. This might be a null pointer, in which case the interpretation is system-dependent.
The user’s default shell, or the initial program run when the user logs in. This might be a null pointer, indicating that the system default should be used.