USERADD(8) | Maintenance Commands and Procedures | USERADD(8) |
useradd - administer a new user login on the system
useradd [-A authorization[,authorization]...]
[-b base_dir] [-c comment] [-d dir] [-e expire]
[-f inactive] [-g group] [-G group[,group]...]
[-K key=value] [-m [-z|-Z] [-k skel_dir]] [-p projname]
[-P profile[,profile]...] [-R role[,role]...]
[-s shell] [-u uid [-o]] login
useradd -D [-A authorization[,authorization]...]
[-b base_dir] [-e expire] [-f inactive] [-g group]
[-k skel_dir] [-K key=value] [-p projname]
[-P profile[,profile]...] [-R role[,role]...]
[-s shell]
useradd adds a new user to the /etc/passwd and /etc/shadow and /etc/user_attr files. The -A and -P options respectively assign authorizations and profiles to the user. The -R option assigns roles to the user. The -p option associates a project with the user. The -K option adds a key=value pair to /etc/user_attr for the user. Multiple key=value pairs may be added with multiple -K options.
useradd 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 -A, -b, -e, -f, -g, -k, -K, -p, -P, -R, or -s option (or any combination of these options) 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 2048 characters per line. Specifying long arguments to several options can exceed this limit.
useradd requires that usernames be in the format described in passwd(5). A warning message is displayed if these restrictions are not met. See passwd(5) for the requirements for usernames.
To change the action of useradd when the traditional login name length limit of eight characters is exceeded, edit the file /etc/default/useradd by removing the # (pound sign) before the appropriate EXCEED_TRAD= entry, and adding it before the others.
The following options are supported:
-A authorization
-b base_dir
-c comment
-d dir
-D
group
base_dir
skel_dir
shell
inactive
expire
auths
profiles
proj
projname
key=value (pairs defined in user_attr(5))
roles
-e expire
If the date format that you choose includes spaces, it must be quoted. For example, you can 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
-g group
-G group
-k skel_dir
-K key=value
-m [-z|-Z]
If the parent directory of the user's home directory is located on a separate ZFS file system and the /etc/default/useradd file contains the parameter MANAGE_ZFS set to the value YES, a new ZFS file system will be created for the user.
If the -z option is specified, useradd will always try to create a new file system for the home directory.
If the -Z option is specified, a new file system will never be created.
-o
-p projname
-P profile
-R role
-s shell
-u uid
/etc/default/useradd
/etc/datemsk
/etc/passwd
/etc/shadow
/etc/group
/etc/skel
/usr/include/limits.h
/etc/user_attr
See attributes(7) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Interface Stability | Committed |
passwd(1), profiles(1), roles(1), getdate(3C), auth_attr(5), passwd(5), prof_attr(5), project(5), user_attr(5), attributes(7), groupadd(8), groupdel(8), groupmod(8), grpck(8), logins(8), pwck(8), userdel(8), usermod(8), zfs(8)
In case of an error, useradd prints an error message and exits with a non-zero status.
The following indicates that login specified is already in use:
UX: useradd: ERROR: login is already in use. Choose another.
The following indicates that the uid specified with the -u option is not unique:
UX: useradd: ERROR: uid uid is already in use. Choose another.
The following indicates that the group specified with the -g option is already in use:
UX: useradd: ERROR: group group does not exist. Choose another.
The following indicates that the uid specified with the -u option is in the range of reserved UIDs (from 0-99):
UX: useradd: WARNING: uid uid is reserved.
The following indicates that the uid specified with the -u option exceeds MAXUID as defined in <sys/param.h>:
UX: useradd: ERROR: uid uid is too big. Choose another.
The following indicates that the /etc/passwd or /etc/shadow files do not exist:
UX: useradd: ERROR: Cannot update system files - login cannot be created.
The useradd utility adds definitions to only the local /etc/group, /etc/passwd, /etc/shadow, /etc/project, and /etc/user_attr files. If a network name service is being used to supplement the local /etc/passwd file with additional entries, useradd cannot change information supplied by the network name service. However useradd will verify the uniqueness of the user name (or role) and user id and the existence of any group names specified against the external name service.
January 7, 2018 | OmniOS |