USERADD(8)                                                          USERADD(8)


       useradd - Create a new user or update default new user information


       useradd [options] LOGIN

       useradd -D

       useradd -D [options]


   Creating New Users
       When invoked without the -D option, the useradd command creates a new
       user account using the values specified on the command line and the
       default values from the system. Depending on command line options, the
       useradd command will update system files and may also create the new
       user’s home directory and copy initial files. The version provided with
       Red Hat Linux will create a group for each user added to the system by


       The options which apply to the useradd command are:

       -c, --comment COMMENT
              Any text string. It is generally a short description of the
              login, and is currently used as the field for the user’s full

       -b, --base-dir BASE_DIR
              The default base directory for the system if -d dir is not
              specified.  BASE_DIR is concatenated with the account name to
              define the home directory. If the -m option is not used,
              base_dir must exist.

       -d, --home HOME_DIR
              The new user will be created using HOME_DIR as the value for the
              user’s login directory. The default is to append the LOGIN name
              to BASE_DIR and use that as the login directory name.

       -e, --expiredate EXPIRE_DATE
              The date on which the user account will be disabled. The date is
              specified in the format YYYY-MM-DD.

       -f, --inactive INACTIVE
              The number of days after a password expires until the account is
              permanently disabled. A value of 0 disables the account as soon
              as the password has expired, and a value of -1 disables the
              feature. The default value is -1.

       -g, --gid GROUP
              The group name or number of the user’s initial login group. The
              group name must exist. A group number must refer to an already
              existing group.

       -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]
              A list of supplementary groups which the user is also a member
              of. Each group is separated from the next by a comma, with no
              intervening whitespace. The groups are subject to the same
              restrictions as the group given with the -g option. The default
              is for the user to belong only to the initial group.

       -h, --help
              Display help message and exit.

       -M     The user’s home directory will not be created, even if the
              system wide settings from /etc/login.defs is to create home

       -m, --create-home
              The user’s home directory will be created if it does not exist.
              The files contained in skeleton_dir will be copied to the home
              directory if the -k option is used, otherwise the files
              contained in /etc/skel will be used instead. Any directories
              contained in
               skeleton_dir or /etc/skel will be created in the user’s home
              directory as well. The -k option is only valid in conjunction
              with the -m option. The default is to not create the directory
              and to not copy any files.

       -l     Do not add the user to the last login log file. This is an
              option added by Red Hat.

       -n     A group having the same name as the user being added to the
              system will be created by default. This option will turn off
              this Red Hat Linux specific behavior. When this option is used,
              users by default will be placed in whatever group is specified
              in /etc/default/useradd. If no default group is defined, group 1
              will be used.

       -K, --key KEY=VALUE
              Overrides /etc/login.defs defaults (UID_MIN, UID_MAX, UMASK,
              PASS_MAX_DAYS and others). For example: -K PASS_MAX_DAYS=-1 can
              be used when creating system account to turn off password
              ageing, even though system account has no password at all.
              Multiple -K options can be specified, e.g.: -K UID_MIN=100 -K

              Note: -K UID_MIN=10,UID_MAX=499 doesn’t work yet.

       -o, --non-unique
              Allow create user account with duplicate (non-unique) UID.

       -p, --password PASSWORD
              The encrypted password, as returned by crypt(3). The default is
              to disable the account.

       -r     This flag is used to create a system account. That is, a user
              with a UID lower than the value of UID_MIN defined in
              /etc/login.defs and whose password does not expire. Note that
              useradd will not create a home directory for such an user,
              regardless of the default setting in /etc/login.defs. You have
              to specify -m option if you want a home directory for a system
              account to be created. This is an option added by Red Hat

       -s, --shell SHELL
              The name of the user’s login shell. The default is to leave this
              field blank, which causes the system to select the default login

       -u, --uid UID
              The numerical value of the user’s ID. This value must be unique,
              unless the -o option is used. The value must be non-negative.
              The default is to use the smallest ID value greater than 999 and
              greater than every other user. Values between 0 and 999 are
              typically reserved for system accounts.

   Changing the default values
       When invoked with the -D option, useradd will either display the
       current default values, or update the default values from the command
       line. The valid options are

       -b home_dir
              The initial path prefix for a new user’s home directory. The
              user’s name will be affixed to the end of home to create the new
              directory name if the -d option is not used when creating a new

       -e expire_date
              The date on which the user account is disabled.

       -f inactive
              The number of days after a password has expired before the
              account will be disabled.

       -g, --gid GROUP
              The group name or ID for a new user’s initial group. The named
              group must exist, and a numerical group ID must have an existing
              entry .

       -s, --shell SHELL
              The name of the new user’s login shell. The named program will
              be used for all future new user accounts.

       If no options are specified, useradd displays the current default


       The system administrator is responsible for placing the default user
       files in the
       This version of useradd was modified by Red Hat to suit Red Hat
       user/group conventions.  /etc/skel/ directory.


       You may not add a user to a NIS group. This must be performed on the
       NIS server.


              user account information

              secure user account information

              group account information

              secure group information

              default information

              system-wide settings

              directory containing default files


       The useadd command exits with the following values:

       0      success

       1      can’t update password file

       2      invalid command syntax

       3      invalid argument to option

       4      uid already in use (and no -o)

       6      specified group doesn’t exist

       9      username already in use

       10     can’t update group file

       12     can’t create home directory

       13     can’t create mail spool


       chfn(1), chsh(1), passwd(1), crypt(3), groupadd(8), groupdel(8),
       groupmod(8), userdel(8), usermod(8)


       Julianne Frances Haugh (

                                  08/03/2005                        USERADD(8)

Man(1) output converted with man2html