.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgement:
-.\" This product includes software developed by the University of
-.\" California, Berkeley and its contributors.
-.\" 4. Neither the name of the University nor the names of its contributors
+.\" 3. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" SUCH DAMAGE.
.\"
.\" @(#)chpass.1 8.2 (Berkeley) 12/30/93
+.\" $FreeBSD: src/usr.bin/chpass/chpass.1,v 1.38.2.1 2005/09/24 01:59:39 keramida Exp $
.\"
.Dd December 30, 1993
.Dt CHPASS 1
.Os
.Sh NAME
-.Nm chpass
+.Nm chpass ,
+.Nm chfn ,
+.Nm chsh
+.\".Nm ypchpass ,
+.\".Nm ypchfn ,
+.\".Nm ypchsh
.Nd add or change user database information
.Sh SYNOPSIS
-chpass
-.Op Fl a Ar list
+.Nm
+.\".Op Fl a Ar list
+.\".Op Fl p Ar encpass
+.\".Op Fl e Ar expiretime
+.Op Fl l Ar location
+.Op Fl u Ar authname
.Op Fl s Ar newshell
.Op user
.Sh DESCRIPTION
-.Nm Chpass
+The
+.Nm
+utility
allows editing of the user database information associated
with
.Ar user
or, by default, the current user.
+.Pp
+The
+.Nm
+utility
+.Em cannot
+change the user's password on Open Directory
+systems. Use the
+.Xr passwd 1
+utility instead.
+.Pp
+The
+.Nm chfn ,
+and
+.Nm chsh
+.\".Nm ypchpass ,
+.\".Nm ypchfn
+.\"and
+.\".Nm ypchsh
+utilities behave identically to
+.Nm .
+(There is only one program.)
+.Pp
The information is formatted and supplied to an editor for changes.
.Pp
Only the information that the user is allowed to change is displayed.
.Pp
The options are as follows:
-.Bl -tag -width Ds
-.It Fl a
-The super-user is allowed to directly supply a user database
-entry, in the format specified by
-.Xr passwd 5 ,
-as an argument.
-This argument must be a colon (``:'') separated list of all the
-user database fields, although they may be empty.
-.It Fl s
-The
-.Fl s
-option attempts to change the user's shell to
+.Bl -tag -width indent
+.\".It Fl a
+.\"The super-user is allowed to directly supply a user database
+.\"entry, in the format specified by
+.\".Xr passwd 5 ,
+.\"as an argument.
+.\"This argument must be a colon
+.\".Pq Dq \&:
+.\"separated list of all the
+.\"user database fields, although they may be empty.
+.\".It Fl p
+.\"The super-user is allowed to directly supply an encrypted password field,
+.\"in the format used by
+.\".Xr crypt 3 ,
+.\"as an argument.
+.\".It Fl e Ar expiretime
+.\"Change the account expire time.
+.\"This option is used to set the expire time
+.\"from a script as if it were done in the interactive editor.
+.It Fl l Ar location
+If not specified,
+.Nm
+will perform a search for the user record on all available
+Open Directory nodes.
+When specified,
+.Nm
+will edit the user record on the directory node at the given
+.Ar location .
+.It Fl u Ar authname
+The user name to use when authenticating to the directory node containing the
+user.
+.It Fl s Ar newshell
+Attempt to change the user's shell to
.Ar newshell .
.El
.Pp
Possible display items are as follows:
.Pp
-.Bl -tag -width "Home Directory:" -compact -offset indent
+.Bl -tag -width "Other Information:" -compact -offset indent
.It Login:
user's login name
-.It Password:
-user's encrypted password
+.\".It Password:
+.\"user's encrypted password
.It Uid:
user's login
.It Gid:
user's login group
-.It Change:
-password change time
-.It Expire:
-account expiration time
-.It Class:
-user's general classification
-.It Home Directory:
-user's home directory
-.It Shell:
-user's login shell
+.It Generated uid:
+user's UUID
+.\".It Class:
+.\"user's general classification
+.\".It Change:
+.\"password change time
+.\".It Expire:
+.\"account expiration time
.It Full Name:
user's real name
-.It Location:
-user's normal location
-.It Home Phone:
-user's home phone
+.It Office Location:
+user's office location
.It Office Phone:
user's office phone
+.It Home Phone:
+user's home phone
+.\".It Other Information:
+.\"any locally defined parameters for user
+.It Home Directory:
+user's home directory
+.It Shell:
+user's login shell
+.Pp
+.\".It NOTE(1) -
+.\"In the actual master.passwd file, these fields are comma-delimited
+.\"fields embedded in the FullName field.
.El
.Pp
The
.Ar login
field is the user name used to access the computer account.
-.Pp
-The
-.Ar password
-field contains the encrypted form of the user's password.
+.\".Pp
+.\"The
+.\".Ar password
+.\"field contains the encrypted form of the user's password.
.Pp
The
.Ar uid
across a group of systems) as they control file access.
.Pp
While it is possible to have multiple entries with identical login names
-and/or identical user id's, it is usually a mistake to do so. Routines
+and/or identical user id's, it is usually a mistake to do so.
+Routines
that manipulate these files will often return only one of the multiple
entries, and that one by random selection.
.Pp
The
.Ar group
field is the group that the user will be placed in at login.
-Since BSD supports multiple groups (see
+Since
+.Bx
+supports multiple groups (see
.Xr groups 1 )
this field currently has little special meaning.
This field may be filled in with either a number or a group name (see
.Xr group 5 ) .
.Pp
The
-.Ar change
-field is the date by which the password must be changed.
-.Pp
+.Ar generated uid
+field is the globally unique identifier (UUID) for the user.
+.\".Pp
+.\"The
+.\".Ar class
+.\"field references class descriptions in
+.\".Pa /etc/login.conf
+.\"and is typically used to initialize the user's system resource limits
+.\"when they login.
+.\".Pp
+.\"The
+.\".Ar change
+.\"field is the date by which the password must be changed.
+.\".Pp
+.\"The
+.\".Ar expire
+.\"field is the date on which the account expires.
+.\".Pp
+.\"Both the
+.\".Ar change
+.\"and
+.\".Ar expire
+.\"fields should be entered in the form
+.\".Dq month day year
+.\"where
+.\".Ar month
+.\"is the month name (the first three characters are sufficient),
+.\".Ar day
+.\"is the day of the month, and
+.\".Ar year
+.\"is the year.
+.\".Pp
+.\"Five fields are available for storing the user's
+.\".Ar full name , office location ,
+.\".Ar work
+.\"and
+.\".Ar home telephone
+.\"numbers and finally
+.\".Ar other information
+.\"which is a single comma delimited string to represent any additional
+.\"gcos fields (typically used for site specific user information).
+.\"Note that
+.\".Xr finger 1
+.\"will display the office location and office phone together under the
+.\"heading
+.\".Ar Office: .
The
-.Ar expire
-field is the date on which the account expires.
-.Pp
-Both the
-.Ar change
-and
-.Ar expire
-fields should be entered in the form ``month day year'' where
-.Ar month
-is the month name (the first three characters are sufficient),
-.Ar day
-is the day of the month, and
-.Ar year
-is the year.
-.Pp
-The
-.Ar class
-field is currently unused. In the near future it will be a key to
-a
-.Xr termcap 5
-style database of user attributes.
+.Ar full name
+field contains the full name of the user.
.Pp
The user's
.Ar home directory
-is the full UNIX path name where the user
+is the full
+.Ux
+path name where the user
will be placed at login.
.Pp
The
Non-standard is defined as a shell not found in
.Pa /etc/shells .
.Pp
-The last four fields are for storing the user's
-.Ar full name , office location ,
-and
-.Ar home
-and
-.Ar work telephone
-numbers.
-.Pp
-Once the information has been verified,
-.Nm chpass
-uses
-.Xr pwd_mkdb 8
-to update the user database.
+The
+.Ar picture
+field is the path to a picture to be displayed for the user.
+.Sh OPEN DIRECTORY
+User database entries are under the control of
+.Xr DirectoryService 8
+and may be physically located in many different places,
+including the local Directory Service node,
+and remote LDAP servers.
+This version of
+.Nm
+uses Open Directory to change user database information.
+It does not interact with the historic flat file
+database
+.Pa /etc/master.passwd
+.
.Sh ENVIRONMENT
The
.Xr vi 1
-editor will be used unless the environment variable EDITOR is set to
+editor will be used unless the environment variable
+.Ev EDITOR
+is set to
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.
.Sh FILES
-.Bl -tag -width /etc/master.passwd -compact
-.It Pa /etc/master.passwd
-The user database
-.It Pa /etc/passwd
-A Version 7 format password file
+.Bl -tag -width /etc/chpass.XXXXXX -compact
.It Pa /etc/chpass.XXXXXX
-Temporary copy of the password file
+temporary copy of the data to edit
.It Pa /etc/shells
-The list of approved shells
+the list of approved shells
.El
.Sh SEE ALSO
+.\".Xr finger 1 ,
.Xr login 1 ,
-.Xr finger 1 ,
.Xr passwd 1 ,
.Xr getusershell 3 ,
-.Xr passwd 5 ,
-.Xr pwd_mkdb 8 ,
-.Xr vipw 8
+.Xr passwd 5
.Rs
.%A Robert Morris
-and
.%A Ken Thompson
.%T "UNIX Password security"
.Re
-.Sh BUGS
-User information should (and eventually will) be stored elsewhere.
.Sh HISTORY
The
.Nm
-command appeared in
+utility appeared in
.Bx 4.3 Reno .