useradd(1M) 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 ] AVAILABILITY SUNWcsu 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. login is a string of printable characters that specifies the new login name of the user, up to a maximum number of eight characters. It may not contain a colon (:) or a new- line (\n). OPTIONS -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 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 group. -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- fied. -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 . 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 direc- tory. If the -m option is not used, base_dir must exist. FILES /etc/passwd /etc/shadow /etc/group /etc/skel SEE ALSO passwd(1), users(1B), groupadd(1M), groupdel(1M), groupmod(1M), logins(1M), userdel(1M), usermod(1M), passwd(4) 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 MAXUID as defined in . UX: useradd: ERROR: Cannot update system files - login can- not be created. 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. SunOS 5.4 Last change: 4 Feb 1994