useradd(1M) manual page
Table of Contents
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 ]
SUNWcsu
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 executed.
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 entry.
- -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 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
permissions by group, where group is the user’s primary 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 /sbin/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
- /sbin/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 directory. If the -m option is not used, base_dir must
exist.
- /etc/passwd
- /etc/shadow
- /etc/group
- /etc/skel
-
passwd(1)
,
users(1B)
, groupadd(1M)
, groupdel(1M)
, groupmod(1M)
, logins(1M)
, userdel(1M)
,
usermod(1M)
, passwd(4)
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 MAXUID
as defined in <sys/param.h>.
- UX: useradd: ERROR: Cannot update
system files - login cannot 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.
Table of Contents