USERMOD(8) | System Manager's Manual | USERMOD(8)

# NAME

`usermod` — modify user login information

# SYNOPSIS

`usermod` | [`-moUvZ`] [`-c` comment] [`-d` home-directory] [`-e` expiry-time] [`-f` inactive-time] [`-G` secondary-group[,group,...]] [`-g` gid | name | `=uid`] [`-L` login-class] [`-l` new-login] [`-p` password] [`-S` secondary-group[,group,...]] [`-s` shell] [`-u` uid] user

# DESCRIPTION

The `usermod` utility modifies user login information on the system.

Default values are taken from the information provided in the /etc/usermgmt.conf file, which, if running as root, is created using the built-in defaults if it does not exist.

After setting any defaults, and then reading values from /etc/usermgmt.conf, the following command line options are processed:

`-c` comment
  Sets the comment field (also, for historical reasons known as the GECOS field) which will be added for the user, and typically will include the user's full name and, perhaps, contact information for the user.
`-d` home-directory
  Sets the home directory to home-directory without populating it; if the `-m` option is specified, tries to move the old home directory to home-directory.
`-e` expiry-time
  Sets the time at which the account expires. It 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. Time in seconds since the Epoch (UTC) is also valid. A value of 0 can be used to disable this feature. This value can be preset for new users using the expire field in the /etc/usermgmt.conf file. See usermgmt.conf(5) for more details.
`-f` inactive-time
  Sets the time at which the password expires. See the `-e` option.
`-G` secondary-group[,group,...]
  Appends the user to the given groups in the /etc/group file. `-G` and `-S` are mutually exclusive.
`-g` gid | name | `=uid`
  Gives the group name or identifier to be used for the user's primary group. If this is the special string `=uid`, `usermod` creates a group with the same ID as the UID; if such a group already exists a warning is given and no group is created. Groups can be preset for all users by using the group field in the /etc/usermgmt.conf file. See usermgmt.conf(5) for more details.
`-L` login-class
  This option sets the login class for the user being created. See login.conf(5) for more information on user login classes. This value can be preset for all users by using the class field in the /etc/usermgmt.conf file. See usermgmt.conf(5) for more details.
`-l` new-login
  Gives the new user name. It must consist of alphanumeric characters, or the characters ‘`.`’, ‘`-`’ or ‘`_`’.
`-m`
  Moves the home directory from its old position to the new one. If `-d` is not specified, the new-user argument of the `-l` option is used; one of `-d` and `-l` is needed.
`-o`
  Allows duplicate UIDs to be given.
`-p` password
  Specifies a password encrypted with encrypt(1) for the user. This password can then be changed by using the chpass(1) utility. This value can be preset for all users by using the password field in the /etc/usermgmt.conf file. See usermgmt.conf(5) for more details.
`-S` secondary-group[,group,...]
  Sets the secondary groups the user will be a member of in the /etc/group file. Setting secondary-group to an empty value (e.g. '') removes the user from all secondary groups. `-S` and `-G` are mutually exclusive.
`-s` shell
  Specifies the login shell for the user. This value can be preset for all users by using the shell field in the /etc/usermgmt.conf file. See usermgmt.conf(5) for more details.
`-U`
  Unlock the account by removing the trailing ‘`-`’ from the user's shell and the ‘`*`’ prefix from the password. `-U` and `-Z` are mutually exclusive and cannot be used with `-p`.
`-u` uid
  Specifies a new UID for the user. Boundaries for this value can be preset for all users by using the range field in the /etc/usermgmt.conf file. See usermgmt.conf(5) for more details.
`-v`
  Enables verbose mode - explain the commands as they are executed.
`-Z`
  Lock the account by appending a ‘`-`’ to the user's shell and prefixing the password with ‘`*`’. `-Z` and `-U` are mutually exclusive and cannot be used with `-p`.

Once the information has been verified, `usermod` uses pwd_mkdb(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 is not available to programs.

# FILES

/etc/usermgmt.conf

# EXIT STATUS

The `usermod` utility exits 0 on success, and >0 if an error occurs.

# SEE ALSO

chpass(1), group(5), passwd(5), usermgmt.conf(5), pwd_mkdb(8)

# STANDARDS

Other implementations of the `usermod` utility use the inactive-time parameter to refer to the maximum number of days allowed between logins (this is used to lock "stale" accounts that have not been used for a period of time). However, on OpenBSD systems this parameter refers instead to the password change time. This is due to differences in the passwd(5) database compared to other operating systems.

# HISTORY

The `usermod` utility first appeared in OpenBSD 2.7.

# AUTHORS

The `usermod` utility was written by Alistair G. Crooks <agc@NetBSD.org>.

November 30, 2016 | Debian