From LQWiki
The command useradd is used to create new users to your Linux system.
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 |
Quickstart
To add a user and set the password in a simple scenario (i.e. without home folders shared over different computers), open a ConSole and enter:
useradd -m username passwd usernamd
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 password must be specified with the output of the crypt function.
Command line access to crypt is somewhat rare. 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;
}

This page is available under a