View the Most Wanted LQ Wiki articles.
LinuxQuestions.org > Linux Wiki > Useradd

From LQWiki

Jump to: navigation, search

The command useradd is used to create new users to your Linux system.

The most basic use for useradd is:

  • useradd username

Which would create a new user named username. This user would have the default settings for home directory etc.

Using options to useradd you can specify a different placement for the users home directory for example. The option -D shows/sets the defaults for new users.

Contents

Command line options

Specify the home directory:

-d home_dir

Create the home directory if it doesnt exit:

-m

Users Initial group:

-g initial_group

Add use to other groups:

-G group1,group2,etc

Select which shell they get:

-s shell

Default Values

To find out the default values that useradd will use, run:

$ useradd -D


Specifying the Password

The Easy Way

Use the passwd command as root. By default passwd prompts for and changes the password of the user running it, but root can specify a different username as a command line argument and change that person's password.

Example of command to change the password for user Bob:

# passwd bob


The Not So Easy Way

You can specify the password for the user using the -p option.

The only problem is, the password must be specified with the output of the crypt function.

Command line access to crypt is somewhat rare. Here are two ways of getting to it.

The following C code generates an executable that will encrypt a password for you:

#include <stdio.h>
#include <unistd.h>
// compile with:  g++ crypt.c -o crypt -lcrypt

int main(int argc, char** argv)
{
  if( argc != 2 ) {
    printf("usage: %s key-to-encrypt", argv[0]);
    return 1;
  }

  printf("%s\n", crypt(argv[1], "01"));

  return 0;
}

There is a command line program that can output the password as well as part of openssl; You write:

$ openssl passwd (your password here)

See also


Personal tools