usermod(1M)
NAME
usermod − modify a user login on the system
SYNOPSIS
usermod [-u uid [-o] ] [-g group] [-G group [, group...]] [-d dir [-m] ] [-s shell] [-c comment]
[-f inactive] [-l new_logname] [-e expire] login
DESCRIPTION
The usermod command modifies a user login on the system by changing the appropriate login related files.
The usermod command requires the login argument. login is a new login name, specified as a string of printable characters. It may not contain a colon (:) or a newline (\n).
Options
The usermod command supports the following options:
-u uid Specifies the UID for the new user. uid must be a non-negative decimal integer less than MAXUID as it is defined in the <param.h> header file.
-o Allows the UID to be non-unique (i.e., a duplicate).
-g group Specifies the integer group ID or character string name of an existing group. This redefines the primary group membership of the new login.
-G group Specifies the integer group ID or character string name of an existing group. This redefines the supplemental group memberships of the new login. Duplicates within group with the -g and -G options are ignored.
-d dir Specifies the new home directory of the login. It defaults to base_dir/login, where login is the new login and base_dir is the base directory for new login home directories.
-m Move the user’s home directory to the directory specified with the -d option. If the home directory exists, the directory must have read, write, and execute permission by group, where group is the primary group of the login.
-s shell Specifies the full pathname of the login shell. The value of shell must be a valid executable file.
-c comment Specifies the comment field present in the /etc/passwd entry of this login. This can be any text string. A short description of the new login is suggested for this field.
-f inactive Specifies the maximum number of days of continuous inactivity of the login before the login is declared invalid. Normal values are positive integers, while a value of −1 defeats this status.
-l new_logname Specifies the new login name for the user. It consists of a string of printable characters that does not contain a colon (:) or a newline (\n).
-e expire Specifies the date on which this login can no longer be used. After expire, no user will be able to access this login. This option is used to create temporary logins. expire, which is a date, may be typed in any desired format, except a Julian date. For example, a date may be entered as either of the following:
July 13, 1993
7/13/93
A value of defeats the expired date status.
Unless enhanced security is installed (see pwconv(1M)), the -e and -f options are not supported and will return an error.
NETWORKING FEATURES
NIS
The usermod command is aware of NIS user and group entries. Only local users and groups may be modified with this command. Attempts to modify an NIS user or group will result in an error. NIS users and groups must be administered from the NIS server. This command may fail with the error
login x does not exist
(return value 6) if the user specified is an NIS user (see passwd(4)). However, NIS users are checked when verifying uniqueness of the new UID or the new user name. Also, the error
Cannot modify /etc/group file, /etc/passwd was modified
(return value 10) may be returned if a group specified with either the -g option or the -G option is an NIS group (see group(4)).
NFS
Errors may occur with the -m option if either the source or the target directory is within an NFS mounted file system that does not allow root privileges across the NFS mount and the directory or files within the directory do not have sufficient permissions.
RETURN VALUE
usermod exits with one of the following values:
0 Successful completion.
2 Invalid command syntax.
3 Invalid argument supplied to an option.
4 uid is not unique (when -o is not used).
6 The login to be modified or the group specified with the -g option does not exist.
8 The login to be modified is in use.
9 new_logname is not unique.
10 Cannot modify the /etc/group file. The other parts of the update request will be performed.
11 There is insufficient space to move the home directory (with the -m option). The other parts of the update request will be performed.
12 Unable to complete the move of the home directory to the new home directory.
13 Unable to open /etc/ptmp file, or /etc/passwd file is non-existent.
14 /etc/passwd file or /etc/ptmp file busy. Another command may be modifying the /etc/passwd file.
15 Cannot modify the entry in the /etc/passwd file.
EXAMPLES
Change otto’s primary group to staff.
usermod -g staff otto
Change otto’s user ID to 333 and change the login name to bob.
usermod -u 333 -l bob otto
WARNINGS
As many users may try to write the /etc/passwd file simultaneously, a passwd locking mechanism was deviced. If this locking fails after subsequent retrying, usermod terminates.
FILES
/etc/passwd
/etc/group
/etc/ptmp
SEE ALSO
passwd(1), users(1), groupadd(1M), groupdel(1M), groupmod(1M), logins(1M), passwd(1M), useradd(1M), userdel(1M), group(4).
STANDARDS COMPLIANCE
usermod: SVID3
Hewlett-Packard Company — HP-UX Release 10.20: July 1996