solaris - useradd (1)
useradd - administer a new user login on the system
useradd [ -c comment ] [ -d dir ] [ -e expire ]
[ -f inactive ] [ -g group ] [ -G group [, group...]]
[ -m [ -k skel_dir ]]
[ -u uid [ -o]] [ -s shell ] login
useradd -D [ -b base_dir ] [ -e expire ] [ -f inactive ]
[ -g group ]
useradd adds a new user entry to the /etc/passwd and
/etc/shadow files. It also creates supplementary group
memberships for the user (-G option) and creates the home
directory ( - m option) for the user if requested. The new
login remains locked until the passwd(1) command is exe-
Specifying useradd -D with the -g, -b, -f, or -e options (or
any combination of these) sets the default values for the
respective fields. See the - D option below. Subsequent
useradd commands without the -D option use these arguments.
The system file entries created with this command have a
limit of 512 characters per line. Specifying long arguments
to several options may exceed this limit.
login is a string of printable characters that specifies the
new login name of the user. It may not contain a colon (:)
or a newline (\n).
-c comment Any text string. It is generally a short
description of the login, and is currently used
as the field for the user's full name. This
information is stored in the user's /etc/passwd
- d dir The home directory of the new user. It
defaults to base_dir/login, where base_dir is
the base directory for new login home direc-
tories and login is the new login name.
-e expire Specify the expiration date for a login. After
this date, no user will be able to access this
login. expire is a date entered in any format
you like (except a Julian date). If the date
format that you choose includes spaces, it must
be quoted. For example, you may enter 10/6/90
or "October 6, 1990". A null value (" ")
defeats the status of the expired date. This
option is useful for creating temporary logins.
-f inactive The maximum number of days allowed between uses
of a login ID before that login ID is declared
invalid. Normal values are positive integers.
A value of 0 defeats the status.
-g group An existing group's integer ID or character-
string name. Without the -D option, it defines
the new user's primary group membership and
defaults to the default group. You can reset
this default value by invoking useradd - D - g
-G group An existing group's integer ID or character-
string name. It defines the new user's supple-
mentary group membership. Duplicates between
group with the -g and -G options are ignored.
No more than NGROUPS_MAX groups may be speci-
-k skel_dir A directory that contains skeleton information
(such as .profile) that can be copied into a new
user's home directory. This directory must
already exist. The system provides the
/etc/skel directory that can be used for this
-m Create the new user's home directory if it does
not already exist. If the directory already
exists, it must have read, write, and execute
permissions by group, where group is the user's
-s shell Full pathname of the program used as the user's
shell on login. It defaults to an empty field
causing the system to use /sbin/sh as the
default. The value of shell must be a valid
-u uid The UID of the new user. This UID must be a
non-negative decimal integer below MAXUID as
defined in <sys/param.h>. The UID defaults to
the next available (unique) number above the
highest number currently assigned. For example,
if UIDs 100, 105, and 200 are assigned, the next
default UID number will be 201. (UIDs from 0-99
are reserved by SunOS for future applications.)
-o This option allows a UID to be duplicated
-D Display the default values for group, base_dir,
skel_dir, shell, inactive, and expire. When
used with the -g, -b, -f, or -e options, the - D
option sets the default values for the specified
fields. The default values are:
group other (GID of 1)
expire Null (unset).
-b base_dir The default base directory for the system if -d
dir is not specified. base_dir is concatenated
with the user's login to define the home direc-
tory. If the -m option is not used, base_dir
passwd(1), users(1B), groupadd(1M), groupdel(1M),
groupmod(1M), logins(1M), userdel(1M), usermod(1M),
In case of an error, useradd prints an error message and
exits with a non-zero status.
UX: useradd: ERROR: login is already in use. Choose another.
The login specified is already in use.
UX: useradd: ERROR: uid uid is already in use. Choose another.
The uid specified with the -u option is not unique.
UX: useradd: ERROR: group group does not exist. Choose another.
The group specified with the -g option is already in
UX: useradd: WARNING: uid uid is reserved.
The uid specified with the -u option is in the range of
reserved UIDs (from 0-99).
UX: useradd: ERROR: uid uid is too big. Choose another.
The uid specified with the -u option exceeds MAXUID as
defined in <sys/param.h>.
UX: useradd: ERROR: Cannot update system files - login can-
not be created.
The /etc/passwd or /etc/shadow files do not exist.
useradd only adds a user definition to the local system. If
a network nameservice such as NIS or NIS+ is being used to
supplement the local /etc/passwd file with additional
entries, useradd cannot change information supplied by the
network nameservice. However useradd will verify the
uniqueness of the user name and user id and the existence of
any group names specified against the external nameservice.