From LQWiki
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;
}

This page is available under a