AUTH_ATTR(5)           File Formats and Configurations          AUTH_ATTR(5)
NAME
       auth_attr - authorization description database
SYNOPSIS
       /etc/security/auth_attrDESCRIPTION
       /etc/security/auth_attr is a local source for authorization names and
       descriptions. The 
auth_attr file can be used with other authorization
       sources, including the 
auth_attr NIS map.  Programs use the       
getauthattr(3SECDB) routines to access this information.
       The search order for multiple authorization sources is specified in
       the 
/etc/nsswitch.conf file, as described in the 
nsswitch.conf(5) man
       page.
       An authorization is a right assigned to users that is checked by
       certain privileged programs to determine whether users can execute
       restricted functionality. Each entry in the 
auth_attr database
       consists of one line of text containing six fields separated by
       colons (
:). Line continuations using the backslash (
\) character are
       permitted. The format of each entry is:         
name:
res1:
res2:
short_desc:
long_desc:
attr       name                     The name of the authorization. Authorization names are
                     unique strings.  Construct authorization names using
                     the following convention:                     
prefix. or 
prefix.suffix                     prefix                               Everything in the name field up to the final
                               dot (
.). Authorizations from Sun
                               Microsystems, Inc. use 
solaris as a prefix.
                               To avoid name conflicts, all other
                               authorizations should use a prefix that
                               begins with the reverse-order Internet domain
                               name of the organization that creates the
                               authorization (for example, 
com.xyzcompany).
                               Prefixes can have additional arbitrary
                               components chosen by the authorization's
                               developer, with components separated by dots.                     
suffix                               The final component in the name field.
                               Specifies what is being authorized.
                               When there is no suffix, the name is defined
                               as a heading. Headings are not assigned to
                               users but are constructed for use by
                               applications in their 
GUIs.
                     When a name ends with the word 
grant, the entry defines
                     a grant authorization. Grant authorizations are used to
                     support fine-grained delegation. Users with appropriate
                     grant authorizations can delegate some of their
                     authorizations to others. To assign an authorization,
                     the user needs to have both the authorization itself
                     and the appropriate grant authorization.       
res1                     Reserved for future use.       
res2                     Reserved for future use.       
short_desc                     A short description or terse name for the
                     authorization. This name should be suitable for
                     displaying in user interfaces, such as in a scrolling
                     list in a 
GUI.       
long_desc                     A long description. This field can explain the precise
                     purpose of the authorization, the applications in which
                     it is used, and the type of user that would be
                     interested in using it. The long description can be
                     displayed in the help text of an application.       
attr                     An optional list of semicolon-separated (
;) key-value
                     pairs that describe the attributes of an authorization.
                     Zero or more keys may be specified. The keyword 
help                     identifies a help file in HTML.
EXAMPLES
       Example 1: Constructing a Name
       In the following example, the name has a prefix
       (
solaris.admin.usermgr) followed by a suffix (
read):
         solaris.admin.usermgr.read
       Example 2: Defining a Heading
       Because the name field ends with a dot, the following entry defines a
       heading:
         solaris.admin.usermgr.:::User Accounts::help=AuthUsermgrHeader.html
       Example 3: Assigning Separate Authorizations to Set User Attributes
       In this example, a heading entry is followed by other associated
       authorization entries. The entries below the heading provide separate
       authorizations for setting user attributes. The 
attr field for each
       entry, including the heading entry, assigns a help file. The
       application that uses the 
help key requires the value to equal the
       name of a file ending in 
.htm or 
.html:
         solaris.admin.usermgr.:::User Accounts::help=AuthUsermgrHeader.html
         solaris.admin.usermgr.pswd:::Change Password::help=AuthUserMgrPswd.html
         solaris.admin.usermgr.write:::Manage Users::help=AuthUsermgrWrite.html
       Example 4: Assigning a Grant Authorization
       This example assigns to an administrator the following
       authorizations:
         solaris.admin.printer.grant
         solaris.admin.printer.delete
         solaris.admin.printer.modify
         solaris.admin.printer.read
         solaris.login.enable
       With the above authorizations, the administrator can assign to others
       the 
solaris.admin.printer.delete, 
solaris.admin.printer.modify, and       
solaris.admin.printer.read authorizations, but not the       
solaris.login.enable authorization. If the administrator has both the
       grant authorization, 
solaris.admin.printer.grant, and the wildcard
       authorization, 
solaris.admin.printer.*, the administrator can grant
       to others any of the printer authorizations. See 
user_attr(5) for
       more information about how wildcards can be used to assign multiple
       authorizations whose names begin with the same components.
       Example 5: Authorizing the Ability to Assign Other Authorizations
       The following entry defines an authorization that grants the ability
       to assign any authorization created with a 
solaris prefix, when the
       administrator also has either the specific authorization being
       granted or a matching wildcard entry:
         solaris.grant:::Grant All Solaris Authorizations::help=PriAdmin.html
       Example 6: Consulting the Local Authorization File Ahead of the NIS
       Table
       With the following entry from 
/etc/nsswitch.conf, the local 
auth_attr       file is consulted before the 
NIS table:
         auth_attr:files nis
FILES
       /etc/nsswitch.conf       /etc/user_attr       /etc/security/auth_attrSEE ALSO
       getauthattr(3SECDB), 
getexecattr(3SECDB), 
getprofattr(3SECDB),       
getuserattr(3SECDB), 
exec_attr(5), 
nsswitch.conf(5), 
user_attr(5)NOTES
       Because the list of legal keys is likely to expand, any code that
       parses this database must be written to ignore unknown key-value
       pairs without error. When any new keywords are created, the names
       should be prefixed with a unique string, such as the company's stock
       symbol, to avoid potential naming conflicts.
       Each application has its own requirements for whether the help value
       must be a relative pathname ending with a filename or the name of a
       file. The only known requirement is for the name of a file.
       The following characters are used in describing the database format
       and must be escaped with a backslash if used as data: colon (
:),
       semicolon (
;), equals (
=), and backslash (
\).
                               March 12, 2023                   AUTH_ATTR(5)