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

# NAME

`usermod` —
modify user login information

# SYNOPSIS

`usermod` | [`-FmoSv`] [`-C` yes/no] [`-c` comment] [`-d` home-dir] [`-e` expiry-time] [`-f` inactive-time] [`-G` secondary-group] [`-g` gid | name | `=uid`] [`-L` login-class] [`-l` new-login] [`-p` password] [`-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.

See user(8) for more information about `EXTENSIONS`.

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

`-C` yes/no
  Enable user accounts to be temporary locked/closed. The yes/no operand can be given as “yes” to lock the account or “no” to unlock the account.
`-c` comment
  Set the comment field (also, for historical reasons known as the GECOS field) for the user. The comment field will typically include the user's full name and, perhaps, contact information for the user.
`-d` home-directory
  Set the home directory without populating it; if the `-m` option is specified, tries to move the old home directory to home-directory.
`-e` expiry-time
  Set the time at which the account expires. This can be used to implement password aging. 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 all users using the expire field in the /etc/usermgmt.conf file. See usermgmt.conf(5) for more details.
`-F`
  Force the user to change their password upon next login.
`-f` inactive-time
  Set the time at which the password expires. See the `-e` option.
`-G` secondary-group
  Specify a secondary group to which the user will be added in the /etc/group file. The secondary-group may be a comma-delimited list for multiple groups. Or the option may be repeated for multiple groups. (16 groups maximum.)
`-g` gid | name | `=uid`
  Give the group name or identifier to be used for the user's primary group. If this is ‘`=uid`’, then a uid and gid will be picked which are both unique and the same, and a line will be added to /etc/group to describe the new group. This value 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
  Set the login class for the user. 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. This option is included if built with `EXTENSIONS`.
`-l` new-user
  Give the new user name. It can consist of alphanumeric characters and the characters ‘`.`’, ‘`-`’, and ‘`_`’.
`-m`
  Move 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`
  Allow duplicate uids to be given.
`-p` password
  Specify an already-encrypted password 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. This option is included if built with `EXTENSIONS`.
`-S`
  Allow samba user names with a trailing dollar sign to be modified. This option is included if built with `EXTENSIONS`.
`-s` shell
  Specify 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` uid
  Specify 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`
  Enable verbose mode - explain the commands as they are executed. This option is included if built with `EXTENSIONS`.

Once the information has been verified, `usermod` uses pwd_mkdb(8) to update the user database. This is run in the background. At very large sites this can 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), user(8), useradd(8), userdel(8)

# HISTORY

The `usermod` utility first appeared in NetBSD 1.5. It is based on the addnerd package by the same author.

# AUTHORS

The `usermod` utility was written by Alistair G. Crooks ⟨agc@NetBSD.org⟩.

January 13, 2009 | NetBSD 10.1