the webmaster adds that many of the things done with
this command require that you be logged on as root
which is the UNIX super user id or any other
super user id on your unix system
Maintenance Commands useradd(1M)
NAME
useradd - administer a new user login on the system
SYNOPSIS
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 ]
DESCRIPTION
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-
cuted.
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.
The login field (login ) is a string no more than eight
bytes consisting of characters from the set of alphabetic
characters, numeric characters, period (.), underscore
(_), and hypen (-). The first character should be alpha-
betic and the field should contain at least one lower case
alphabetic character. A warning message will be written if
these restrictions are not met. A future Solaris release may
refuse to accept login fields that do not meet these
requirements. The login field must contain at least one
character and must not contain a colon (:) or a newline
(\n).
OPTIONS
-c comment
Any text string. It is generally a short descrip-
tion 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 entry.
-d dir The home directory of the new user. It defaults to
base_dir/login , where base_dir is the base direc-
tory for new login home directories 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 group.
-G group An existing group's integer ID or character-string
name. It defines the new user's supplementary
group membership. Duplicates between group with
the -g and -G options are ignored. No more than
NGROUPS_MAX groups may be specified.
-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 purpose.
-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 per-
missions by group, where group is the user's pri-
mary group.
-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 /bin/sh as the default.
The value of shell must be a valid executable
file.
-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 (non-
unique).
-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)
base_dir /home
skel_dir /etc/skel
shell /bin/sh
inactive 0
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 must
exist.
FILES
/etc/passwd
/etc/shadow
/etc/group
/etc/skel
/usr/include/limits.h
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWcsu |
|_____________________________|_____________________________|
SEE ALSO
passwd(1), users(1B), groupadd(1M), groupdel(1M),
groupmod(1M), grpck(1M), logins(1M), pwck(1M), userdel(1M),
usermod(1M), passwd(4), attributes(5)
DIAGNOSTICS
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 use.
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 MAX-
UID as defined in <sys/param.h>.
created.
UX: useradd: ERROR: Cannot update system files -
login cannot be
The /etc/passwd or /etc/shadow files do not exist.
NOTES
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.