# phpman > man > adduser(8)

[ADDUSER(8)](https://www.chedong.com/phpMan.php/man/ADDUSER/8/markdown)                             System Manager's Manual                            [ADDUSER(8)](https://www.chedong.com/phpMan.php/man/ADDUSER/8/markdown)



## NAME
       adduser, addgroup - add a user or group to the system

## SYNOPSIS
       **adduser**  [options] [--home DIR] [--shell SHELL] [--no-create-home] [--uid ID] [--firstuid ID]
       [--lastuid ID] [--ingroup GROUP | --gid ID] [--disabled-password] [--disabled-login] [--gecos
       GECOS] [--add_extra_groups] [--encrypt-home] user

       **adduser**  --system  [options]  [--home  DIR]  [--shell  SHELL]  [--no-create-home]  [--uid ID]
       [--group | --ingroup GROUP |  --gid  ID]  [--disabled-password]  [--disabled-login]  [--gecos
       GECOS] user

       **addgroup** [options] [--gid ID] group

       **addgroup** --system [options] [--gid ID] group

       **adduser** [options] user group

   **COMMON** **OPTIONS**
       [--quiet] [--debug] [--force-badname] [--help|-h] [--version] [--conf FILE]

## DESCRIPTION
       **adduser** and **addgroup** add users and groups to the system according to command line options and
       configuration information in _/etc/adduser.conf_.  They are friendlier front ends  to  the  low
       level  tools  like  **useradd,** **groupadd** and **usermod** programs, by default choosing Debian policy
       conformant UID and GID values, creating a home directory with skeletal configuration, running
       a custom script, and other features.  **adduser** and **addgroup** can be run in one of five modes:

### Add a normal user
       If  called  with one non-option argument and without the **--system** or **--group** options, **adduser**
       will add a normal user.

       **adduser** will choose the first available UID from the range specified for normal users in  the
       configuration file.  The UID can be overridden with the **--uid** option.

       The  range  specified  in  the  configuration  file may be overridden with the **--firstuid** and
       **--lastuid** options.

       By default, each user in Debian GNU/Linux is given a corresponding group with the same  name.
       Usergroups  allow group writable directories to be easily maintained by placing the appropri‐
       ate users in the new group, setting the set-group-ID bit in the directory, and ensuring  that
       all  users use a umask of 002.  If this option is turned off by setting **USERGROUPS** to _no_, all
       users' GIDs are set to **USERS**___**GID**.  Users' primary groups can also be overridden from the com‐
       mand  line  with the **--gid** or **--ingroup** options to set the group by id or name, respectively.
       Also, users can be added to one or more groups defined  in  adduser.conf  either  by  setting
       ADD_EXTRA_GROUPS to 1 in adduser.conf, or by passing **--add**___**extra**___**groups** on the commandline.

       **adduser** will create a home directory subject to **DHOME**, **GROUPHOMES**, and **LETTERHOMES**.  The home
       directory can be overridden from the command line with the **--home** option, and the shell  with
       the **--shell** option. The home directory's set-group-ID bit is set if **USERGROUPS** is _yes_ so that
       any files created in the user's home directory will have the correct group.

       **adduser** will copy files from **SKEL** into the home directory and prompt for finger  (gecos)  in‐
       formation  and  a  password.   The  gecos  may also be set with the **--gecos** option.  With the
       **--disabled-login** option, the account will be created but will be disabled until a password is
       set. The **--disabled-password** option will not set a password, but login is still possible (for
       example with SSH RSA keys).  To set up an encrypted home directory for the new user, add  the
       **--encrypt-home**  option.   For more information, refer to the -b option of **ecryptfs-setup-pri**‐‐
### [vate(1)](https://www.chedong.com/phpMan.php/man/vate/1/markdown).

       If the file **/usr/local/sbin/adduser.local** exists, it will be executed after the user  account
       has been set up in order to do any local setup.  The arguments passed to **adduser.local** are:
       username uid gid home-directory
       The environment variable VERBOSE is set according to the following rule:

       0 if   **--quiet** is specified

       1 if neither
              **--quiet** nor **--debug** is specified

       2 if   **--debug** is specified

              (The  same  applies to the variable DEBUG, but DEBUG is deprecated and will be removed
              in a later version of **adduser**.)


### Add a system user
       If called with one non-option argument and the **--system** option, **adduser**  will  add  a  system
       user.  If a user with the same name already exists in the system uid range (or, if the uid is
       specified, if a user with that uid already exists), adduser will exit with  a  warning.  This
       warning can be suppressed by adding **--quiet**.

       **adduser**  will choose the first available UID from the range specified for system users in the
       configuration file (FIRST_SYSTEM_UID and LAST_SYSTEM_UID). If you want  to  have  a  specific
       UID, you can specify it using the **--uid** option.

       By default, system users are placed in the **nogroup** group.  To place the new system user in an
       already existing group, use the **--gid** or **--ingroup** options.  To place the new system user  in
       a new group with the same ID, use the **--group** option.

       A  home directory is created by the same rules as for normal users.  The new system user will
       have the shell _/usr/sbin/nologin_ (unless overridden with the **--shell** option), and have logins
       disabled.  Skeletal configuration files are not copied.

### Add a user group
       If  **adduser** is called with the **--group** option and without the **--system** option, or **addgroup** is
       called respectively, a user group will be added.


       A GID will be chosen from the range specified for  system  GIDS  in  the  configuration  file
       (FIRST_GID,  LAST_GID).  To  override that mechanism you can give the GID using the **--gid** op‐
       tion.

       The group is created with no users.

### Add a system group
       If **addgroup** is called with the **--system** option, a system group will be added.

       A GID will be chosen from the range specified for  system  GIDS  in  the  configuration  file
       (FIRST_SYSTEM_GID,  LAST_SYSTEM_GID).  To  override that mechanism you can give the GID using
       the **--gid** option.

       The group is created with no users.

### Add an existing user to an existing group
       If called with two non-option arguments, **adduser** will add an existing  user  to  an  existing
       group.

## OPTIONS
### --conf FILE
              Use FILE instead of _/etc/adduser.conf_.

### --disabled-login
              Do  not run passwd to set the password.  The user won't be able to use her account un‐
              til the password is set.

### --disabled-password
              Like --disabled-login, but logins are still possible (for example using SSH RSA  keys)
              but not using password authentication.

### --force-badname
              By  default, user and group names are checked against the configurable regular expres‐
              sion **NAME**___**REGEX** (or **NAME**___**REGEX**___**SYSTEM** if **--system** is specified) specified in the  con‐
              figuration  file.  This  option forces **adduser** and **addgroup** to apply only a weak check
              for validity of the name.  **NAME**___**REGEX** is described in [**adduser.conf**(5)](https://www.chedong.com/phpMan.php/man/adduser.conf/5/markdown).

### --gecos GECOS
              Set the gecos field for the new entry generated.  **adduser** will not ask for finger  in‐
              formation if this option is given.

### --gid ID
              When  creating  a  group,  this  option forces the new groupid to be the given number.
              When creating a user, this option will put the user in that group.

### --group
              When combined with **--system**, a group with the same name and ID as the system  user  is
              created.  If not combined with **--system**, a group with the given name is created.  This
              is the default action if the program is invoked as **addgroup**.

       **--help** Display brief instructions.

### --home DIR
              Use DIR as the user's home directory, rather than the default specified by the config‐
              uration  file.   If the directory does not exist, it is created and skeleton files are
              copied.

### --shell SHELL
              Use SHELL as the user's login shell, rather than the default specified by the configu‐
              ration file.

### --ingroup GROUP
              Add  the  new  user  to  GROUP  instead of a usergroup or the default group defined by
              **USERS**___**GID** in the configuration file.  This affects the users primary  group.   To  add
              additional groups, see the **add**___**extra**___**groups** option.

### --no-create-home
              Do not create the home directory, even if it doesn't exist.

### --quiet
              Suppress informational messages, only show warnings and errors.

### --debug
              Be verbose, most useful if you want to nail down a problem with adduser.

### --system
              Create a system user or group.

### --uid ID
              Force  the  new userid to be the given number.  **adduser** will fail if the userid is al‐
              ready taken.

### --firstuid ID
              Override the first uid in the range that the uid is chosen from  (overrides  **FIRST**___**UID**
              specified in the configuration file).

### --lastuid ID
              Override the last uid in the range that the uid is chosen from ( **LAST**___**UID** )

       **--add**___**extra**___**groups**
              Add new user to extra groups defined in the configuration file.

### --version
              Display version and copyright information.


## EXIT VALUES
       **0**      The  user exists as specified. This can have 2 causes: The user was created by adduser
              or the user was already present on the system before adduser was invoked.  If  adduser
              was  returning  0  , invoking adduser a second time with the same parameters as before
              also returns 0.

       **1**      Creating the user or group failed because it was already present  with  other  UID/GID
              than  specified. The username or groupname was rejected because of a mismatch with the
              configured regular expressions, see [adduser.conf(5)](https://www.chedong.com/phpMan.php/man/adduser.conf/5/markdown). Adduser has  been  aborted  by  a
              signal.
              Or  for many other yet undocumented reasons which are printed to console then. You may
              then consider to remove **--quiet** to make adduser more verbose.


## FILES
       /etc/adduser.conf
              Default configuration file for adduser and addgroup

       /usr/local/sbin/adduser.local
              Optional custom add-ons.


## SEE ALSO
       [**adduser.conf**(5)](https://www.chedong.com/phpMan.php/man/adduser.conf/5/markdown), [**deluser**(8)](https://www.chedong.com/phpMan.php/man/deluser/8/markdown), [**groupadd**(8)](https://www.chedong.com/phpMan.php/man/groupadd/8/markdown), [**useradd**(8)](https://www.chedong.com/phpMan.php/man/useradd/8/markdown), [**usermod**(8)](https://www.chedong.com/phpMan.php/man/usermod/8/markdown), Debian Policy 9.2.2.


## COPYRIGHT
       Copyright (C) 1997, 1998, 1999 Guy Maor. Modifications by Roland Bauerschmidt and Marc Haber.
       Additional patches by Joerg Hoh and Stephen Gran.
       Copyright (C) 1995 Ted Hajek, with a great deal borrowed from the original Debian **adduser**
       Copyright (C) 1994 Ian Murdock.  **adduser** is free software; see the GNU General Public Licence
       version 2 or later for copying conditions.  There is _no_ warranty.



Debian GNU/Linux                        Version 3.118ubuntu5                              [ADDUSER(8)](https://www.chedong.com/phpMan.php/man/ADDUSER/8/markdown)
