______________________________________________________________________________

                    Using the VAX/VMS  Authorize Utility
                     Written by Line Shadow on 09/10/88

                  A Telecom Computer Security Bulletin File
                     Volume One, Number 1, File 9 of 12
______________________________________________________________________________


                      Time to play God with your favorite
                          ___ ___ ___ ___ ___ ___ ___
                         |   |   |   |   |   |   |   |
                         | d | i | g | i | t | a | l |
                         |___|___|___|___|___|___|___|

                                VAX/VMS System


   In order to put this article to good use, you will have to acquire a high
priviledged VAX account.  I'm leaving that up to you, as this article is
intended for the more advanced VAX hacker.  You can expect another article
discussing the tricks of the trade as regards getting an account with
priviledges of that sort in future articles.  Until then, you're on your own.

   This is a reference on how to use a powerful utility within VMS that will
allow you to create accounts on a digital VAX system.  This utility, called the
Authorize Utility is located on every VAX system.  It can be found in the
SYS$SYSTEM directory (which is a logical name for SYS$SYSROOT:[SYSEXE]) under
the filename AUTHORIZE.EXE.  This is the actual program and you just RUN it.
Along with tons of other files within SYS$SYSTEM, you will find two other files
that are manipulated by the Authorize Utility.


Quick definitions for the Command Syntax:
===============================================================================

Qualifier -             A qualifier is an optional extension of a main command
                        (discussed below) whose format consists of:
                                 command/qualifier

Use of brackets -       Use of brackets ('[' and ']') placed around a logical-
                        name indicates that the enclosed item is optional.
                        Except in the case of specifying directories which
                        has to have the brackets around the directory name.
                        Also note that parenthesis arounf a logical name are
                        required when noted as such.

file-spec,... -         Indicates that additional parameters, values, or
                        information can be entered.

-------------------------------------------------------------------------------
Command Syntax:  UAF> command [parameter]
===============================================================================

ADD
  /[NO]ACCESS[=(range[,...])]
  /ACCOUNT=account-name
  /[NO]ADD_IDENTIFIER
  /ATTRIBUTES=(keyword[,...])
  /[NO]BATCH[=(range[,...])]
  /BIOLM=value
  /BYTLM=value
  /CLI=cli-name
  /CLITABLES=clitable-name
  /CPUTIME=time
  /DEFPRIVILEGES=([NO]privname[,...])
  /DEVICE=name
  /[NO]DIALUP[=(range[,...])]
  /DIOLM=value
  /DIRECTORY=directory-name
  /ENQLM=value
  /EXPIRATION=time
  /FILLM=value
  /GENERATE_PASSWORD[=keyword]
  /FLAGS=([NO]option[,...])
  /[NO]INTERACTIVE[=(range[,...])]
  /JTQUOTA=value
  /LGICMD=file-spec
  /[NO]LOCAL[=(range[,...])]
  /MAXACCTJOBS=value
  /MAXDETACH=value
  /MAXJOBS=value
  /[NO]NETWORK[=(range[,...])]
  /OWNER=owner-name
  /[NO]PASSWORD=(password[,password2])
  /PFLAGS=([NO]option[,...])
  /PGFLQUOTA=value
  /PRCLM=value
  /P_RESTRICT=(range[,...])
  /PRIMEDAYS=([NO]day[,...])
  /PRIORITY=value
  /PRIVILEGES=([NO]privname[,...])
  /[NO]PWDEXPIRED
  /[NO]PWDLIFETIME=time
  /PWDMINIMUM=value
  /QUEPRIORITY=value
  /[NO]REMOTE[=(range[,...])]
  /SFLAGS=([NO]option[,...])
  /SHRFILLM=value
  /S_RESTRICT=(range[,...])
  /TQELM=value
  /UIC=uic
  /WSDEFAULT=value
  /WSEXTENT=value
  /WSQUOTA=value
ADD/IDENTIFIER
  /ATTRIBUTES=(keyword[,...])
  /USER=user-spec
  /VALUE=value-specifier
ADD/PROXY
COPY
  (Same qualifiers as ADD)
CREATE/PROXY
CREATE/RIGHTS
DEFAULT
  (Same qualifiers as ADD)
EXIT
GRANT/IDENTIFIER
  /ATTRIBUTES=(keyword[,...])
HELP
  (All commands and qualifiers)
LIST
  /BRIEF
  /FULL
LIST/IDENTIFIER
  /BRIEF
  /FULL
  /USER=user-spec
  /VALUE=value-specifier
LIST/PROXY
LIST/RIGHTS
   /USER=user-spec
MODIFY
  /[NO]ACCESS[=(range[,...])]
  /ACCOUNT=account-name
  /ASTLM=value
  /[NO]BATCH[=(range[,...])]
  /BIOLM=value
  /BYTLM=value
  /CLI=cli-name
  /CLITABLES=clitable-name
  /CPUTIME=time
  /DEFPRIVILEGES=([NO]privname[,...])
  /DEVICE=name
  /[NO]DIALUP[=(range[,...])]
  /DIOLM=value
  /DIRECTORY=directory-name
  /ENQLM=value
  /EXPIRATION=time
  /FILLM=value
  /FLAGS=([NO]option[,...])
  /[NO]INTERACTIVE[=(range[,...])]
  /JTQUOTA=value
  /LGICMD=file-spec
  /[NO]LOCAL[=(range[,...])]
  /MAXACCTJOBS=value
  /MAXDETACH=value
  /MAXJOBS=value
  /[NO]MODIFY_IDENTIFIER
  /[NO]NETWORK[=(range[,...])]
  /OWNER=owner-name
  /PASSWORD=(password[,password2])
  /PFLAGS=([NO]option[,...])
  /PGFLQUOTA=value
  /PRCLM=value
  /P_RESTRICT=(range[,...])
  /PRIMEDAYS=([NO]day[,...])
  /PRIORITY=value
  /PRIVILEGES=([NO]privname[,...]!
  /[NO]PWDEXPIRED
  /[NO]PWDLIFETIME=time
  /PWDMINIMUM=value
  /QUEPRIORITY=value
  /[NO]REMOTE[=(range[,...])]
  /SFLAGS=([NO]option[,...])
  /SHRFILLM=value
  /S_RESTRICT=(range[,...])
  /TQELM=value
  /UIC=uic
  /WSDEFAULT=value
  /WSEXTENT=value
  /WSQUOTA=value
MODIFY/IDENTIFIER
  /ATTRIBUTES=(keyword[,...])
  /HOLDER=holder-name
  /NAME=id-name
  /VALUE=value-specifier
MODIFY/SYSTEM_PASSWORD=system-password
REMOVE
  /[NO]REMOVE_IDENTIFIER
REMOVE/PROXY
RENAME
  /PASSWORD[=(password[,password2])]
  /[NO]MODIFY_IDENTIFIER
RENAME/IDENTIFIER
REVOKE/IDENTIFIER
SHOW
  /BRIEF
SHOW/IDENTIFIER
  /BRIEF
  /FULL
  /USER=user-spec
  /VALUE=value-specifier
SHOW/PROXY
SHOW/RIGHTS
  /USER=user-spec
-------------------------------------------------------------------------------
Description:
===============================================================================

   Using Authorize, you control access to the system and its resources by

    o  Creating new records and modifying existing records in the system user
       authorization file (SYS$SYSTEM:SYSUAF.DAT) and the network user
       authorization file (SYS$SYSTEM:NETUAF.DAT)

    o  Creating new records and modifying existing records in the rights
       database file (SYS$SYSTEM:RIGHTSLIST.DAT)

-------------------------------------------------------------------------------
Command Summary:
===============================================================================

ADD
--------------------
 The ADD command will create a new entry in the user authorization file.

 Format for creating new entries in SYSUAF.DAT:

        ADD newusername [/qualifiers]

Qualifiers:
/ACCESS

 /[NO]ACCESS=([PRIMARY], [n-m], [n] [,...] [SECONDARY], [n-m], [n] [,...])
 /[NO]ACCESS="[PRIMARY][:] [n-m][,] [n][,...][;] [SECONDARY][:] [n-m][,...]"

 Used to specify hours of access for all modes of logins.  Specify hours
 as integers from 0 to 23, inclusive. Hours may be specified as single
 hours (n), or as ranges of hours (n-m).  If the ending hour of a range
 is earlier than the starting hour, the range extends from the starting
 hour through midnight to the the ending hour.  The first set of hours
 after the keyword PRIMARY specifies hours on primary days; the second
 set of hours after the keyword SECONDARY specifies hours on secondary
 days.

 All the list elements are optional.  If no hours are specified for a
 day type, access is permitted the entire day.  If only primary hours
 or only secondary hours are given, no access is permitted for secondary
 or primary days, respectively.  If hours are given with no day type, they
 apply to both types of days.

 Negating the qualifier by specifying /NOACCESS=(...) completely inverts
 the sense of the access hours.

 Examples:

 /ACCESS                allows unrestricted access
 /NOACCESS=SECONDARY    allows access on primary days only
 /ACCESS=(9-17)         allows access from 9am through 5 pm on all days
 /NOACCESS=(PRIMARY, 9-17, SECONDARY, 18-8)
                        allows access from 9 through 5 on secondary days
                        and all but 9 through 5 on primary days
 /ACCESS="Primary: 9-16; Secondary: 18-7, 8; Primary: 17"
                        allows access from 9 through 5 on primary days
                        and all but 9 through 5 on secondary days

 To specify access hours for specific types of logins, see the
 /BATCH, /NETWORK, /INTERACTIVE, /LOCAL, /DIALUP, and /REMOTE qualifiers.


/ACCOUNT

 /ACCOUNT=account-name

 Specifies a default account name.  This field is often used for billing
 purposes, and should consist of 1 through 8 characters.


/ADD_IDENTIFIER

 /[NO]ADD_IDENTIFIER

 Controls whether an identifier corresponding to the specified username
 and UIC is added to the rights database.  The default is /ADD_IDENTIFIER.


/ASTLM

 /ASTLM=n

 Specifies the AST queue limit, which is the total number of asynchronous
 system trap operations and scheduled wakeup requests that can be
 outstanding at one time for the user.


/BATCH

 /[NO]BATCH=([PRIMARY], [n-m], [n] [,...] [SECONDARY], [n-m], [n] [,...])
 /[NO]BATCH="[PRIMARY][:] [n-m][,] [n][,...][;] [SECONDARY][:] [n-m][,...]"

 Specifies hours of access permitted for batch jobs. For a detailed
 description of the interpretation of the access specification, see the
 /ACCESS qualifier.


/BIOLM

 /BIOLM=n

 Specifies the total buffered I/O operations that can be outstanding
 at one time.


/BYTLM

 /BYTLM=n

 Total number of bytes that can be specified for transfer in
 outstanding buffered I/O operations.


/CLI

 /CLI=cli-name

 Name of the default command interpreter.


/CLITABLES

 /CLITABLES=table-name

 Name of the default command interpreter tables.


/CPUTIME

 /CPUTIME=delta-time

 Maximum amount of CPU time a user process can take per session.  The
 unit of time must be in delta format.  0 means infinite.


/DEFPRIVILEGES

 /DEFPRIVILEGES=([NO]privname [,...])

 Specifies the default privileges for the user (i.e., those enabled
 at login time).  A NO prefix removes this privilege from the user;
 specifying a privilege without the NO prefix allows the user that
 privilege.

 There are many privileges available with varying degrees of power and
 potential system impact.  Please see the VAX/VMS System Manager's
 Reference Manual for a more detailed discussion of the available
 privileges.


/DEVICE

 /DEVICE=device-name

 Name of default device (must be a direct access device) from one to
 fifteen characters.  The colon is automatically added if omitted.
 A blank device is interpreted as SYS$SYSDISK.


/DIALUP

 /[NO]DIALUP=([PRIMARY], [n-m], [n] [,...] [SECONDARY], [n-m], [n] [,...])
 /[NO]DIALUP="[PRIMARY][:] [n-m][,] [n][,...][;] [SECONDARY][:] [n-m][,...]"

 Specifies hours of access permitted for interactive login via dialup
 terminals.  For a detailed description of the interpretation of the
 access specification, see the /ACCESS qualifier.


/DIOLM

 /DIOLM=n

 Total direct (usually disk) I/O operations that can be outstanding at
 one time.


/DIRECTORY

 /DIRECTORY=directory-name

 Name of default login directory.  Brackets (either [] or <>) must be
 supplied.


/ENQLM

 /ENQLM=n

 Total number of lock requests which may be outstanding at one time.


/EXPIRATION

 /EXPIRATION=time

 Expiration date and time of the account.  Specify as an absolute or
 combination time.


/FILLM

 /FILLM=n

 Total number of files that can be open at one time, including active
 network logical links.


/FLAGS

 /FLAGS=([NO]option[,...])

 Login flags for this user.  Options which may be specified are:

        [NO]AUDIT      - [do not] audit all security relevant actions
        [NO]AUTOLOGIN  - [do not] restrict this account to autologins only
        [NO]CAPTIVE    - [do not] prevent user
        [NO]DEFCLI     - [do not] prevent user from changing default CLI
                                  or CLI tables
        [NO]DISCTLY    - [do not] disable  interrupts
        [NO]DISMAIL    - [do not] prevent mail delivery to this user
        [NO]DISNEWMAIL - [do not] suppress "New Mail..." announcements
        [NO]DISRECONNECT-[do not] disable automated reconnections
        [NO]DISREPORT  - [do not] disable time of last login and other
                                  security reports
        [NO]DISUSER    - [do not] disable this account completely
        [NO]DISWELCOME - [do not] suppress "Welcome to..." login message
        [NO]GENPWD     - [do not] require user to use generated passwords
        [NO]LOCKPWD    - [do not] prevent user from changing password
        [NO]PWD_EXPIRED- [do not] mark password as expired
        [NO]PWD2_EXPIRED-[do not] mark second password as expired


/GENERATE

 /GENERATE
 /GENERATE=CURRENT
 /GENERATE=PRIMARY
 /GENERATE=SECONDARY
 /GENERATE=BOTH
 /GENERATE=ALL

 Generate a random password.  The formats of the passwords is the same
 as for the DCL SET PASSWORD /GENERATE command.


/INTERACTIVE

 /[NO]INTERACTIVE=([PRIMARY], [n-m], [n] [,...] [SECONDARY], [n-m], [n] [,...])
 /[NO]INTERACTIVE="[PRIMARY][:] [n-m][,] [n][,...][;] [SECONDARY][:] [n][,...]"

 Specifies hours of access permitted for interactive login via any
 terminal.  For a detailed description of the interpretation of the
 /ACCESS qualifier.

/JTQUOTA

 /JTQUOTA=n

 Specifies the initial byte quota with which the job-wide logical name
 table is to be created with.


/LGICMD

 /LGICMD=filespec

 Name of login command file.  Default device and directory are used to
 locate the command file.


/LOCAL

 /[NO]LOCAL=([PRIMARY], [n-m], [n] [,...] [SECONDARY], [n-m], [n] [,...])
 /[NO]LOCAL="[PRIMARY][:] [n-m][,] [n][,...][;] [SECONDARY][:] [n-m][,...]"

 Specifies hours of access permitted for interactive login via local
 terminals.  For a detailed description of the interpretation of the
 access specification, see the /ACCESS qualifier.


/MAXACCTJOBS

 /MAXACCTJOBS=n

 Interactive and detached processes
 which may be active at one time for all users which are on the same
 account as the user for which the qualifier is present.


/MAXDETACH

 /MAXDETACH=n

 Specifies the maximum number of detached processes with this username
 that may be active at one time.  Processes which cause this count to
 be exceeded are terminated.


/MAXJOBS

 /MAXJOBS=n

 Maximum number of interactive, batch, and detached processes with this
 username which can be active at one time.  Processes which cause this
 count to be exceeded are terminated.


/NETWORK

 /[NO]NETWORK=([PRIMARY], [n-m], [n] [,...] [SECONDARY], [n-m], [n] [,...])
 /[NO]NETWORK="[PRIMARY][:] [n-m][,] [n][,...][;] [SECONDARY][:] [n-m][,...]"

 Specifies hours of access permitted for network jobs.  For a detailed
 description of the interpretation of the access specification, see the
 /ACCESS qualifier.


/OWNER

 /OWNER=owner-name

 Name of owner for billing purposes, etc.  May be from one to 31 characters.


/PASSWORD

 /PASSWORD=(password [,password2])
 /NOPASSWORD

 Password(s) for login.  Must be from 0 to 31 characters in length, and
 must be composed of alphanumeric characters, dollar signs, and underscores.

 To set the first password with no second password, specify

            /PASSWORD=password

 To set both passwords, specify

            /PASSWORD=(password, password2)

 To set only the first password leaving the second alone, specify

            /PASSWORD=(password, "")

 To set only the second password leaving the first alone, specify

            /PASSWORD=("", password2)

 To clear the second password leaving the first alone, specify

            /PASSWORD=""

 To clear both passwords, specify

            /NOPASSWORD


/PBYTLM

 /PBYTLM=n

 Paged pool byte count limit.


/PFLAGS

 /PFLAGS=([NO]option[,...])

 This qualifier is obsolete and is retained for compatibility purposes.
 For current usage, see the /ACCESS, etc., qualifiers.
 Login flags for primary days.  Options are:

        [NO]DISDIALUP   - [do not] prohibit user from dialing in
        [NO]DISNETWORK  - [do not] prohibit user from logging in via a
                                        "SET HOST" command.


/PGFLQUOTA

 /PGFLQUOTA=n

 Total pages that this process can use in the system paging file.  Should
 be a minimum of 2048 for a typical interactive process.


/P_RESTRICT

 /P_RESTRICT=(n-m[,...])

      or

 /P_RESTRICT=(n[,...])

 This qualifier is obsolete and is retained for compatibility purposes.
 For current usage, see the /ACCESS, etc., qualifiers.
 Used to specify hours or ranges of hours to restrict user from logging in on
 primary days.

 /P_RESTRICT=(...) is roughly equivale7t to /NOACCESS=(PRIMARY, ...)



/PRCLM

 /PRCLM=n

 Total number of subprocesses that can exist at one time.


/PRIMEDAYS

 /PRIMEDAYS=([NO]day[,...])

 Used to define primary and secondary days.  A day prefixed with NO becomes
 a secondary day, and a day without the NO prefix is defined as a primary
 day.  Primary and secondary day definitions are used in conjunction with
 the /ACCESS, etc., qualifiers.


/PRIORITY

 /PRIORITY=n

 Default base priority for user.  The priority should be in the range from
 0 - 31, and 4 is the default for a timesharing user.


/PRIVILEGES

 /PRIVILEGES=([NO]privname[,...])

 Specifies authorized privileges for this user.  Privileges which are
 allowed or disallowed for this user.  A NO prefix removes this privalege
 from the user; specifying a privilege without the NO prefix allows the
 user that privilege.

 There are many privileges available with varying degrees of power and
 potential system impact.  I will make up a list of the priviledges in a
 future article, until then...set them to ALL!  Heheh...


/PWDEXPIRED

 /[NO]PWDEXPIRED

 Password is [not] pre-expired.  When a password is pre-expired, the
 user is allowed to log in once, at which time he must change his
 password or be locked out of the system.


/PWDLIFETIME

 /PWDLIFETIME=delta-time
 /PWDLIFETIME=NONE

 Password lifetime.  If the date of last password change is older than
 the password lifetime, when the user logs in, he is issued a warning
 message and the password is marked as expired.  If there is no password
 lifetime, the password never expires.

 Delta-time is in the form: [dddd-] [hh:mm:ss.cc]


/PWDMINIMUM

 /PWDMINIMUM=n

 Minimum password length in characters.  Note that this value is only
 enforced by the SET PASSWORD command; passwords in violation of this
 value may be specified to AUTHORIZE.


/QUEPRIORITY

 /QUEPRIORITY=n

 Maximum priority for queuing batch and print jobs.  The priority should
 be in the range from 0 - 31, and 4 is the default value for a
 timesharing user.


/REMOTE

 /[NO]REMOTE=([PRIMARY], [n-m], [n] [,...] [SECONDARY], [n-m], [n] [,...])
 /[NO]REMOTE="[PRIMARY][:] [n-m][,] [n][,...][;] [SECONDARY][:] [n-m][,...]"

 Specifies hours of access permitted for interactive login via network
 remote terminals (i.e., SET HOST).  For a detailed description of the
 interpretation of the access specification, see the /ACCESS qualifier.


/SFLAGS

 /SFLAGS=([NO]option[,...])

 This qualifier is obsolete and is retained for compatibility purposes.
 For current usage, see the /ACCESS, etc., qualifiers.
 Login flags for secondary days.  Options are:

        [NO]DISDIALUP   - [do not] prohibit user from dialing in
        [NO]DISNETWORK  - [do not] prohibit user from logging in via a
                                        "SET HOST" command.


/S_RESTRICT

 /S_RESTRICT=(n-m[,...])

      or

 /S_RESTRICT=(n[,...])

 This qualifier is obsolete and is retained for compatibility purposes.
 For current usage, see the /ACCESS, etc., qualifiers.
 Used to specify hours or ranges of hours to restrict user from logging in on
 secondary days.

 /S_RESTRICT=(...) is roughly equivalent to /NOACCESS=(SECONDARY, ...)


/SHRFILLM

 /SHRFILLM=n

 Maximum number of shared files allowed to be open at one time.


/TQELM

 /TQELM=n

 Total entries in the timer queue plus the number of temporary common
 event flag clusters that the user can have at one time.


/UIC

 /UIC=uic

 User identification code as explained in the VAX/VMS System Manager's
 Reference Manual.  The UIC should have an octal group number and user
 number, and be separated by a comma and enclosed in brackets.


/WSDEFAULT

 /WSDEFAULT=n

 Initial limit of a working set for the user process.


/WSEXTENT

 /WSEXTENT=n

 Maximum to which the user's process may raise its working set limit
 when there is free memory available.


/WSQUOTA

 /WSQUOTA=n

 Maximum to which the user's process may raise the working set limit
 when system memory is in demand.



ADD/IDENTIFIER
--------------------
 The ADD/IDENTIFIER command is used to add an identifier to the rights
 database.

 Format:

        ADD/IDENTIFIER  [id-name]

 Parameters:
  id-name

  specifies the name of the identifier to be added to the rights
  database.  If you omit the name, you must specify the /USER
  qualifier. The id-name is a string of 1 through 32
  alphanumeric characters that may contain underscores and dollar
  signs.  The name must contain at  least one non-numeric
  character.

  Qualifiers:
  /ATTRIBUTES

   /ATTRIBUTES=(keyword)

   Specifies attributes to be associated with the new identifier.
   Valid keywords are:

  [NO]DYNAMIC   Indicates whether or not unprivileged holders of the
                identifier may add or remove the identifier from the
                process rights list.  The default is NODYNAMIC.

  [NO]RESOURCE  Indicates whether or not holders of the identifier
                may charge resources to it.  The default is NORESOURCE.


/USER

 /USER=user-spec

 Scans the UAF record(s) of the specified user(s) and creates
 the appropriate identifiers(s).  Specify user-spec by username
 or UIC.  You can user the  asterisk wildcard to specify multiple
 usernames or UICs:  full user of the  asterisk and percent
 wildcards is permitted for user names; UICs must be in the form
 [*,*], [n,*], [*,n], or [n,n].  A wildcard username
 specification (i.e., *) creates identifiers alphabetically by
 username; a wildcard UIC  specification (i.e., [*,*]) creates
 them in numerical order by UIC.


/VALUE

 /VALUE=value-specifier

 Specifies the value to be attached to the identifier.  Valid formats
 for the value-specifier are:

 IDENTIFIER:integer             An integer value in the range of
                                32768 to 268435455, or a
                                hexadecimal number in the range
                                %X00008000 to 0FFFFFF

 UIC:uic                        A uic value in the standard UIC
                                format

 Examples:

         The following examples illustrate the use of the ADD/IDENTIFIER
         command.

  1. UAF> ADD/IDENTIFIER/VALUE=UIC:[300,011] INVENTORY
     identifier INVENTORY value: [000300,000011] added to RIGHTSLIST.DAT

        This command adds to the rights database an identifier named
        INVENTORY.  By default, the identifier is not marked as a
        resource.

   2. UAF> ADD/IDENTIFIER/ATTRIBUTES=(RESOURCE) -
      /VALUE=IDENTIFIER:%X80011 PAYROLL
      identifier PAYROLL value: %X80080011 added to RIGHTSLIST.DAT

        This command adds the identifier PAYROLL and marks it as a
        resource.


ADD/PROXY
  Adds a user record to the network UAF.

  Format

        ADD/PROXY node::remote-user local-user

 Parameters:
 node

 specifies a node name (1 through 6 alphanumberic characters).

 remote-user

 specifies the username of a user at a remote node.  If you
 specify an asterisk, all users at the specified node can access
 files of a user specified on the local node.

 local-user

 specifies the username of a user on a local node.

 Examples:

 1. UAF> ADD/PROXY MISHA::MARCO *
    record successfully added NETUAF.DAT

        The command in this example specifies that the user MARCO on
        the remote node MISHA can only access the files of MARCO on the
        local node.

 2. UAF> ADD/PROXY MISHA::* MARCO
    record successfully added to NETUAF.DAT

        The command in this example specifies that any user on the
        remote node MISHA can access the files of MARCO on the local
        node.

 Parameters:
 newusername

 "newusername" specifies the name of the user to be added to the user
 authorization file.



COPY
--------------------
 The COPY command is used to make a copy of a record in SYSUAF.DAT.  The
 full range of qualifiers is available for the command in order to
 change certain fields in the process of the copy operation.

 Format:

        COPY existing-username new-username [/qualifiers]

 Parameters:
 existing-username new-username

 existing-username is the source authorization record;
 new-username is the destination authorization record.

 Qualifiers:
    (Same qualifiers as ADD)



CREATE
--------------------
 This command will create a Proxy Login File (NETUAF.DAT) if one does
 not already exist or the rights database (RIGHTSLIST.DAT).

 Qualifiers:
/PROXY
 Creates and initializes a network UAF, NETUAF.DAT.  The /PROXY
 qualifier is required.  The file is created with no records and
 is assigned the following protection:

        (S:RWED,O:RWED,G:RWE,W)


/RIGHTS
 Creates and initializes the rights database, RIGHTSLIST.DAT,
 If it does not already exist.  The file is created with no
 records and is assigned the following protection:

        (S:RWED,0:RWED,G:RWE,W)

 Format

        CREATE/RIGHTS

 Qualifiers: Format CREAT/(PROXY or RIGHTS)/qualifier
/SYSTEM_ID=(integer list)
 Specifies the system ID quadword.  Only the first two integers
 are used.  The first integer becomes the first longword of the
 system ID, and the second integer the second longword.  If only
 one integer is specified, the second longword is set to 0.

DEFAULT
--------------------
 This command enables the user to change any field(s) in the DEFAULT
 record in SYSUAF.DAT.

 Format:

        DEFAULT /qualifier [/qualifiers]

 Qualifiers:
    (Same qualifiers as ADD)



EXIT
--------------------
 The EXIT command terminates AUTHORIZE and returns the user to command
 language level.

 Format:

        EXIT



GRANT
--------------------
 The GRANT command grants an identifier name to a user UIC.  The
 /IDENTIFIER is required.

 Format

        GRANT/IDENTIFIER id-name user-spec

 Parameters:
 id-name

 Specifies the identifier name (see the ADD/IDENTIFIER command).

 user-spec

 Is an identifier (UIC or non UIC format) that specifies the
 user (see the ADD/IDENTIFIER command).

 Qualifier:

/ATTRIBUTES

 /ATTRIBUTES=(keyword)

 See the ADD/IDENTIFIER command.

 Example:
 UAF> GRANT/IDENTIFIER INVENTORY [300,015]
 identifier INVENTORY granted to CRAMER

        The command in this example grants the identifier INVENTORY to
        a user with the UIC [300,015].  The user becomes the holder of
        the identifier and any resources associated with it.



HELP
--------------------
 Lists and explains the AUTHORIZE commands and qualifiers.

 Format

        HELP [commmand-name]

 Parameter:
 command-name

 Name of an AUTHORIZE command.

 Qualifier:
 qualifier-name

 Name of an AUTHORIZE qualifier



LIST
--------------------
 The LIST command outputs a listing file which gives information
 on the records specified. Unless otherwise specified by
 qualifiers, UAF records are listed.

 Qualifiers:
/BRIEF
 This qualifier will give an abbreviated listing of the desired record(s).
 /BRIEF is equivalent to /NOFULL.


/FULL
 This qualifier gives complete information on the desired record(s).
 /FULL is equivalent to /NOBRIEF. /FULL is the default.

LIST/IDENTIFIER
--------------------
 Creates a listing file (RIGHTLIST.LIS) to which identifier
 information is written.

 Format

        LIST/IDENTIFIER [id-name]

 Parameter:
 id-name

 Specifies an identifier name.  If you omit the identifier name,
 you must specify /USER or /VALUE.

 Qualifiers:
/USER
 /USER=user-spec

 Specifies one or more users whose identifiers are to be listed.
 User-spec may be a username or UIC.  You can user the asterisk
 wildcard to specify multiple usernames or UICs:  full use of
 the asterisk and percent wildcards is permitted for usernames;
 UICs must be in the form [*,*], [*,n], or [n,*].  A
 wildcard username specification (i.e., *) lists identifiers
 alphabetically by username; a wildcard UIC specification (i.e.,
 [*,*]) lists them numerically by UIC.


/VALUE
 /VALUE=value-specifier

 Specifies the value of the identifier to be listed.  Valid
 formats for the value-specifier are:

   IDENTIFIER:integer   An integer value in the range of
                        32768 to 268435455, or a
                        hexadecimal number in the range
                        %X00008000 to 0FFFFFFF

   UIC:uic              A uic value in the standard UIC
                        format

 Examples:

 UAF> LIST/IDENTIFIER INVENTORY
 writing listing file
 listing file RIGHTSLIST.LIS complete

        The command in this example generates a full listing for the
        identifier INVENTORY, including its value (in hexadecimal),
        holders, and attributes.

 UAF> LIST/IDENTIFIER/USER=ANDERSON
 writing listing file
 listing file SYSUAF.LIS complete

        This command lists an identifier associated with the user
        ANDERSON, along with its value and attributes.  Note, however,
        that this is the same result you would produce had you
        specified ANDERSON's UIC with the following forms of the
        command:

                UAF> LIST/IDENTIFIER/USER=[300,015]

        or

                UAF> LIST/IDENTIFIER/VALUE=UIC:[300,015]

LIST/PROXY
--------------------
 Creates a listing file of all the network UAF records.  The
 /PROXY qualifier is required.

 Format

        LIST/PROXY

 Example:

 UAF> LIST/PROXY
 writing listing file
 listing file NETUAF.LIS complete

        The command in this example creates a listing file of all the
        network UAF records.



LIST/RIGHTS
--------------------
 Lists the holders of the specified identifier, or, if /USER is
 specified, all identifiers held by the specified user(s).

 Format

        LIST/RIGHTS [id-name]

 Parameter:
 id-name

 This is the name of the identifier (usually the username) associated
 with the user.  If id-name is omitted, you must specify the
 /USER qualifier.

 Qualifier:
/USER
 /USER=user-spec

 Specifies a user whose identifiers are to be listed.  User-spec
 may be a username or UIC.  You can use the asterisk wildcard to
 specify multiple usernames or UICs:  full user of the asterisk
 and percent wildcards is permitted for usernames; UICs must be
 in the form [*,*], [n,*], [n,n] or [*,n].  A wildcard username
 specification (i.e., *) or wildcard UIC specification (i.e.,
 [*,*]) lists all identifiers held by users.  The wildcard
 username specification lists holders' usernames alphabetically;
 the wildcard UIC specification lists them in the numerical
 order of their UICs.

 Example:
 UAF> LIST/RIGHTS PAYROLL
 writing listing file
 listing file RIGHTSLIST.LIS is complete

        The command is this example creates a listing file of all
        holders of the identifier PAYROLL.



MODIFY
--------------------
 This command allows the user to change any field(s) in any user authorization
 record(s).  Wildcarding of usernames or UICs is allowed.

 Format:

        MODIFY user-spec /qualifier [/qualifiers]

 Qualifier's:
   The MODIFY qualifiers are very similar to the ADD qualifiers with the
 following exceptions:

 /[NO]MODIFY_IDENTIFIER rather than /[NO]ADD_IDENTIFIER with the same
  parameters


 /ASTLM
  /ASTLM=value

 Specifies the AST queue limit, which is the total number of asynchronous
 system trap operations and scheduled wakeup requests that can be
 outstanding at one time for the user.



MODIFY/IDENTIFIER
--------------------
 Modifies an identifier in the rights database.

 Format

        MODIFY/IDENTIFIER id-name

 Parameter:
 id-name

 Specifies the name of an identifier to be modified

 Qualifiers:
/ATTRIBUTES

 /ATTRIBUTES=(keyword)

 Specifies attributes to be associated with the modified
 identifier.  Valid keywords are:

 [NO]DYNAMIC    Indicates whether or not unprivileged holders of the
                identifier may add or remove the identifier from the
                process rights list.  The default is NODYNAMIC.

 [NO]RESOURCE   Indicates whether or not holders of the identifier
                may charge resources to it.  The default is NORESOURCE.

 If you specify RESOURCE, a holder named with the /HOLDER
 qualifier gains the right to charge resources to the
 identifier.  If you specify /NORESOURCE, the holder loses the
 right to charge resources.  If you specify NORESOURCE and do
 not name any holder (if /HOLDER is not specified), all holders
 lose the right to charge resources.


/HOLDER

 /HOLDER=username

 Specifies the holder of an identifier whose attributes are to
 modified.  /HOLDER is used only in conjunction with
 /ATTRIBUTES qualifier.  If you specify /HOLDER, the /NAME and
 /VALUE qualifiers are ignored.


/NAME

 /NAME=id-name

 Specifies a new id-name to be associated with the identifier.


/VALUE

 /VALUE=value-specifier

 Specifies a new identifier value.  Note, however, that an
 identifier value cannot be modified from a UIC to a non UIC
 format or vice versa.  Valid formats for the value-specifier
 are:

   IDENTIFIER:integer   An integer value in the range of
                        32768 to 268435455, or a
                        hexadecimal number in the range
                        %X00008000 to 0FFFFFFF

   UIC:uic              A uic value in the standard UIC
                        format

 Examples:
 UAF> MODIFY/IDENTIFIER/VALUE=UIC:[300,21] ACCOUNTING
 identifier ACCOUNTING modified

        The command in this example changes the old UIC value of the
        identifier ACCOUNTING to a new value.

 UAF> MODIFY/IDENTIFIER/ATTRIBUTES=NORESOURCE/HOLDER=ALLISON ACCOUNTING
 identifier ACCOUNTING modified

        The command in this example associates the attribute NORESOURCE
        with the identifier ACCOUNTING in ALLISON's holder record.



MODIFY/SYSTEM_PASSWORD
 Sets the system password.

 Format

        MODIFY/SYSTEM_PASSWORD=system-password

 Parameters:
 user-spec

 The record(s) to be modified may be specified in a variety of ways:

        1) wildcarded username (standard DCL wildcarding)
        2) wildcarded UIC, as
                a) [*,*]
                b) [*,n]
                c) [n,*]
        3) specific username
        4) specific UIC



REMOVE
--------------------
 This command will remove a user authorization record from SYSUAF.DAT.

 Format for removing a record from SYSUAF.DAT:

        REMOVE username

 Parameters:
 username

 username is the name of the authorization record to be removed from
 SYSUAF.DAT.

Qualifiers:
/REMOVE_IDENTIFIER

 /[NO]REMOVE_IDENTIFIER

 Controls whether the identifier corresponding to the specified username
 in the rights database is removed.  The default is /REMOVE_IDENTIFIER.



REMOVE/IDENTIFIER
--------------------
 Removes an identifier from the rights database.

 Format

  REMOVE/IDENTIFIER id-name

 Parameter:
  id-name

  Specifies the name of an identifier in the rights database.

 Example:
  UAF> REMOVE/IDENTIFIER Q1SALES
  record removed from RIGHTSLIST.DAT

        The command in this example deletes the identifier Q1SALES from
        the rights database.



REMOVE/PROXY
--------------------
 This qualifier changes the context of REMOVE command.  Its presence
 indicates that the intention is to remove a record from the Proxy
 Login File,  NETUAF.DAT.  The format for removing a record from
 NETUAF.DAT is

        REMOVE/PROXY node::remoteusername

 where "node::remoteusername" is an entry in NETUAF.DAT for the local node.


RENAME
 This command will change the username for a record in the user authorization
 file, SYSUAF.DAT.  The only parameter qualifier allowed for the RENAME
 command is the /PASSWORD qualifier.


 Format:

        RENAME old-username new-username [/PASSWORD=password]

 Qualifiers:
/GENERATE

 /GENERATE
 /GENERATE=CURRENT
 /GENERATE=PRIMARY
 /GENERATE=SECONDARY
 /GENERATE=BOTH
 /GENERATE=ALL

 Generate a random password.  The formats of the passwords is the same
 as for the DCL SET PASSWORD /GENERATE command.

/MODIFY_IDENTIFIER

 /[NO]MODIFY_IDENTIFIER

 Controls whether the identifier corresponding to the specified username
 in the rights database is modified.  The default is /MODIFY_IDENTIFIER.

/PASSWORD

 /PASSWORD=(password [,password2])
 /NOPASSWORD

 Password(s) for login.  Must be from 0 to 31 characters in length, and
 must be composed of alphanumeric characters, dollar signs, and underscores.

 To set the first password with no second password, specify

            /PASSWORD=password

 To set both passwords, specify

            /PASSWORD=(password, password2)

 To set only the first password leaving the second alone, specify

            /PASSWORD=(password, "")

 To set only the second password leaving the first alone, specify

            /PASSWORD=("", password2)

 To clear the second password leaving the first alone, specify

            /PASSWORD=""

 To clear both passwords, specify

            /NOPASSWORD

 It is important to specify new passwords for a renamed record.  Since
 the user name is taken as part of the input for password verification,
 the old password with the new user name will not yield the same result
 as the original password and user name, and the verification will fail.



RENAME/IDENTIFIER
--------------------
 Renames an identifier in the rights database.

 Format

        RENAME/IDENTIFIER old-id-name new-id-name

 Parameters:
 old-id-name

 Specifies the name of an identifier to be renamed.

 new-id-name

 Specifies the new identifier name.

 Example:

 UAF> RENAME/IDENTIFIER Q1SALES Q2SALES
 identifier Q1SALES renamed

        The command in this example renames the identifier Q1SALES to
        Q2SALES.


Parameters
 old-username new-username

 "old-username" is the username for the authorization record which is to
 be renamed.  "new-username" is the new username for the record.



REVOKE
--------------------
 Revokes an identifier name from a username or UIC identifier.
 The /IDENTIFIER qualifier is required.

 Format

        REVOKE/IDENTIFIER id-name user-spec

 Parameters:
 id-name

 Specifies the identifier name (see the ADD/IDENTIFIER command).

 user-spec

 Is an identifier (UIC or non UIC format) that specifies the
 user (see the ADD/IDENTIFIER command).



SHOW
--------------------
 The SHOW command outputs a listing of the specified
 authorization record(s) to the user's terminal. Unless otherwise
 specified by qualifiers, UAF records are listed.

 Format for the authorization file:

        SHOW [/qualifiers] user-spec

 Qualifiers:
/BRIEF
 This qualifier will give an abbreviated listing of the desired record(s).
 /BRIEF is equivalent to /NOFULL. /BRIEF is the default.

/FULL
 This qualifier gives complete information on the desired record(s).
 /FULL is equivalent to /NOBRIEF.



SHOW/IDENTIFIER
--------------------
 Displays information about the identifier on the current
 SYS$OUTPUT device.

 Format

        SHOW/IDENTIFIER [id-name]

 Parameter:
 id-name

 Specifies an identifier name.  If you omit the identifier name,
 you must specify /USER or /VALUE.

 Qualifiers:
/BRIEF
 This qualifier will give an abbreviated listing of the desired record(s).
 /BRIEF is equivalent to /NOFULL. /BRIEF is the default.


/FULL
 This qualifier gives complete information on the desired record(s).
 /FULL is equivalent to /NOBRIEF.
/USER


 /USER=user-spec

 Specifies one or more users whose identifiers are to be
 displayed.  User-spec may be XH].+++lKU%9@You can use
 the asterisk wildcard to specify multiple usernames or UICs:
 full use of the asterisk and percent wildcards is permitted for
 usernames; UICs must be in the form [*,*], [*,n], [n,*], or
 [n,n].  A wildcard username specification (i.e., *) displays
 identifiers alphabetically by username; a wildcard UIC
 specification (i.e., [*,*]) displays them numerically by UIC.


/VALUE
 /VALUE=value-specifier

 Specifies the value of the identifier to be listed.  Valid
 formats for the value-specifier are:

   IDENTIFIER:integer   An integer value in the range of
                        32768 to 268435455, or a
                        hexadecimal number in the range
                        %X00008000 to 0FFFFFFF

   UIC:uic              A uic value in the standard UIC
                        format

SHOW/PROXY
 Displays one or all records in the network UAF.  The /PROXY
 qualifier is required.

 Format

        SHOW/PROXY node::remote-user

 Parameters:
 node

 Specifies the name of a network node in the network UAF.  The
 asterisk wildcard is permitted in the node specification.

 remote-user

 Specifies the name of a user on a remote node.  The asterisk
 wildcard is permitted in the remote-user specification.

SHOW/RIGHTS
 Displays the names, values, and attributes of all identifiers
 held by the specified user(s).

 Format

        SHOW/RIGHTS [user-spec]

 Parameter:
 user-spec

 Is the name of the identifier (usually the username) associated
 with the user in SYSUAF.DAT.  If user-spec is omitted, you must
 specify the /USER qualifier.

 Qualifier:
/USER

 /USER=user-spec

 Specifies one or more users whose identifiers are to be
 displayed.  User-spec may be a username or UIC.  You can use
 the asterisk wildcard to specify multiple usernames or UICs:
 full use of the asterisk and percent wildcards is permitted for
 usernames; UICs must be in the form [*,*], [*,n], [n,*], or
 [n,n].  A wildcard username specification (i.e., *) displays
 identifiers alphabetically by username; a wildcard UIC
 specification (i.e., [*,*]) displays them numerically by UIC.


 Parameters:

 If a listing is generated from SYSUAF.DAT, then the user may specify
 "user-spec" in a variety of ways:

        1) wildcarded username (standard DCL wildcarding)

        2) wildcarded UIC, as
                a) [*,*]
                b) [*,n]
                c) [n,*]
        3) specific username
        4) specific UIC.


   Phew!  After all that, you should be doing just fine using the Authorize
Utility.  You can expect summaries of VMS commands, DCL, and other VAX infor-
mation in future articles.  Now, happy hacking and go play God for a while!

______________________________________________________________________________
$