Aller au contenu

CHGPGP

Modifier le groupe principal

En bref

La commande CHGPGP (Modifier le groupe principal) permet de modifier l'utilisateur constituant le groupe principal d'un objet ou d'un groupe d'objets.

CHGPGP se lit CHG (Modifier) + PGP. Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.

Syntaxe minimale

CHGPGP OBJ(…) NEWPGP(…)

Paramètres

  • OBJ Objet obligatoire
  • NEWPGP Nouveau groupe principal obligatoire
  • DTAAUT Nouveaux droits sur données
  • OBJAUT Nouveaux droits sur l'objet
  • RVKOLDAUT Révoquer les droits en cours
  • SUBTREE Branche du répertoire
  • SYMLNK Lien symbolique

Astuce : dans une session 5250, tapez CHGPGP puis F4 pour l'invite de saisie, et F1 sur un paramètre pour son aide.

Aide IBM i de la commande

Texte du F1, IBM i 7.5 en français (bibliothèque QSYS)

Où s'exécute : Tous les environnements (*ALL)
Compatible multitâche : Non

La commande CHGPGP (Modifier le groupe principal) permet de modifier l'utilisateur constituant le groupe principal d'un objet ou d'un groupe d'objets. Vous pouvez modifier le droit sur un groupe d'objets associés à l'aide d'un masque de nom d'objet. Les droits privés du propriétaire et des autres utilisateurs ne sont pas modifiés.

La commande CHGPGP permet également de modifier le groupe principal d'une arborescence lorsque la modification de groupe principal s'étend au répertoire, à son contenu et au contenu de tous les sous-répertoires associés. Indiquée avec SUBTREE(*ALL), cette commande tente de modifier le groupe principal de tous les objets de la branche. Le système envoie un message de diagnostic pour chaque objet dont le groupe principal n'est pas modifiable. Une fois la modification de groupe principal essayée en vain sur tous les objets, le système envoie un message d'arrêt programme. Si la modification de groupe principal aboutit pour tous les objets, le système envoie un message d'achèvement.

Si un objet lien symbolique est détecté (dans le paramètre Objet (OBJ) ou dans le traitement d'une branche), il reçoit la valeur indiquée pour le paramètre Lien symbolique (SYMLNK). S'il s'agit du traitement d'une branche, l'opération s'arrête car un objet lien symbolique ne peut pas comporter de branche.

Pour plus d'informations sur les commandes du système de fichiers intégré, reportez-vous aux Rubriques Système de fichiers intégré de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.

Restrictions :

  • Pour modifier le groupe principal d'un objet faisant partie du système de fichiers QSYS.LIB ou QSYS.LIB de l'ASP indépendant, vous devez disposer :
    • du droit d'existence sur l'objet (*OBJEXIST) ;
    • des droits d'opération (*OBJOPR) et d'existence sur l'objet (*OBJEXIST) dans le cas d'une description de fichier, de bibliothèque ou de sous-système ;
    • du droit spécial (*ALLOBJ) sur tous les objets ou de la propriété de l'objet dans le cas d'une liste d'autorisation ;
    • du droit de gestion de l'objet (*OBJMGT) et des droits révoqués pour l'objet si vous souhaitez révoquer les droits de l'ancien groupe principal ;
    • du droit de gestion de l'objet (*OBJMGT) et des droits accordés si une valeur autre que *PRIVATE est indiquée au paramètre DTAAUT ;
  • L'utilisateur du nouveau groupe principal ne peut pas être propriétaire de l'objet.
  • Lors d'un traitement par branche, vous devez disposer des droits de lecture (*R) et d'exécution (*X) sur le nom de chemin et sur tous les sous-répertoires qu'il inclut.

Paramètres

Mot-clé Description Valeurs possibles Remarques
OBJ Objet Chemin d'accès Obligatoire, positionnel 1
NEWPGP Nouveau groupe principal Nom, *NONE Obligatoire, positionnel 2
DTAAUT Nouveaux droits sur données *OLDPGP, *PRIVATE, *RWX, *RX, *RW, *WX, *R, *W, *X, *EXCLUDE, *NONE Facultatif
OBJAUT Nouveaux droits sur l'objet Valeurs uniques: *NONE, *ALL
Autres valeurs (jusqu'à 4 répétitions): *OBJEXIST, *OBJMGT, *OBJALTER, *OBJREF
Facultatif
RVKOLDAUT Révoquer les droits en cours *NO, *YES Facultatif
SUBTREE Branche du répertoire *NONE, *ALL Facultatif
SYMLNK Lien symbolique *NO, *YES Facultatif

Objet (OBJ)

Indique l'objet (ou le masque correspondant à plusieurs objets) dont le groupe principal doit être modifié.

Pour obtenir de plus amples informations relatives à la spécification des noms de chemin, reportez-vous à "Object naming rules" dans la rubrique Rubriques CL de la catégorie Programmation de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.

Ce paramètre est obligatoire.

Remarque :Ce paramètre est compatible Unicode. Pour plus d'informations, reportez-vous à la section sur la prise en charge Unicode dans CL, dans les Rubriques CL de la catégorie Programmation de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.

nom-chemin
Indiquez le nom du chemin des objets dont le groupe principal doit être modifié.

Le nom du chemin de l'objet peut être soit un nom simple soit un nom qualifié du nom du répertoire contenant l'objet. Vous pouvez utiliser un masque dans la dernière partie du nom de chemin. Un astérisque (*) représente tout nombre de caractères et un point d'interrogation (?) correspond à un caractère unique. Si le nom de chemin est qualifié ou qu'il contient un masque, il doit être indiqué entre apostrophes.

Nouveau groupe principal (NEWPGP)

Indique le nom de l'utilisateur devant constituer le nouveau groupe principal pour l'objet. Le profil utilisateur correspondant doit déjà exister lors de l'exécution de cette commande et posséder un identificateur de groupe (gid).

Ce paramètre est obligatoire.

*NONE
L'objet n'a pas de groupe principal.
nom
Indiquez le nom du profil utilisateur devant constituer le nouveau groupe principal pour l'objet.

Nouveaux droits sur données (DTAAUT)

Droits sur les données dont dispose le nouveau groupe principal pour l'objet.

*OLDPGP
Le nouveau groupe principal dispose des mêmes droits sur l'objet que l'ancien groupe principal.
*PRIVATE
Les droits sur l'objet du nouveau groupe principal sont les droits privés dont dispose l'utilisateur. Si l'utilisateur qui devient le nouveau groupe principal ne possède aucun droit privé, le nouveau groupe principal ne dispose d'aucun droit sur l'objet.
*RWX
Le nouveau groupe principal dispose du droit d'opération sur l'objet ainsi que de tous les droits sur les données de ce dernier.
*RX
Le nouveau groupe principal dispose des droits d'opération sur l'objet ainsi que des droits de lecture et d'exécution sur les données de ce dernier.
*RW
Le nouveau groupe principal dispose du droit d'opération sur l'objet, ainsi que des droits de lecture, d'ajout, de mise à jour et de suppression sur les données de ce dernier.
*WX
Le nouveau groupe principal dispose des droits d'opération sur l'objet, ainsi que des droits d'ajout, de mise à jour et de suppression et d'exécution sur les données de ce dernier.
*R
Le nouveau groupe principal dispose du droit d'opération sur l'objet et du droit de lecture sur les données de ce dernier.
*W
Le nouveau groupe principal dispose du droit d'opération sur l'objet, ainsi que des droits d'ajout, de mise à jour et de suppression sur les données de ce dernier.
*X
Le nouveau groupe principal dispose du droit d'opération sur l'objet et du droit d'exécution sur les données de ce dernier.
*EXCLUDE
Le nouveau groupe principal dispose du droit d'exclusion sur l'objet.
*NONE
Le nouveau groupe principal ne dispose d'aucun droit sur les données de l'objet.

Nouveaux droits sur l'objet (OBJAUT)

Droits sur l'objet accordés au nouveau groupe principal.

Valeurs uniques

*NONE
Aucun autre droit sur l'objet (existence, gestion, modification sur les attributs ou référence) n'est accordé au nouveau groupe principal. Si *OLDPGP, *PRIVATE ou *EXCLUDE est indiqué au paramètre DATAAUT, cette valeur est requise.
*ALL
Tous les autres droits sur l'objet (existence, gestion, modification des attributs ou référence) sont accordés au nouveau groupe principal.

Autres valeurs (jusqu'à 4 répétitions)

*OBJEXIST
Le droit d'existence sur l'objet est accordé au nouveau groupe principal.
*OBJMGT
Le droit de gestion de l'objet est accordé au nouveau groupe principal.
*OBJALTER
Le droit de modification des attributs de l'objet est accordé au nouveau groupe principal.
*OBJREF
Le droit de référence sur l'objet est accordé au nouveau groupe principal.

Révoquer les droits en cours (RVKOLDAUT)

Indique si les droits du groupe principal en cours sont révoqués lorsque le groupe principal devient l'utilisateur précisé au paramètre Nouveau groupe principal (NEWPGP).

*YES
Les droits du groupe principal en cours sont révoqués.
*NO
Les droits du groupe principal en cours deviennent des droits privés.

Branche du répertoire (SUBTREE)

Indique si les objets de la branche doivent être modifiés lorsque l'objet désigné par le paramètre Objet (OBJ) est un répertoire ou une bibliothèque.

*NONE
Les objets indiqués par le paramètre OBJ sont modifiés. Si l'objet est un répertoire ou une bibliothèque, il est modifié, mais son contenu ne l'est pas.
*ALL
Les objets indiqués par le paramètre OBJ sont modifiés. Si l'objet est un répertoire ou une bibliothèque, il est vérifié ainsi que son contenu et celui de tous les sous-répertoires associés.

Remarque :Le critère de concordance par rapport au paramètre OBJ ne s'applique qu'aux objets de premier niveau. Si l'objet de premier niveau est un répertoire ou une bibliothèque, le critère de concordance ne s'applique pas à son contenu ni à celui des sous-répertoires associés.

Remarque :La durée d'exécution de cette commande peut être longue avec SUBTREE(*ALL) lorsque de nombreux sous-répertoires doivent être traités.

Une fois que la commande a commencé à traiter une branche d'un répertoire spécifique, les objets localisés et traités peuvent être affectés par les opérations qui mettent à jour l'organisation des objets dans l'arborescence de répertoire spécifiée. Cela inclut, sans caractère limitatif, les éléments suivants :

  • Ajout, suppression ou nouvelle dénomination des liens d'objet
  • Montage ou démontage des systèmes de fichiers
  • Mise à jour du répertoire racine effectif pour le processus qui appelle la commande
  • Mise à jour du contenu d'un lien symbolique

Pour traiter la branche du répertoire, le code du système peut augmenter le nombre maximal de descripteurs de fichier, dans la portée du processus, qui peuvent être ouverts lors du traitement. Cette opération est effectuée afin que la commande ne soit pas susceptible d'échouer en raison d'un manque de descripteurs. Cette valeur maximale de portée de processus n'est pas réinitialisée à la fin de la commande.

Lien symbolique (SYMLNK)

Si l'objet est un lien symbolique, permet d'indiquer si vous voulez modifier le lien symbolique ou l'objet qu'il désigne.

*NO
L'objet lien symbolique n'est pas modifié, contrairement à l'objet désigné par le lien symbolique.
*YES
Si l'objet est un lien symbolique, le lien symbolique est modifié. L'objet désigné par le lien symbolique n'est pas modifié.

Exemples

Exemple 1 : modification du groupe principal d'un programme

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

Cette commande change le groupe principal du programme PROGRAM1, situé dans la bibliothèque USERLIB, pour l'attribuer au groupe appelé ANN. Le nouveau groupe principal dispose des mêmes droits que l'ancien. Le droit du groupe principal antérieur est révoqué.

Les exemples ci-après utilisent le diagramme suivant :

*            sym1 (lien symbolique vers dir1)
*
*
*                       dir1
*                       * * *
*                     *   *   *
*                    *    *    *
*               dir2.1  dir2.2  dir2.3
*                  *      *       *
*                  *      *       *
*               dir3.1  dir3.2  sym3.3 (lien symbolique vers dirA)
*
*
*                       dirA
*                       * * *
*                     *   *   *
*                    *    *    *
*               dirB.1  dirB.2  dirB.3
*

Exemple 2 : modification du groupe principal d'un lien symbolique avec SYMLNK(*NO)

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

Cette commande détermine d'abord si des branches doivent être traitées. L'objet désigné dans le paramètre OBJ est un lien symbolique. Par conséquent, le paramètre SUBTREE est ignoré, car un objet lien symbolique ne possède pas de branche. Ensuite, l'objet désigné par le lien symbolique sym1 (dir1) devient la cible de l'opération car le paramètre SYMLNK indique que l'objet de lien symbolique ne doit pas être la cible de l'opération.

Dans cet exemple, le groupe principal de dir1 devient SAM et celui-ci adopte le droit détenu par le groupe principal antérieur. Le droit du groupe principal antérieur est révoqué. Le groupe principal de l'objet lien symbolique (sym1) et le groupe principal du contenu de dir1 ne sont pas modifiés.

Exemple 3 : modification du groupe principal d'un lien symbolique avec SYMLNK(*YES)

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

Cette commande détermine d'abord si des branches doivent être traitées. L'objet désigné dans le paramètre OBJ est un lien symbolique. Par conséquent, le paramètre SUBTREE est ignoré, car un objet lien symbolique ne possède pas de branche. Ensuite, l'objet de lien symbolique (sym1) devient la cible de l'opération car le paramètre SYMLNK indique que l'objet de lien symbolique doit être la cible de l'opération.

Dans cet exemple, le groupe principal de sym1 devient JOE et celui-ci adopte le droit détenu par le groupe principal antérieur. Le droit du groupe principal antérieur est révoqué. Le groupe principal de l'objet désigné par le lien symbolique (dir1) et le groupe principal du contenu de dir1 ne sont pas modifiés.

Exemple 4 : modification du groupe principal d'un répertoire avec SUBTREE(*ALL) et SYMLNK(*NO)

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

Cette commande détermine d'abord si des branches doivent être traitées. L'objet désigné dans le paramètre OBJ est un répertoire. Par conséquent, les branches sont traitées. Si un objet *SYMLNK est détecté lors du traitement de l'arborescence, il reçoit la valeur du paramètre SYMLNK. Lorsque le paramètre SYMLNK a pour valeur *NO, l'objet désigné par le lien symbolique devient la cible de l'opération. Ensuite, le traitement de cette branche de l'arborescence s'arrête, car l'objet *SYMLNK ne possède pas de branche.

Dans cet exemple, le groupe principal de dir1, dir2.1, dir2.2, dir2.3, dir3.1, dir3.2, dirA devient PETE et celui-ci adopte le droit détenu par le groupe principal antérieur. Le droit du groupe principal antérieur est révoqué. Le groupe principal de sym3.3, dirB.1, dirB.2, dirB.3 n'est pas modifié.

Exemple 5 : modification du groupe principal d'un répertoire avec SUBTREE(*ALL) et SYMLNK(*YES)

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

Cette commande détermine d'abord si des branches doivent être traitées. L'objet désigné dans le paramètre OBJ est un répertoire. Par conséquent, les branches sont traitées. Si un objet *SYMLNK est détecté lors du traitement de l'arborescence, il reçoit la valeur du paramètre SYMLNK. Lorsque le paramètre SYMLNK a pour valeur *YES, l'objet de lien symbolique devient la cible de l'opération. Ensuite, le traitement de cette branche de l'arborescence s'arrête, car l'objet *SYMLNK ne possède pas de branche.

Dans cet exemple, le groupe principal de dir1, dir2.1, dir2.2, dir2.3, dir3.1, dir3.2, sym3.3 devient GEORGE et celui-ci adopte le droit détenu par le groupe principal antérieur. Le droit du groupe principal antérieur est révoqué. Le groupe principal de dirA, dirB.1, dirB.2, dirB.3 n'est pas modifié.

Exemple 6 : modification du groupe principal d'un répertoire avec SUBTREE(*NONE) et SYMLNK(*NO)

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

Cette commande ne traite pas les branches. L'objet désigné dans le paramètre OBJ n'est pas un lien symbolique. Par conséquent, le paramètre SYMLNK est ignoré.

Le groupe principal de dir1 devient BETTY. Le droit du groupe principal antérieur est révoqué.

REMARQUE :

Pour que les objets dirB.1, dirB.2 et dirB.3 deviennent la cible de l'opération, incluez-les individuellement dans le paramètre OBJ de la commande ou indiquez la commande avec OBJ('/dirA') and SUBTREE(*ALL).

Messages d'erreur

Messages *ESCAPE

CPE3101
Une erreur d'entrée-sortie irrécupérable s'est produite. A non-recoverable I/O error occurred.
CPE3408
L'adresse utilisée pour un argument n'était pas correcte. The address used for an argument was not correct.
CPE3418
Condition APAR possible ou panne matérielle. Possible APAR condition or hardware failure.
CPE3474
Unknown system state.
CPFA0AA
Une erreur s'est produite pendant l'allocation d'espace.
CPFA0AB
Erreur d'opération pour l'objet. L'objet est &1.
CPFA0AD
Fonction non acceptée par le système de fichiers.
CPFA0A2
Données incorrectes transmises à l'opération.
CPFA0A3
La résolution du nom de chemin provoque une boucle.
CPFA0A4
Trop de fichiers ouverts pour le traitement.
CPFA0A7
Le nom de chemin est trop long.
CPFA0A9
Objet introuvable. L'objet est &1.
CPFA0B1
Aucun objet ne correspond à la demande.
CPFA0C1
CCSID &1 incorrect.
CPFA0CE
La valeur indiquée au paramètre de nom de chemin a provoqué une erreur.
CPFA0DD
Fonction interrompue.
CPFA0D4
Une erreur s'est produite dans le système de fichiers. Code erreur &1.
CPFA08B
Le nom de chemin ne peut pas commencer par *.
CPFA08C
Masque non admis dans répertoire du nom de chemin.
CPFA085
Répertoire initial de l'utilisateur &1 introuvable.
CPFA086
Apostrophe manquante dans nom de chemin.
CPFA087
Le nom de chemin contient un caractère indéfini.
CPFA088
Masque de nom de chemin incorrect.
CPFA089
Masque non admis dans nom de chemin.
CPFA09C
Aucun droit sur l'objet. L'objet est &1.
CPFA09D
Erreur dans le programme &1.
CPFA09E
L'objet est en cours d'utilisation. L'objet est &1.
CPFA091
Masque non admis pour le nom de l'utilisateur.
CPFA092
Le nom de chemin n'a pas été converti.
CPFA094
Le nom de chemin n'a pas été indiqué.
CPFBC50
Nom(s) d'accès introuvable(s).
CPF220B
Le nouveau groupe principal &1 n'a pas de numéro d'ID groupe.
CPF2204
Profil utilisateur &1 non trouvé.
CPF2213
Impossible d'allouer le profil utilisateur &1.
CPF2217
Non autorisé au profil utilisateur &1.
CPF223A
&1 objets modifiés, &2 objets non modifiés.
CPF22F0
Erreurs imprévues lors du traitement.
CPF3BF6
La valeur de type de chemin d'accès n'est pas valide. Path Type value is not valid.
CPF4ACF
Echec de l'opération pour l'objet &1 dans &2 type *&3 en raison d'erreurs de réplication.

© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.