CHPASS(1) UNIX Programmer's Manual CHPASS(1) NAME chpass - add or change user database information SYNOPSIS chpass [ -a list ] [ user ] DESCRIPTION _C_h_p_a_s_s allows editing of the user database information asso- ciated with _u_s_e_r or, by default, the current user. The information is formatted and supplied to an editor for changes. The _v_i editor will be used unless the environmen- tal variable EDITOR selects an alternate editor. When the editor terminates, the information is re-read and used to update the user database itself. Only the user, or the super-user, may edit the information associated with the user. Only the information that the user is allowed to change is displayed. Possible display items are as follows: Login: user's login name Password: user's encrypted password Uid: user's id Gid: user's login group id Change: password change time Expire: account expiration time Class: user's general classification Home Directory: user's home directory Shell: user's login shell Full Name: user's real name Location: user's normal location Home Phone: user's home phone Office Phone: user's office phone The _l_o_g_i_n field is the user name used to access the computer account. The _p_a_s_s_w_o_r_d field contains the encrypted form of the user's password. The _u_i_d field is the number associated with the _l_o_g_i_n field. Both of these fields should be unique across the system (and often across a group of systems) as they control file access. While it is possible to have multiple entries with identical login names and/or identical user id's, it is usually a mis- take to do so. Routines that manipulate these files will often return only one of the multiple entries, and that one by random selection. Printed 11/24/99 March 12, 1989 1 CHPASS(1) UNIX Programmer's Manual CHPASS(1) The _g_r_o_u_p field is the group that the user will be placed in upon login. Since this system supports multiple groups (see _g_r_o_u_p_s(1)) this field currently has little special meaning. This field may be filled in with either a number or a group name (see _g_r_o_u_p(5)). The _c_h_a_n_g_e field is the date by which the password must be changed. The _e_x_p_i_r_e field is the date on which the account expires. Both the _c_h_a_n_g_e and _e_x_p_i_r_e fields should be entered in the form ``month day year'' where _m_o_n_t_h is the month name (the first three characters are sufficient), _d_a_y is the day of the month, and _y_e_a_r is the year. The _c_l_a_s_s field is currently unused. In the near future it will be a key to a _t_e_r_m_c_a_p(5) style database of user attri- butes. The user's home directory is the full UNIX path name where the user will be placed on login. The shell field is the command interpreter the user prefers. If the _s_h_e_l_l field is empty, the Bourne shell (/_b_i_n/_s_h) is assumed. When altering a login shell, and not the super-user, the user must select an approved shell from the list in /_e_t_c/_s_h_e_l_l_s. The last four fields are for storing the user's full name, office location, and home and work telephone numbers. The super-user is also allowed to directly supply a user database entry, in the format specified by _p_a_s_s_w_d(5), as an argument to the -_a option. This argument must be a colon (``:'') separated list of all the user database fields, although they may be empty. Once the information has been verified, _c_h_p_a_s_s uses _m_k_p_a_s_s_w_d(8) to update the user database. This is run in the background, and, at very large sites could take several minutes. Until this update is completed, the password file is unavailable for other updates and the new information will not be available to programs. FILES /etc/master.passwd The user database /etc/shells The list of approved shells Printed 11/24/99 March 12, 1989 2 CHPASS(1) UNIX Programmer's Manual CHPASS(1) SEE ALSO login(1), finger(1), getusershell(3), passwd(5), mkpasswd(8), vipw(8) Robert Morris and Ken Thompson, _U_N_I_X _p_a_s_s_w_o_r_d _s_e_c_u_r_i_t_y BUGS User information should (and eventually will) be stored elsewhere. Printed 11/24/99 March 12, 1989 3