Description

roleadd adds a role entry to the /etc/passwd and /etc/shadow and /etc/user_attr
files. The -A and -P options respectively assign authorizations and profiles to
the role. Roles cannot be assigned to other roles. The -K option adds
a key=value pair to /etc/user_attr for a role. Multiple key=value pairs can
be added with multiple -K options.

roleadd also creates supplementary group memberships for the role (-G option) and
creates the home directory (-m option) for the role if requested. The
new role account remains locked until the passwd(1) command is executed.

Specifying roleadd-D with the -g, -b, -f, -e, or -K option
(or any combination of these option) sets the default values for the
respective fields. See the -D option. Subsequent roleadd 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 can exceed
this limit.

The role (role) field accepts a string of no more than eight
bytes consisting of characters from the set of alphabetic characters, numeric characters,
period (.), underscore (_), and hyphen (-). The first character should be alphabetic
and the field should contain at least one lower case alphabetic character.
A warning message is written if these restrictions are not met. A
future Solaris release might refuse to accept role fields that do not
meet these requirements.

The role field must contain at least one character and must not
contain a colon (:) or a newline (\n).

Options

The following options are supported:

-Aauthorization

One or more comma separated authorizations defined in auth_attr(4). Only a user or role who has grant rights to the authorization can assign it to an account

-bbase_dir

The default base directory for the system if -d dir is not specified. base_dir is concatenated with the account name to define the home directory. If the -m option is not used, base_dir must exist.

-ccomment

Any text string. It is generally a short description of the role. This information is stored in the role's /etc/passwd entry.

-ddir

The home directory of the new role. It defaults to base_dir/account_name, where base_dir is the base directory for new login home directories and account_name is the new role name.

-D

Display the default values for group, base_dir, skel_dir, shell, inactive, expire and key=value pairs. When used with the -g, -b, -f, or -K, options, the -D option sets the default values for the specified fields. The default values are:

Specify the expiration date for a role. After this date, no user is able to access this role. The expire option argument is a date entered using one of the date formats included in the template file /etc/datemsk. See getdate(3C).

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 roles.

-finactive

The maximum number of days allowed between uses of a role ID before that ID is declared invalid. Normal values are positive integers. A value of 0 defeats the status.

-ggroup

An existing group's integer ID or character-string name. Without the -D option, it defines the new role's primary group membership and defaults to the default group. You can reset this default value by invoking roleadd -D-ggroup.

-Ggroup

An existing group's integer ID or character-string name. It defines the new role's supplementary group membership. Duplicates between group with the -g and -G options are ignored. No more than NGROUPS_MAX groups can be specified.

-kskel_dir

A directory that contains skeleton information (such as .profile) that can be copied into a new role's home directory. This directory must already exist. The system provides the /etc/skel directory that can be used for this purpose.

-Kkey=value

A key=value pair to add to the role's attributes. Multiple -K options can be used to add multiple key=value pairs. The generic -K option with the appropriate key can be used instead of the specific implied key options (-A and -P). See user_attr(4) for a list of valid key=value pairs. The “type” key is not a valid key for this option. Keys can not be repeated.

-m

Create the new role'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 role's primary group.

-o

This option allows a UID to be duplicated (non-unique).

-Pprofile

One or more comma-separated execution profiles defined in prof_attr(4).

-sshell

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/pfsh as the default. The value of shell must be a valid executable file.

-uuid

The UID of the new role. 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 is 201. (UIDs from 0-99 are reserved for possible use in future applications.)