useradd - add a user to the system
useradd -D [-b base-dir] [-e expiry-time] [-f inactive-time]
[-g gid | name | =uid] [-L login-class] [-k
skel-dir]
[-r low..high] [-s shell]
useradd [-mov] [-G secondary-group[,group,...]] [-b
base-dir]
[-c comment] [-d home-dir] [-e expiry-time] [-f
inactive-time]
[-g gid | name | =uid] [-k skel-dir] [-L
login-class]
[-p password] [-r low..high] [-s shell] [-u uid]
user
The useradd utility adds a user to the system, creating and
populating a
home directory if necessary. Any skeleton files will be
provided for the
new user if they exist in the skel-dir directory (see the -k
option).
Default values for the base directory, the time of password
expiry, the
time of account expiry, primary group, the skeleton directory, the range
from which the UID will be allocated, and default login
shell can be provided
in the /etc/usermgmt.conf file, which, if running as
root, is created
using the built-in defaults if it does not exist.
The first form of the command shown above (using the -D option) sets and
displays the defaults for the useradd utility.
-D without any further options, -D will show the current defaults
which will be used by the useradd utility. Together
with one of
the options shown for the first version of the command, -D will
set the default to be the new value. See usermgmt.conf(5) for
more information.
-b base-dir
sets the base directory. This is the directory to
which the user
directory is added, which will be created if the -m
option is
specified and no -d option is specified.
-e expiry-time
sets the default time at which new accounts will expire. It
should be entered in the form ``month day year'',
where month is
the month name (the first three characters are sufficient), day
is the day of the month, and year is the year. Time
in seconds
since the epoch (UTC) is also valid. A value of 0
can be used to
disable this feature.
-f inactive-time
sets the time at which passwords of new accounts
will expire.
Also see the -e option above.
-g gid | groupname | =uid
sets the default group for new users.
-k skel-dir
sets the skeleton directory in which to find files
with which to
populate new users' home directories.
-L login-class
sets the default login class for new users. See login.conf(5)
for more information on user login classes.
-r low..high
sets the low and high bounds of UID ranges for new
users. A new
user can only be created if there are UIDs which can
be assigned
from one of the free ranges.
-s shell
sets the default login shell for new users.
In the second form of the command, after setting any defaults, and then
reading values from /etc/usermgmt.conf, the following command line options
are processed:
-G secondary-group[,group,...]
are the secondary groups to which the user will be
added in the
/etc/group file.
-b base-directory
is the base directory name, in which the user's new
home directory
will be created, should the -m option be specified.
-c comment
is the comment field (also, for historical reasons
known as the
GECOS field) which will be added for the user, and
typically will
include the user's full name, and, perhaps, contact
information
for the user.
-d home-directory
is the home directory which will be created and populated for the
user, should the -m option be specified.
-e expiry-time
sets the time at which the user account will expire.
It should
be entered in the form ``month day year'', where
month is the
month name (the first three characters are sufficient), day is
the day of the month, and year is the year. Time in
seconds
since the epoch (UTC) is also valid. A value of 0
can be used to
disable this feature. See passwd(5) for more details.
-f inactive-time
sets the time at which the current password will expire. Also
see the -e option above.
-g gid | name | =uid
gives the group name or identifier to be used for
the new user's
primary group. If this is `=uid', then a UID and
GID will be
picked which are both unique and the same, and a
line added to
/etc/group to describe the new group.
-k skeleton directory
gives the skeleton directory in which to find files
with which to
populate the new user's home directory.
-L login-class
This option sets the login class for the user being
created. See
login.conf(5) for more information on user login
classes.
-m create a new home directory for the new user.
-o allow the new user to have a UID which is already in
use for another
user.
-p password
specifies an already-encrypted password for the new
user. This
password can then be changed by using the chpass(1)
utility. If
this option is not specified, and no default exists
in
/etc/usermgmt.conf, the account will be disabled by
default.
-s shell
specifies the login shell for the new user.
-u uid specifies a UID for the new user. Boundaries for
this value can
be preset for all users by using the range field in
the
/etc/usermgmt.conf file.
-v enables verbose mode - explain the commands as they
are executed.
Once the information has been verified, useradd uses
pwd_mkdb(8) to update
the user database. This is run in the background, and,
at very
large sites could take several minutes. Until this update
is completed,
the password file is unavailable for other updates and the
new information
is not available to programs.
The useradd utility exits 0 on success, and >0 if an error
occurs.
/etc/usermgmt.conf
/etc/skel/*
/etc/login.conf
chpass(1), group(5), login.conf(5), passwd(5), usermgmt.conf(5),
pwd_mkdb(8), user(8), userdel(8), usermod(8)
Other implementations of the useradd utility use the
inactive-time parameter
to refer to the maximum number of days allowed between
logins (this
is used to lock "stale" accounts that have not been used for
a period of
time). However, on OpenBSD systems this parameter refers
instead to the
password change time. This is due to differences in the
passwd(5)
database compared to other operating systems.
The useradd utility first appeared in OpenBSD 2.7.
The useradd utility was written by Alistair G. Crooks
<[email protected]>.
OpenBSD 3.6 September 5, 2001
[ Back ] |