The useradd command is used to create user accounts and configure basic settings. As part of the account creation process, useradd references several files:

  • The account is stored in the /etc/passwd file.
  • The account is configured according to various options set in the /etc/login.defs file.
  • The account’s home directory is created at the /home/[account name] directory.
  • The account’s home directory is populated using files from the /etc/skel directory.

By default, the useradd command does not set a password for the account. Since most Linux distributions will not permit a blank password, the account will exist but is not yet usable.

Syntax of useradd command

The syntax of the useradd command is:

# useradd [options] [user name]

useradd Command options

The useradd command includes many options to customize user accounts, as detailed in the below table.

Option Description Example
-c Sets Comment Field # useradd -c “User one” user01
-e Sets account expiration date # useradd -e 2021/12/31
-s Sets user’s default shell # useradd -s /bin/bash
-D view default config for new users # useradd -D

useradd Command Examples

1. Adding the user with the default settings

2. To add the user with mentioning comments:

# useradd -c "Anything" geek 

3. To add user with mentioning home directory

# useradd -d /tmp/geek geek 

4. To add user with expiration date

# useradd -e 2013-12-31 geek 

5. To add user account with number of days of inactivity

6. To add user with specifying primary group to it

7. To add user with mentioning secondary groups to it

# useradd -G Support,IT geek

8. To add user while home directory will not be created for it

9. To create a user with duplicate UID

10. To create a system account

11. Creating user with assigning specific shell to him

# useradd -s /bin/bash geek 

12. Creating user with particular user ID