Linux "useradd" Command Line Options and Examples
create a new user or update default new user information
useradd is a low level utility for adding users. On Debian, administrators should usually use adduser(8) instead. When invoked without the -D option, the useradd command creates a new user account using the values specified on the command line plus the default values from the system.
useradd [options] LOGIN
useradd -D [options]
Command Line Options:
The default base directory for the system if -d HOME_DIR is not specified. BASE_DIR is concatenated withthe account name to define the home directory. If the -m option is not used, BASE_DIR must exist.If this option is not specified, useradd will use the base directory specified by the HOME variable in/etc/default/useradd, or /home by default.
useradd -b ...
Any text string. It is generally a short description of the login, and is currently used as the field forthe user's full name.
useradd -c ...
The new user will be created using HOME_DIR as the value for the user's login directory. The default is toappend the LOGIN name to BASE_DIR and use that as the login directory name. The directory HOME_DIR doesnot have to exist but will not be created if it is missing.
useradd -d ...
See below, the subsection "Changing the default values".
useradd -D ...
The date on which the user account will be disabled. The date is specified in the format YYYY-MM-DD.If not specified, useradd will use the default expiry date specified by the EXPIRE variable in/etc/default/useradd, or an empty string (no expiry) by default.
useradd -e ...
The number of days after a password expires until the account is permanently disabled. A value of 0disables the account as soon as the password has expired, and a value of -1 disables the feature.If not specified, useradd will use the default inactivity period specified by the INACTIVE variable in/etc/default/useradd, or -1 by default.
useradd -f ...
The group name or number of the user's initial login group. The group name must exist. A group number mustrefer to an already existing group.If not specified, the behavior of useradd will depend on the USERGROUPS_ENAB variable in /etc/login.defs.If this variable is set to yes (or -U/--user-group is specified on the command line), a group will becreated for the user, with the same name as her loginname. If the variable is set to no (or
useradd -g ...
A list of supplementary groups which the user is also a member of. Each group is separated from the nextby a comma, with no intervening whitespace. The groups are subject to the same restrictions as the groupgiven with the -g option. The default is for the user to belong only to the initial group.
useradd -G ...
Display help message and exit.
useradd -h ...
The skeleton directory, which contains files and directories to be copied in the user's home directory,when the home directory is created by useradd.This option is only valid if the -m (or --create-home) option is specified.If this option is not set, the skeleton directory is defined by the SKEL variable in /etc/default/useraddor, by default, /etc/skel.If possible, the ACLs and extended attributes are copied.
useradd -k ...
Overrides /etc/login.defs defaults (UID_MIN, UID_MAX, UMASK, PASS_MAX_DAYS and others).Example: -K PASS_MAX_DAYS=-1 can be used when creating system account to turn off password aging, eventhough system account has no password at all. Multiple -K options can be specified, e.g.: -K UID_MIN=100
useradd -K ...
Do not add the user to the lastlog and faillog databases.By default, the user's entries in the lastlog and faillog databases are reset to avoid reusing the entryfrom a previously deleted user.For the compatibility with previous Debian's useradd, the -O option is also supported.
useradd -l ...
Create the user's home directory if it does not exist. The files and directories contained in the skeletondirectory (which can be defined with the -k option) will be copied to the home directory.By default, if this option is not specified and CREATE_HOME is not enabled, no home directories arecreated.
useradd -m ...
Do no create the user's home directory, even if the system wide setting from /etc/login.defs (CREATE_HOME)is set to yes.
useradd -M ...
Do not create a group with the same name as the user, but add the user to the group specified by the -goption or by the GROUP variable in /etc/default/useradd.The default behavior (if the -g, -N, and -U options are not specified) is defined by the USERGROUPS_ENABvariable in /etc/login.defs.
useradd -N ...
Allow the creation of a user account with a duplicate (non-unique) UID.This option is only valid in combination with the -u option.
useradd -o ...
The encrypted password, as returned by crypt(3). The default is to disable the password.Note: This option is not recommended because the password (or encrypted password) will be visible by userslisting the processes.You should make sure the password respects the system's password policy.
useradd -p ...
Create a system account.System users will be created with no aging information in /etc/shadow, and their numeric identifiers arechosen in the SYS_UID_MIN-SYS_UID_MAX range, defined in /etc/login.defs, instead of UID_MIN-UID_MAX (andtheir GID counterparts for the creation of groups).Note that useradd will not create a home directory for such a user, regardless of the default setting in/etc/login.defs (CREATE_HOME). You have to specify the -m options if you want a home directory for asystem account to be created.
useradd -r ...
Apply changes in the CHROOT_DIR directory and use the configuration files from the CHROOT_DIR directory.
useradd -R ...
The name of the user's login shell. The default is to leave this field blank, which causes the system toselect the default login shell specified by the SHELL variable in /etc/default/useradd, or an empty stringby default.
useradd -s ...
The numerical value of the user's ID. This value must be unique, unless the -o option is used. The valuemust be non-negative. The default is to use the smallest ID value greater than or equal to UID_MIN andgreater than every other user.See also the -r option and the UID_MAX description.
useradd -u ...
Create a group with the same name as the user, and add the user to this group.The default behavior (if the -g, -N, and -U options are not specified) is defined by the USERGROUPS_ENABvariable in /etc/login.defs.
useradd -U ...
The SELinux user for the user's login. The default is to leave this field blank, which causes the systemto select the default SELinux user.Changing the default valuesWhen invoked with only the -D option, useradd will display the current default values. When invoked with -Dplus other options, useradd will update the default values for the specified options. Valid default-changingoptions are:
useradd -Z ...