usermod - modify a user's login information on the system
usermod [ -u uid [-o]] [-g group] [ -G group [ , group...]]
[ -d dir [-m]] [-s shell] [-c comment] [-l new_name] [-
f inactive] [-e expire] [-A authorization [, authoriza-
tion]] [-P profile [, profile]] [-R role [, role]] login
The usermod utility modifies a user's login definition on
the system. It changes the definition of the specified login
and makes the appropriate login-related system file and file
The system file entries created with this command have a
limit of 512 characters per line. Specifying long arguments
to several options may exceed this limit.
The following options are supported:
One or more comma separated authorizations as defined
in auth_attr(4). Only a user or role who has grant
rights to the authorization can assign it to an
account. This replaces any existing authorization set-
Specify a comment string. comment can be any text
string. It is generally a short description of the
login, and is currently used as the field for the
user's full name. This information is stored in the
user's /etc/passwd entry.
Specify the new home directory of the user. It
defaults to base_dir/login, where base_dir is the base
directory for new login home directories, and
login is the new login.
Specify the expiration date for a login. After this
date, no user will be able to access this login. The
expire option argument is a date entered using one of
the date formats included in the template file
/etc/datemsk. See getdate(3C).
For example, you may enter 10/6/90 or October 6, 1990.
A value of `` '' defeats the status of the expired
Specify the maximum number of days allowed between
uses of a login ID before that login ID is declared
invalid. Normal values are positive integers. A value
of 0 defeats the status.
Specify an existing group's integer ID or character-
string name. It redefines the user's primary group
Specify an existing group's integer "ID" "," or char-
acter string name. It redefines the user's supplemen-
tary group membership. Duplicates between group with
the -g and
-G options are ignored. No more than NGROUPS_UMAX
groups may be specified as defined in <param.h>.
Specify the new login name for the user. The
new_logname argument is a string no more than eight
bytes consisting of characters from the set of alpha-
betic characters, numeric characters, period (.),
underline (_), and hypen (-). The first character
should be alphabetic and the field should contain at
least one lower case alphabetic character.
A warning message will be written if these restric-
tions are not met. A future Solaris release may refuse
to accept login fields that do not meet these require-
ments. The new_logname argument must contain at least
one character and must not contain a colon (:) or NEW-
-m Move the user's home directory to the new directory
specified with the -d option. If the directory already
exists, it must have permissions read/write/execute by
group, where group is the user's primary group.
-o This option allows the specified UID to be duplicated
One or more comma-separated execution profiles defined
in prof_attr(4). This replaces any existing profile
One or more comma-separated execution profiles defined
in auth_attr(4). This replaces any existing role set-
Specify the full pathname of the program that is used
as the user's shell on login. The value of shell must
be a valid executable file.
Specify a new UID for the user. It must be a non-
negative decimal integer less than MAXUID as defined
in <param.h>. The UID associated with the user's home
directory is not modified with this option; a user
will not have access to their home directory until the
UID is manually reassigned using chown(1M).
The following operands are supported:
An existing login name to be modified.
In case of an error, usermod prints an error message and
exits with one of the following values:
2 The command syntax was invalid. A usage message for
the usermod command is displayed.
3 An invalid argument was provided to an option.
4 The uid given with the -u option is already in use.
5 The password files contain an error. pwconv(1M) can be
used to correct possible errors. See passwd(4).
6 The login to be modified does not exist, the group
does not exist, or the login shell does not exist.
8 The login to be modified is in use.
9 The new_logname is already in use.
10 Cannot update the /etc/group or /etc/user_attr file.
Other update requests will be implemented.
11 Insufficient space to move the home directory (-m
option). Other update requests will be implemented.
12 Unable to complete the move of the home directory to
the new home directory.
system file containing group definitions
system file of date formats
system password file
system file containing users' encrypted passwords and
system file containing additional user and role attri-
See attributes(5) for descriptions of the following attri-
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Availability | SUNWcsu |
passwd(1), users(1B), chown(1M), groupadd(1M), groupdel(1M),
groupmod(1M), logins(1M), pwconv(1M), roleadd(1M),
roledel(1M), rolemod(1M), useradd(1M), userdel(1M),
getdate(3C), auth_attr(4), passwd(4), attributes(5)
The usermod utility modifies passwd definitions only in the
local /etc/passwd and /etc/shadow files. If a network
nameservice such as NIS or NIS+ is being used to supplement
the local files with additional entries, usermod cannot
change information supplied by the network nameservice. How-
ever usermod will verify the uniqueness of user name and
user ID against the external nameservice.
The usermod utility uses the /etc/datemsk file, available
with SUNWaccr, for date formatting.
Man(1) output converted with