Aller au contenu

CHGAUTCOL

Modifier collecte des droits

En bref

La commande CHGAUTCOL permet de modifier la valeur de collecte des droits sur un objet ou un groupe d'objets.

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

Syntaxe minimale

CHGAUTCOL OBJ(…) AUTCOLVAL(…)

Paramètres

Astuce : dans une session 5250, tapez CHGAUTCOL 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 : Oui

La commande CHGAUTCOL permet de modifier la valeur de collecte des droits sur un objet ou un groupe d'objets. Vous pouvez modifier la valeur de collecte des droits pour un groupe d'objets associés à l'aide d'un masque de nom d'objet. Lorsque la collecte des droits pour les objets est active, les informations de droits sont collectées pour les objets dont la valeur de collecte des droits est autre que *NONE. Afin de démarrer la collecte des droits pour les objets, vous pouvez utiliser la commande STRAUTCOL (Démarrer collecte droits) avec TYPE(*OBJAUTCOL).

La commande CHGAUTCOL permet également de modifier les valeurs de collecte des droits d'une arborescence lorsque la modification des valeurs de collecte des droits s'étend au répertoire, à son contenu et au contenu de tous les sous-répertoires associés. Lorsque l'option SUBTREE(*ALL) est indiquée, cette commande tente de modifier la valeur de collecte des droits de tous les objets de la branche.

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/.

La valeur de collecte des droits ne peut être modifiée que pour les objets des types suivants :

*BLKSF, *CMD, *CHRSF, *DIR, *DOC, *DTAARA, *DTADCT, *DTAQ, *FIFO, *FILE, *FLR, *JOBD, *JOBQ, *JRN, *JRNRCV, *LIB, *OUTQ, *PGM, *QMFORM, *QMQRY, *QRYDFN, *SOCKET, *SQLPKG, *SQLUDT, *SQLXSR, *SRVPGM, *STMF, *SYMLNK, *USRIDX, *USRQ, *USRSPC

Lors de la modification de la valeur de collecte des droits pour un objet ou un groupe d'objets, que ce soit en indiquant un nom d'objet ou un masque de nom d'objet au paramètre OBJ ou en spécifiant SUBTREE(*ALL), et si un objet dont le type n'est pas pris en charge est détecté, cet objet est ignoré et sa valeur de collecte des droits n'est pas modifiée.

Considérations :

  • Lors de la sauvegarde d'un objet, la valeur de collecte des droits n'est pas sauvegardée.
  • Lors de la restauration d'un objet, la collecte des droits actuellement active pour cet objet n'est pas affectée.
  • Pour les objets de type *FILE, la collecte des informations de droits liées aux vérifications des droits se produit lors de l'ouverture des fichiers, des opérations d'E/S sur les fichiers et de la fermeture des fichiers. Une fermeture complète des objets de type *FILE est nécessaire pour que toutes les informations de droits sur ces objets soient capturées.
  • La valeur de collecte des droits peut être affichée à l'aide de la commande DSPOBJD (Afficher description d'objet) ou DSPATR (Afficher attributs).

Restrictions :

  • La valeur de collecte des droits ne peut pas être modifiée pour la bibliothèque QSYS, les bibliothèques dont le nom débute par QSYS, la bibliothèque QTEMP, ou les objets de la bibliothèque QTEMP.
  • Cette commande est fournie avec le droit public *EXCLUDE.
  • Pour utiliser cette commande, vous devez disposer des droits spéciaux *ALLOBJ ou posséder des droits sur la fonction d'administrateur de la sécurité de la base de données de l'IBM i (QIBM_DB_SECADM).

Paramètres

Mot-clé Description Valeurs possibles Remarques
OBJ Objet Chemin d'accès Obligatoire, positionnel 1
AUTCOLVAL Valeur de collecte des droits *NONE, *OBJINF Obligatoire, positionnel 2
INCDEPOBJ Inclusion objets dépendants *NO, *LF Facultatif
SUBTREE Branche du répertoire *NONE, *ALL Facultatif
SYMLNK Lien symbolique *NO, *YES Facultatif
DLTCOL Supprimer collecte *NO, *YES Facultatif

Objet (OBJ)

Indique l'objet (ou le masque correspondant à plusieurs objets) pour lequel les valeurs de collecte des droits doivent être modifiées.

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 pour lesquels les valeurs de collecte des droits doivent être modifiées;

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.

Valeur de collecte des droits (AUTCOLVAL)

Indique la valeur de collecte des droits utilisée pour l'objet lorsque la collecte des droits pour les objets est active sur la partition.

Ce paramètre est obligatoire.

*NONE
Aucune information sur les droits n'est collectée pour cet objet lorsque la collecte des droits pour les objets est active sur la partition.
*OBJINF
Les informations sur les droits sont collectées pour cet objet lorsque la collecte des droits pour les objets est active sur la partition. Les informations de vérification des droits sont collectées pour chaque instance unique des informations de niveau objet associées à la vérification des droits.
  • Configuration d'exemple : La commande CHGAUTCOL AUTCOLVAL(*OBJINF) a été utilisée sur le fichier PAYROLL pour indiquer que les informations de droits doivent être collectées et que la collecte des droits pour les objets est active sur la partition.
    • Exemple 1 : Si le travail JOBA qui est exécuté sous USER1 accède au fichier PAYROLL avec les droits *USE requis, cette vérification des droits est collectée. Si le travail JOBB qui est exécuté sous USER1 accède au même fichier, PAYROLL, avec les mêmes droits *USE requis, cette vérification des droits n'est pas collectée.
    • Exemple 2 : Si le travail JOBA qui est exécuté sous USER1 accède 100 fois au fichier PAYROLL avec les mêmes droits *USE requis, une seule instance de la vérification des droits est collectée.

Inclusion objets dépendants (INCDEPOBJ)

Permet d'indiquer si les objets dépendants doivent être inclus dans la collecte des droits.

*NO
Les objets dépendants ne seront pas inclus dans la collecte des droits.
*LF
Si l'objet est un fichier physique, la valeur de collecte des droits des fichiers logiques qui dépendent des données du fichier physique sera également supprimée.

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é.

Supprimer collecte (DLTCOL)

Permet d'indiquer si les informations de droits précédemment collectées pour les objets spécifiés sont supprimées.

*NO
Les informations de collecte des droits pour les objets indiqués ne sont pas supprimées. De nouvelles informations de droits seront ajoutées aux informations existantes.
*YES
Les informations de collecte des droits pour les objets indiqués sont supprimées.

Exemples

Exemple 1 : modification de la valeur de collecte des droits pour un fichier

CHGAUTCOL  OBJ('/QSYS.LIB/MYAPPLIB.LIB/MYAPPINFO.FILE')
           AUTCOLVAL(*OBJINF)

Cette commande modifie la valeur de collecte des droits pour le fichier MYAPPINFO dans la bibliothèque MYAPPLIB. La valeur de collecte des droits du fichier MYAPPINFO est modifiée de sorte que les informations de droits soient collectées pour le fichier lorsque la collecte des droits pour les objets est active.

Exemple 2 : modification de la valeur de collecte des droits pour un fichier ayant des objets dépendants

CHGAUTCOL  OBJ('/QSYS.LIB/MYAPPLIB.LIB/MYAPPINFO2.FILE')
           AUTCOLVAL(*OBJINF) INCDEPOBJ(*LF)

Cette commande modifie la valeur de collecte des droits pour le fichier MYAPPINFO2 dans la bibliothèque MYAPPLIB. La valeur de collecte des droits du fichier MYAPPINFO est modifiée de sorte que les informations de droits soient collectées pour le fichier lorsque la collecte des droits pour les objets est active. Si le fichier MYAPPINFO2 dans la bibliothèque MYAPPLIB est un fichier physique, la valeur de collecte des droits pour les fichiers logiques qui dépendent des données du fichier MYAPPINFO2 sera également modifiée et les informations de droits seront collectées.

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 3 : modification de la valeur de collecte des droits pour un lien symbolique avec SYMLNK(*NO) et DLTCOL(*NO)

CHGAUTCOL  OBJ('/sym1') AUTCOLVAL(*OBJINF) DLTCOL(*NO)
           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, la valeur de collecte des droits pour dir1 est modifiée de sorte que les informations de droits soient collectées pour le répertoire lorsque la collecte des droits pour les objets est active. La valeur de collecte des droits pour l'objet de lien symbolique (sym1) et celle du contenu de dir1 ne sont pas modifiées.

DLTCOL(*NO) indique que les informations de collecte des droits existantes pour dir1 ne sont pas supprimées. De nouvelles informations de droits sont ajoutées aux informations existantes.

Exemple 4 : modification de la valeur de collecte des droits pour un lien symbolique avec SYMLNK(*YES) et DLTCOL(*YES)

CHGAUTCOL  OBJ('/sym1') AUTCOLVAL(*OBJINF) DLTCOL(*YES)
           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, la valeur de collecte des droits pour sym1 est modifiée de sorte que les informations de droits soient collectées pour le lien symbolique lorsque la collecte des droits pour les objets est active. La valeur de collecte des droits pour l'objet désigné par le lien symbolique (dir1) et celle du contenu de dir1 ne sont pas modifiées.

DLTCOL(*YES) indique que les informations de droits existantes pour sym1 sont supprimées avant que de nouvelles informations de droits soient ajoutées.

Exemple 5 : modification de la valeur de collecte des droits pour un répertoire avec SUBTREE(*ALL) et SYMLNK(*NO)

CHGAUTCOL  OBJ('/dir1') AUTCOLVAL(*OBJINF)
           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, les informations de collecte des droits pour dir1, dir2.1, dir2.2, dir2.3, dir3.1, dir3.2, dirA sont modifiées de sorte que les informations de droits soient collectées pour ces objets lorsque la collecte des droits pour les objets est active. La valeur de collecte des droits pour sym3.3, dirB.1, dirB.2 et dirB.3 n'est pas modifiée.

Exemple 6 : modification de la valeur de collecte des droits pour un répertoire avec SUBTREE(*ALL) et SYMLNK(*YES)

CHGAUTCOL  OBJ('/dir1') AUTCOLVAL(*OBJINF)
           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, la valeur de collecte des droits pour dir1, dir2.1, dir2.2, dir2.3, dir3.1, dir3.2, sym3.3 est modifiée de sorte que les informations de droits soient collectées pour ces objets lorsque la collecte des droits pour les objets est active. La valeur de collecte des droits pour dirA, dirB.1, dirB.2 et dirB.3 n'est pas modifiée.

Exemple 7 : remplacement de la valeur de collecte des droits par *NONE pour un répertoire avec SUBTREE(*ALL), SYMLNK(*YES) et DLTCOL(*YES)

CHGAUTCOL  OBJ('/dir1') AUTCOLVAL(*NONE) DLTCOL(*YES)
           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, la valeur de collecte des droits pour dir1, dir2.1, dir2.2, dir2.3, dir3.1, dir3.2, sym3.3 est modifiée de sorte que les informations de droits ne soient plus collectées pour ces objets. La valeur de collecte des droits pour dirA, dirB.1, dirB.2 et dirB.3 n'est pas modifiée.

DLTCOL(*YES) indique que les informations de collecte des droits existantes pour dir1, dir2.1, dir2.2, dir2.3, dir3.1, dir3.2, sym3.3 sont supprimées.

Exemple 8 : modification de la valeur de collecte des droits pour un répertoire avec SUBTREE(*NONE) et SYMLNK(*NO)

CHGAUTCOL  OBJ('/dir1') AUTCOLVAL(*OBJINF)
           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é.

La valeur de collecte des droits pour dir1 est modifiée de sorte que les informations de droits soient collectées pour dir1 lorsque la collecte des droits pour les objets est active.

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

CPFA0AA
Une erreur s'est produite pendant l'allocation d'espace.
CPF2227
Une ou plusieurs erreurs survenues lors du traitement de la commande.
CPF4AC5
Vous n'êtes pas autorisé à démarrer, terminer, supprimer ou modifier la collecte des droits.
CPF4ACC
Valeur de collecte des droits modifiée pour &1 objets, non modifiée pour &2 objets.

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