VMS Help  —  CMS  SET

1  –  ACL

    Manipulates the access control list (ACL) on various objects in
    the CMS library.

       Format:

          SET ACL  object-expression /OBJECT_TYPE=type "remark"

1.1  –  Command Parameters

 object-expression

    Specifies one or more objects whose ACL is to be modified.
    Wildcards and a comma list are allowed.

    The object name depends on the object type (see the /OBJECT_TYPE
    qualifier). For example, if the object type is CLASS, the object
    name is the name of a class in the CMS library. The same principle
    applies to elements and groups. If the object type is LIBRARY, the
    object expression must be a list of one or more of the following
    keywords:

       ELEMENT_LIST
       CLASS_LIST
       GROUP_LIST
       HISTORY
       LIBRARY_ATTRIBUTES

    These keywords are referred to as object subtypes. You can
    abbreviate object subtypes. Wildcards are not allowed.

    The object name can also be the name of a CMS command. If /OBJECT_
    TYPE is specified as COMMAND, SET ACL modifies the ACL on the
    given command. Commands that contain two words must be specified
    with an underscore, for example, INSERT_ELEMENT.

 remark

    Specifies a character string to be logged in the history file
    with this command, usually used to explain why the command was
    entered. The remark is enclosed in quotation marks. If no remark
    was entered, a null remark ("") is logged.

1.2  –  Description

    The SET ACL command is used to manipulate ACLs on various objects
    in the CMS library. ACLs can be put on elements, groups, and
    classes, as well as on the lists containing these entities. (An
    ACL on a list can be thought of as a directory ACL.) An ACL can be
    put on the entire library, and on the library history. ACLs can
    also be used to control access to individual CMS commands.

1.3  –  Qualifiers

1.3.1    /ACL[=(ace[,...])]

    Specifies one or more access control entries (ACEs) to be
    modified. When no ACE is specified, the entire access control
    list (ACL) is affected. Separate multiple ACEs with commas and
    enclose the list in parentheses. The specified ACEs are inserted
    at the beginning of the ACL unless the /AFTER qualifier is used.

1.3.2    /AFTER=ace

    Indicates that all access control entries (ACEs) specified with
    the /ACL qualifier are added after the ACE specified with the
    /AFTER qualifier. By default, any ACEs added to the access control
    list (ACL) are always placed at the top of the list.

1.3.3    /CONFIRM

    Controls whether CMS prompts you for confirmation before each
    transaction.

    When you specify /CONFIRM and run CMS in interactive mode, CMS
    prompts you for confirmation. If you type YES, ALL, TRUE, or 1,
    CMS executes the transaction.  If you type NO, QUIT, FALSE, 0,
    or press RETURN or CTRL/Z, no action is performed. If you type
    any other character, CMS continues to prompt until you type an
    acceptable response.

    CMS does not prompt for confirmation in batch mode.

1.3.4    /DEFAULT

    Creates an ACL for one or more specified objects as if the object
    were newly created. The /DEFAULT qualifier propagates the DEFAULT
    option ACEs in the ACL of the entity list to the ACL of the
    specified object. This qualifier can be used only with an object
    that is a library entity, that is, either an element, class, or
    group.

1.3.5    /DELETE

    Indicates that the access control entries (ACEs) specified with
    the /ACL qualifier are to be deleted. If no ACEs are specified
    with the /ACL qualifier, the entire ACL is deleted. If the /ACL
    qualifier specifies an ACE that does not exist in the ACL of the
    specified object, you are notified that the ACE does not exist,
    and the delete operation continues on to the next ACE on the ACL,
    if any exists.

1.3.6    /LIKE=object-specification

    Indicates that the ACL of the specified object is to replace the
    ACL of the object or objects specified with SET ACL. Any existing
    ACEs are deleted before the ACL specified by /LIKE is copied.

    The type of the source and destination objects must be the same.
    No wildcard characters are allowed in the /LIKE parameter.

1.3.7    /LOG (D)

    Controls whether CMS displays success and informational messages
    on the default output device. By default, if the command executes
    successfully, CMS displays a success message. If you specify
    /NOLOG, success and informational messages are suppressed. Any
    warning, error, or fatal error messages are displayed regardless
    of whether /LOG or /NOLOG is specified.

1.3.8    /NEW

    Indicates that any existing ACEs in the ACL of the object
    specified with SET ACL are to be deleted. To use the /NEW
    qualifier, you must specify a new ACL or ACE with the /ACL
    qualifier.

1.3.9    /OBJECT_TYPE=type

    Specifies the type of the object whose ACL is being modified.
    There is no default object type; therefore, this qualifier is
    required. The type must be one of the following keywords:

       CLASS
       ELEMENT
       GROUP
       LIBRARY
       COMMAND

1.3.10    /OCCLUDE[=option,...]

    Controls whether CMS selects the first instance of the specified
    object, or all instances of the specified object in the library
    search list. The options field contains one or more keywords
    associated with the name of the object. The options field can
    contain the following keywords:

       ALL--equivalent to (ELEMENT, GROUP, CLASS, OTHER)
       ELEMENT (D)
       NOELEMENT
       GROUP (D)
       NOGROUP
       CLASS (D)
       NOCLASS
       OTHER (D)
       NOOTHER
       NONE--equivalent to (NOELEMENT, NOGROUP, NOCLASS, NOOTHER)

    You can specify either ALL or NONE, or any combination of the
    [NO]ELEMENT, [NO]GROUP, [NO]CLASS, and [NO]OTHER keywords.

    By default, CMS performs occlusion for all objects; that is, CMS
    selects only the first occurrence of a specified object.

1.3.11    /REPLACE=(ace[,...])

    Deletes the access control entries (ACEs) specified with the /ACL
    qualifier and replaces them with those specified with /REPLACE.
    Any ACEs specified with the /ACL qualifier must exist and must be
    specified in the order in which they appear in the current ACL.

1.4  –  Examples

    (1) CMS> SET ACL/OBJECT=ELEMENT SAMPLE.PAS/ACL=(IDENTIFIER=WALLEN, -)
        _CMS> ACCESS=RESERVE+CONTROL "setting up acl on element"
        %CMS-S-MODACL, modified access control list for element
        DISKX:[PROJECT.CMSLIB]SAMPLE.PAS

      This command assigns an ACL on the element SAMPLE.PAS,
      specifying that the user holding the identifier WALLEN has
      reserve and control access on the element.

    (2) CMS> SET ACL/OBJECT=LIBRARY ELEMENT_LIST/ACL=((IDENTIFIER=WALLEN, -)
        _CMS> OPTIONS=DEFAULT,ACCESS=FETCH,(IDENTIFIER=WALLEN, -)
        _CMS> ACCESS=CREATE+CONTROL))
        _Remark: assign ACEs to newly created elements
        %CMS-S-MODACL, modified access control list for subtype
        DISKX:[PROJECT.CMSLIB]ELEMENT_LIST

      This example shows how to assign two separate ACEs on the
      element list. The first ACE specifies a default ACE to be
      inherited by newly created elements in the library. The second
      ACE allows the user holding the identifier WALLEN to create
      elements in the library.

    (3) CMS> SET ACL/OBJECT=ELEMENT/DEFAULT SAMPLE.PAS
        _Remark: inherit default ACEs from element list
        %CMS-S-MODACL, modified access control list for element
        DISKX:[PROJECT.CMSLIB]SAMPLE.PAS
        CMS> SHOW ACL/OBJECT=ELEMENT SAMPLE.PAS

        ACLs in CMS Library DISKX:[PROJECT.CMSLIB]

        SAMPLE.PAS
                 (IDENTIFIER=[PROJECT,WALLEN],ACCESS=FETCH)

      The SET ACL command causes the default ACE from the element
      list (see example 2) to be placed on the element SAMPLE.PAS.
      The SHOW ACL command displays the ACE on element SAMPLE.PAS
      (which is now assigned the default ACE from the element list in
      example 2).

    (4) CMS> SET ACL/OBJECT=CLASS BL1/ACL=(IDENTIFIER=[DEV,*]+LIBRARIAN, -)
        _CMS> ACCESS=INSERT+REMOVE
        _Remark: allow access to class for library employees
        %CMS-S-MODACL, modified access control list for class
        DISKX:[PROJECT.CMSLIB]BL1

      This command assigns an ACL allowing insert and remove access
      to class BL1 for users in group DEV holding the LIBRARIAN
      identifier.

    (5) CMS> SET ACL/OBJECT=CLASS/LIKE=BL1 BL2
        _Remark: put ACL from class BL1 on class BL2
        %CMS-S-MODACL, modified access control list for class
        DISKX:[PROJECT.CMSLIB]BL2
        CMS> SHOW ACL/OBJECT=CLASS

        ACLs in CMS Library DISKX:[PROJECT.CMSLIB]

        BL1
                 (IDENTIFIER=[DEV,*]+LIBRARIAN,ACCESS=INSERT+REMOVE)

        BL2
                 (IDENTIFIER=[DEV,*]+LIBRARIAN,ACCESS=INSERT+REMOVE)

      In this example, the /LIKE qualifier causes the ACL from the
      class BL1 (see example 4) to be placed on the class BL2. The
      SHOW ACL command displays the ACL on both classes BL1 and BL2.

2  –  LIBRARY

    Enables access to an existing CMS library or libraries. Subsequent
    CMS commands automatically refer to the libraries identified by
    this command.

       Format:

          SET LIBRARY  directory-specification[,...]

2.1  –  Command Parameters

 directory-specification

    Specifies one or more existing CMS libraries. The directory
    that is used as the CMS library cannot be your current default
    directory. The directory specification must conform to OpenVMS
    conventions; it can also be a logical name. If you specify
    more than one OpenVMS directory, you must separate the directory
    specifications with commas. Wildcards are not allowed.

2.2  –  Description

    The SET LIBRARY command enables access to an existing CMS library
    or list of libraries. Subsequent CMS commands automatically refer
    to the library or libraries identified in the SET LIBRARY command.
    The SET LIBRARY command defines logical names beginning with CMS$
    that allow CMS commands to refer implicitly to the library. You
    should not define logical names beginning with CMS$ because this
    prefix is reserved for CMS.

    The SET LIBRARY command performs some consistency checks on the
    directory to verify that it is a valid CMS library (unless you
    specify the /NOVERIFY qualifier). If the library is not valid, you
    receive an error message.

    The library must have been created with the CREATE LIBRARY
    command. During each session in which you want to use your CMS
    library, you must use the SET LIBRARY command before you access
    a library. The command is not required, however, if you have
    just created a library (see the description of the CREATE LIBRARY
    command) because the CREATE LIBRARY command performs an implicit
    SET LIBRARY.

    You create a search list by specifying multiple libraries on
    the SET LIBRARY command. This enables you to manipulate several
    libraries with one command. You must include commas between the
    directory specifications.

2.3  –  Qualifiers

2.3.1    /AFTER[=directory-specification]

    Instructs CMS to insert new libraries into the existing library
    search list (that you previously specified by using a comma list
    with the CREATE LIBRARY or SET LIBRARY command) immediately
    following the existing specified directory. If you omit the
    directory specification, CMS adds the libraries to the end of
    the list. You cannot specify both /AFTER and /BEFORE on the same
    command line. By default, the SET LIBRARY command's library list
    supersedes any existing search list.

2.3.2    /BEFORE[=directory-specification]

    Instructs CMS to insert new libraries into the existing library
    search list (that you previously specified by using a comma list
    with the CREATE LIBRARY or SET LIBRARY command) immediately
    in front of the existing specified directory. If you omit the
    directory specification, CMS adds the libraries to the front of
    the list. You cannot specify both /AFTER and /BEFORE on the same
    command line. By default, the SET LIBRARY command's library list
    supersedes any existing search list.

2.3.3    /LOG (D)

    Controls whether CMS displays success and informational messages
    on the default output device. By default, if the command executes
    successfully, CMS displays a success message. If you specify
    /NOLOG, success and informational messages are suppressed. Any
    warning, error, or fatal error messages are displayed regardless
    of whether /LOG or /NOLOG is specified.

2.3.4    /VERIFY (D)

    Allows you to set a library without performing the locking and
    verification process CMS normally performs. This speeds up the SET
    LIBRARY operation and allows a CMS library to be set even if the
    library is locked by another user. However, if the library needs
    recovery, the condition is not detected until another transaction
    is attempted.

2.4  –  Examples

    (1) CMS> SET LIBRARY [WORK.CMSLIB]
        %CMS-S-LIBIS, CMS library is DISKX:[WORK.CMSLIB]

      This command sets the CMS library to the existing library
      [WORK.CMSLIB].

    (2) CMS> SET LIBRARY [WORK.CMSLIB],[TEST.CMSLIB]
        %CMS-I-LIBIS, library is DISK$:[WORK.CMSLIB]
        %CMS-I-LIBINSLIS, library DISK$:[TEST.CMSLIB] inserted at
        end of library list
        %CMS-S-LIBSET, library set
        -CMS-I-SUPERSEDE, library list superseded

      This command sets (or resets, if there was an existing library
      or libraries) the current library to contain two libraries.

    (3) CMS> SET LIBRARY [PROJECT.CMSLIB]/AFTER=[WORK.CMSLIB]
        %CMS-I-LIBINSLIS, library DISK$:[PROJECT.CMSLIB] inserted after
        DISKX:[WORK.CMSLIB]
        %CMS-S-LIBSET, library set

      Assuming you set your library as in example 2, this command
      directs CMS to insert the library [PROJECT.CMSLIB] after the
      library [WORK.CMSLIB]. The library list now contains the three
      libraries [WORK.CMSLIB], [PROJECT.CMSLIB], and [TEST.CMSLIB],
      in that order. Use the SHOW LIBRARY command to display the
      library search list.

3  –  NOLIBRARY

    Removes one or more libraries from the current library search
    list.

       Format:

          SET NOLIBRARY  directory-specification[,...]

3.1  –  Command Parameters

 directory-specification

    Specifies one or more existing CMS libraries in the current
    library search list. The directory specification must conform
    to OpenVMS conventions; it can also be a logical name which translates
    to a search list. If you specify more than one OpenVMS directory, you
    must separate the directory specifications with commas. Wildcards
    are not allowed.  If you do not supply a directory specification,
    CMS removes all libraries from the current library search list.

3.2  –  Description

    The SET NOLIBRARY command removes one or more libraries from
    the current library search list. None of the directories in the
    library search list can be your current default directory. If all
    libraries are removed from the list, the logical name CMS$LIB is
    deassigned.

3.3  –  Qualifiers

3.3.1    /LOG (D)

    Controls whether CMS displays success and informational messages
    on the default output device. By default, if the command executes
    successfully, CMS displays a success message. If you specify
    /NOLOG, success and informational messages are suppressed. Any
    warning, error, or fatal error messages are displayed regardless
    of whether /LOG or /NOLOG is specified.

3.4  –  Example

    CMS> SET NOLIBRARY
    %CMS-W-UNDEFLIB, library is undefined

      This example removes all existing libraries from the current
      library search list.
Close Help