CL Command Reference - CHGPGP

CL Command List > CHGPGP Reference

Description:

The Change Primary Group (CHGPGP) command changes the primary group of an object or group of objects from one user to another. An object name pattern can be used to change authority for a group of related objects. The owner*s and other user*s private authorities to the object do not change.

The CHGPGP command can also be used to change the primary group of a directory tree where the directory, its contents, and the contents of all of its subdirectories are to have the primary group changed. If SUBTREE(*ALL) is specified, this command will attempt to change the primary group of all objects within the subtree. A diagnostic message will be sent for each object that could not have its primary group changed, and when all of the objects have been attempted, an escape message will be sent. If all of the objects had their primary group changed with no errors, a completion message will be sent.

If a symbolic link object is encountered, either specified in the Object (OBJ) parameter or encountered in the processing of a subtree, the value specified for the Symbolic link (SYMLNK) parameter will be applied to that symbolic link object. If processing a subtree, the processing of that branch of the subtree then stops because a symbolic link object itself cannot have subtrees.

Restrictions:

. To change the primary group of an object in the QSYS.LIB or independent ASP QSYS.LIB file system, you must have all of the following:
每 Object existence (*OBJEXIST) authority for the object
每 Object operational (*OBJOPR) and *OBJEXIST authorities if the object is a file, library, or subsystem description
每 All object (*ALLOBJ) special authority, or ownership, if the object is an authorization list
每 Object management (*OBJMGT) authority, and the authorities to be revoked, for the object if revoking the authority for the old primary group
每 *OBJMGT authority for the object and the authorities to be given if a value other than *PRIVATE is specified for the DTAAUT parameterv The new primary group user cannot be the owner of the object.

. When doing subtree processing, you must have read (*R) and execute (*X) authorities to the path name and all subdirectories within that path.


Examples:

Example 1: Changing the primary group of a program

CHGPGP OBJ(*/QSYS.LIB/USERLIB.LIB/PROGRAM1.PGM*) NEWPGP(ANN)

This command changes the primary group of the program named PROGRAM1, located in the user library named USERLIB, to the group named ANN. The new primary group will have the same authority as the old primary group. The old primary group*s authority is revoked.



Example 2: Changing the primary group of a symbolic link when SYMLNK(*NO)

CHGPGP OBJ(*/sym1*) NEWPGP(SAM) SUBTREE(*ALL) SYMLNK(*NO)

This command will first determine if there are subtrees to process. Since the object specified in the OBJ parameter is a symbolic link, the SUBTREE parameter will be ignored because a symbolic link object does not have subtrees. Next, the object pointed to by symbolic link sym1 (dir1) will be changed because the SYMLNK parameter specifies that the symbolic link object not be changed.

In this example, the primary group of dir1 is changed to SAM and he will have the same authority as the old primary group. The old primary group*s authority is revoked. It does not change the primary group of the symbolic link object (sym1) and it does not change the primary group of the contents of dir1.



Example 3: Changing the primary group of a symbolic link when SYMLNK(*YES)

CHGPGP OBJ(*/sym1*) NEWPGP(JOE) SUBTREE(*ALL) SYMLNK(*YES)

This command will first determine if there are subtrees to process. Since the object specified in the OBJ parameter is a symbolic link, the SUBTREE parameter will be ignored because a symbolic link object does not have subtrees. Next, the symbolic link object (sym1) will be changed because the SYMLNK parameter specifies that the symbolic link object be changed.

In this example, the primary group of sym1 is changed to JOE and he will have the same authority as the old primary group. The old primary group*s authority is revoked. It does not change the primary group of the object pointed to by the symbolic link (dir1) and it does not change the primary group of the contents of dir1.



Example 4: Changing the primary group of a directory when SUBTREE(*ALL) and SYMLNK(*NO)

CHGPGP OBJ(*/dir1*) NEWPGP(PETE) SUBTREE(*ALL) SYMLNK(*NO)

This command will first determine if there are subtrees to process. Since the object specified in the OBJ parameter is a directory, the subtrees will be processed. When the processing of the tree encounters a *SYMLNK object, the value for the SYMLNK parameter will be applied to that *SYMLNK object. When the SYMLNK parameter is *NO, the object the symbolic link points to will be changed. The processing of that branch of the tree then stops because the *SYMLNK object itself does not have a subtree.

In this example, the primary group of dir1, dir2.1, dir2.2, dir2.3, dir3.1, dir3.2, dirA is changed to PETE and he will have the same authority as the old primary group. The old primary group*s authority is revoked. The primary group of sym3.3, dirB.1, dirB.2, dirB.3 is not changed.



Example 5: Changing the primary group of a directory when SUBTREE(*ALL) and SYMLNK(*YES)

CHGPGP OBJ(*/dir1*) NEWPGP(GEORGE) SUBTREE(*ALL) SYMLNK(*YES)

This command will first determine if there are subtrees to process. Since the object specified in the OBJ parameter is a directory, the subtrees will be processed. When the processing of the tree encounters a *SYMLNK object, the value for the SYMLNK parameter will be applied to the *SYMLNK object. When the SYMLNK parameter is *YES, the symbolic link object will be changed. The processing of that branch of the tree then stops because the *SYMLNK object itself does not have a subtree.

In this example, the primary group of dir1, dir2.1, dir2.2, dir2.3, dir3.1, dir3.2, sym3.3 is changed to GEORGE and he will have the same authority as the old primary group. The old primary group*s authority is revoked. The primary group of dirA, dirB.1, dirB.2, dirB.3 is not changed.



Example 6: Changing the primary group of a directory when SUBTREE(*NONE) and SYMLNK(*NO)

CHGPGP OBJ(*/dir1*) NEWPGP(BETTY) SUBTREE(*NONE) SYMLNK(*NO)

This command will not process subtrees. Since the object specified in the OBJ parameter is not a symbolic link, the SYMLNK parameter will be ignored.

The primary group of dir1 is changed to BETTY. The old primary group*s authority is revoked.

NOTE: The only way to change dirB.1, dirB.2, and dirB.3 is to specify them individually in the OBJ parameter of the change command, or to specify the change command with OBJ(dirA) and SUBTREE(*ALL).