chpass
chfn,
chsh
add or change user database information
SYNOPSIS
chpass
[-ly]
[-s newshell]
[user]
chpass
[-l]
-a list
DESCRIPTION
chpass
allows editing of the user database information associated
with
user,
or, by default, the current user.
The information is formatted and supplied to an editor for changes.
Only the information that the user is allowed to change is displayed.
If YP is enabled change requests are first tried in the local database,
and then in the YP database, if there was no entry to change locally.
chfn
and
chsh
are synonyms for
chpass.
The options are as follows:
-a list
The superuser is allowed to directly supply a user database
entry, in the format specified by
passwd(5),
as an argument.
This argument must be a colon
(\&:)
separated list of all the
user database fields, although they may be empty.
This operation is not supported in YP environments; only local additions
can be performed which requires the
-l
flag to be specified.
-l
In environments where YP is enabled, always alter local information as
opposed to information in YP.
-s newshell
Attempts to change the user's shell to
newshell.
-y
In environments where YP is enabled, always change the YP entry, even if this
is a modification request and there is a local entry for the specified user.
Possible display items are as follows:
Login:
user's login name
Password:
user's encrypted password
Uid:
user's login
Gid:
user's login group
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
Office Location:
user's office location
Office Phone:
user's office phone
Home Phone:
user's home phone
The
login
field is the user name used to access the computer account.
The
password
field contains the encrypted form of the user's password.
The
uid
field is the number associated with the
login
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 IDs, 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.
The
group
field is the group that the user will be placed in at login.
Since BSD supports multiple groups (see
groups(1/)),
this field currently has little special meaning.
This field may be filled in with either a number or a group name (see
group(5/)).
The
change
field is the date by which the password must be changed.
The
expire
field is the date on which the account expires.
Both the
change
and
expire
fields should be entered in the form ``month day year'' where
month
is the month name (the first three characters are sufficient),
day
is the day of the month, and
year
is the year.
The
class
field specifies a key in the
login.conf(5)
database of login class attributes.
If empty, the
default
record is used.
The user's
homedirectory
is the full
.Ux
path name where the user will be placed at login.
The
shell
field is the command interpreter the user prefers.
If the
shell
field is empty, the Bourne shell
(/bin/sh)
is assumed.
When altering a login shell, and not the superuser, the user
may not change from a non-standard shell or to a non-standard
shell.
Non-standard is defined as a shell not found in
/etc/shells.
The last four fields are for storing the user's
fullname , office location,
and
work
and
hometelephone
numbers.
Once the information has been verified,
chpass
uses
pwd_mkdb(8)
to update the user database.
ENVIRONMENT
The
vi(1)
editor will be used unless the environment variable
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 superuser, may edit the information associated
with the user.
FILES
/etc/master.passwd
user database
/etc/passwd
a Version 7 format password file
/etc/ptmp
lock file for the passwd database
/etc/shells
list of approved shells
/var/tmp/pw.XXXXXXXXXX
temporary copy of the user passwd information
DIAGNOSTICS
The password file is currently locked by another process;
chpass
will keep trying to lock the password file until it succeeds or
the user hits the interrupt character (control-C by default).
If
chpass
is interrupted while trying to gain the lock any changes made will be lost.
If the process holding the lock was prematurely terminated the lock
file may be stale and
chpass
will wait forever trying to lock the password file.
To determine whether a live process is actually holding the lock, the
admin may run the following:
$ fstat /etc/ptmp
If no process is listed, it is safe to remove the
/etc/ptmp
file to clear the error.