CHKOBJITG
Vérifier intégrité des objets
En bref
La commande CHKOBJITG (Vérifier l'intégrité des objets) permet de contrôler les objets appartenant au profil utilisateur indiqué, ceux correspondant au nom de chemin défini ou tous les objets du système, afin de déterminer si certains d'entre eux entraînent des violations d'intégrité.
CHKOBJITG se lit CHK
(Vérifier) + OBJITG.
Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.
Syntaxe minimale
CHKOBJITG
Paramètres
-
USRPRFProfil utilisateur, ou -
OBJObjet -
OUTFILEFichier recevant la sortie -
OUTMBROptions pour membre de sortie -
CHKDMNVérifier le domaine -
CHKPGMMODVérifier programmes et modules -
CHKCMDVérifier commande -
CHKSIGVérifier signature -
CHKLIBVérifier bibliothèque -
SCANFSRecherche systèmes de fichiers -
SUBTREEBranche du répertoire -
CHKLICVérif microcode sous licence
Astuce : dans une session 5250, tapez CHKOBJITG 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 CHKOBJITG (Vérifier l'intégrité des objets) permet de contrôler les objets appartenant au profil utilisateur indiqué, ceux correspondant au nom de chemin défini ou tous les objets du système, afin de déterminer si certains d'entre eux entraînent des violations d'intégrité. Une violation d'intégrité intervient si :
- une commande a été trafiquée.
- un objet comporte une signature numérique incorrecte.
- un objet comporte un attribut de domaine incorrect pour son type d'objet.
- un programme ou un module objet a été trafiqué.
- des attributs de bibliothèque ont été trafiqués.
- un objet a causé l'échec du scannage d'un système de fichiers.
Si une violation d'intégrité a eu lieu, le nom, la bibliothèque, le type et le propriétaire de l'objet, ainsi que le type de défaillance sont consignés dans un fichier base de données.
Les types de violations d'intégrité possibles sont les suivants :
- ALTERED - L'objet a été trafiqué.
- BADSIG - L'objet comporte une signature numérique incorrecte.
- DMN - Le domaine est incorrect pour le type d'objet.
- PGMMOD - L'objet exécutable a été trafiqué.
- BADLIBUPDA - La valeur attribuée à l'attribut de protection de la bibliothèque est incorrecte.
- SCANFSFAIL - L'objet a été scanné par un programme d'exit relatif au scannage. Lors de la dernière demande de scannage, l'objet a causé l'échec du scannage.
Si une violation est consignée pour un module de microcode sous licence, le nom d'objet est le nom RU à 8 caractères (le nom RU étant le nom de l'unité remplaçable du module du microcode sous licence), le nom de bibliothèque reste vierge et le type d'objet est *LIC. Si une violation de ce type se produit, prenez contact avec votre technicien de maintenance.
Les objets ne comportant pas de signature numérique, mais pouvant être signés, les objets n'ayant pu être vérifiés et ceux dont le format requiert des modifications à utiliser sur cette machine sont également consignés dans le fichier base de données (mais pas les violations d'intégrité).
Les types de violations d'intégrité possibles sont les suivants :
- NOSIG - L'objet peut être signé mais ne comporte pas de signature numérique.
- NOTCHECKED - L'objet ne peut pas être contrôlé, Il est en mode de débogage, sauvegardé avec libération de mémoire ou compressé.
- NOTTRANS - L'objet n'a pas été converti au format en cours ou n'est pas compatible avec la version, l'édition ou le niveau de modification en cours.
Remarque :Les objets compressés, endommagés, sauvegardés avec libération de mémoire ou en mode de débogage peuvent ne pas être contrôlés.
Remarque :Les commandes IBM dupliquées à partir d'une version antérieure à V5R2 seront consignées en tant que violations de type ALTERED. Ces commandes doivent être supprimées et créées à nouveau à l'aide de la commande CRTDUPOBJ (Créer un objet dupliqué) à chaque fois qu'une nouvelle version est chargée.
Restrictions :
- Pour vérifier l'intégrité des objets, vous devez disposer du droit spécial d'audit (*AUDIT).
Note: La durée d'exécution de la commande CHKOBJITG peut être longue dans les cas suivants :
- le profil utilisateur indiqué pour le paramètre USRPRF possède de nombreux objets.
- *ALL est indiqué pour le paramètre USRPRF.
- *SYSTEM est indiqué pour le paramètre OBJ.
- de nombreux objets correspondent au masque de nom de chemin indiqué pour le paramètre OBJ.
Paramètres
| Mot-clé | Description | Valeurs possibles | Remarques |
|---|---|---|---|
| USRPRF | Profil utilisateur, ou | Nom générique, nom, *ALL | Facultatif, positionnel 1 |
| OBJ | Objet | Chemin d'accès, *SYSTEM | Facultatif |
| OUTFILE | Fichier recevant la sortie | Nom d'objet qualifié | Facultatif, positionnel 2 |
| Qualificatif 1: Fichier recevant la sortie | Nom | ||
| Qualificatif 2: Biblio | Nom, *LIBL, *CURLIB | ||
| OUTMBR | Options pour membre de sortie | Liste d'éléments | Facultatif |
| Élément 1: Membre recevant la sortie | Nom, *FIRST | ||
| Élément 2: Remplacement ou ajout enregs | *REPLACE, *ADD | ||
| CHKDMN | Vérifier le domaine | *YES, *NO | Facultatif |
| CHKPGMMOD | Vérifier programmes et modules | *YES, *NO | Facultatif |
| CHKCMD | Vérifier commande | *YES, *NO | Facultatif |
| CHKSIG | Vérifier signature | *SIGNED, *ALL, *NONE | Facultatif |
| CHKLIB | Vérifier bibliothèque | *YES, *NO | Facultatif |
| SCANFS | Recherche systèmes de fichiers | *STATUS, *YES, *NO | Facultatif |
| SUBTREE | Branche du répertoire | *NONE, *ALL | Facultatif |
| CHKLIC | Vérif microcode sous licence | *YES, *NO, *ONLY | Facultatif |
Profil utilisateur (USRPRF)
Indique les profils utilisateur propriétaires des objets à soumettre à une vérification d'intégrité.
Remarque :Une valeur doit être indiquée soit pour le paramètre USRPRF, soit pour le paramètre OBJ. Vous ne pouvez pas indiquer des valeurs pour ces deux paramètres.
- *ALL
- Les objets appartenant à tous les profils utilisateur du système sont vérifiés.
- nom-générique
- Indiquez les noms génériques des profils utilisateur auxquels appartiennent les objets à vérifier.
Un nom générique est une chaîne comportant un ou plusieurs caractères suivis d'un astérisque (*), par exemple, ABC*. L'astérisque représente des caractères admis. Un nom générique spécifie tous les objets dont les noms commencent par le préfixe générique sur lesquels l'utilisateur dispose de droits. Si aucun astérisque n'est associé au nom (de préfixe) générique, le système considère qu'il s'agit du nom complet de l'objet.
- nom
- Indiquez le nom du profil utilisateur propriétaire des objets à vérifier.
Objet (OBJ)
Indique les objets à soumettre à une vérification d'intégrité.
Remarque :Une valeur doit être indiquée soit pour le paramètre USRPRF, soit pour le paramètre OBJ. Vous ne pouvez pas indiquer des valeurs pour ces deux paramètres.
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/.
- *SYSTEM
- Tous les objets des ASP disponibles doivent être vérifiés.
Remarque :Lorsque *SYSTEM est indiqué, la seule valeur autorisée pour le paramètre CHKSIG est *ALL.
- nom-chemin
- Indiquez le nom de chemin des objets à vérifier.
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.
Fichier recevant la sortie (OUTFILE)
Indique le fichier de base de données vers lequel la sortie générée par la commande est dirigée. Si ce fichier n'existe pas, la commande en crée un dans la bibliothèque précisée. S'il existe déjà, les droits publics sur le fichier sont les mêmes que le droit de création de la pour la bibliothèque contenant le fichier. Pour afficher ce droit, utilisez la commande DSPLIBD (Afficher une description de bibliothèque).
Qualificatif 1 : Fichier recevant la sortie
- nom
- Indiquez le nom du fichier de base de données vers lequel la sortie générée de la commande est dirigée.
Qualificateur 2: Biblio
- *LIBL
- Le fichier est recherché dans la liste des bibliothèques. Si le système ne le trouve pas, il en crée un dans la bibliothèque en cours. S'il n'existe pas de bibliothèque en cours, le fichier est créé dans la bibliothèque QGPL.
- *CURLIB
- Bibliothèque de l'unité d'exécution en cours utilisée pour localiser le fichier. Si cette bibliothèque n'est pas indiquée, QGPL est utilisée par défaut.
- nom
- Indiquez le nom de la bibliothèque dans laquelle doit s'effectuer la recherche.
Remarque :Si un fichier est créé, le système de fichiers QASYCHKI de la bibliothèque du système QSYS avec le nom de format QASYCHKI est utilisé comme modèle.
Options pour membre de sortie (OUTMBR)
Indique le nom du membre de fichier base de données dans lequel est envoyée la sortie de la commande.
Elément 1 : Membre recevant la sortie
- *FIRST
- Le premier membre du fichier reçoit la sortie. Si OUTMBR(*FIRST) est indiqué et que le membre n'existe pas, le système en crée un du nom indiqué à l'invite Fichier recevant la sortie (paramètre OUTFILE). Si le membre existe, vous avez la possibilité d'ajouter de nouveaux enregistrements à la fin du membre existant ou de le mettre à blanc et de lui ajouter les nouveaux enregistrements.
- nom
- Indiquez le nom du membre de fichier destiné à recevoir la sortie. Si aucun membre de ce nom n'existe, le système le crée.
Elément 2 : Remplacement ou ajout enregs
- *REPLACE
- Le système met à blanc le membre existant et ajoute les nouveaux enregistrements.
- *ADD
- Le système ajoute les nouveaux enregistrements à la suite des enregistrements existants.
Vérifier le domaine (CHKDMN)
Indique si l'intégrité du domaine de l'objet doit être vérifiée.
- *YES
- L'intégrité de domaine des objets doit être vérifiée.
Remarque : Les objets ci-dessous font partie du domaine utilisateur et ne sont pas vérifiés.
- Bibliothèque QTEMP
- Tous les objets de type *PGM
- Tous les objets de type *SQLPKG
- Tous les objets de type *SRVPGM
Les types d'objets suivants sont admis dans le domaine utilisateur uniquement si la bibliothèque les contenant est indiquée dans la valeur système QALWUSRDMN (ou si QALWUSRDMN a pour valeur *ALL).
- *USRSPC
- *USRQ
- *USRIDX
- *NO
- L'intégrité de domaine des objets ne doit pas être vérifiée.
Vérifier programmes et modules (CHKPGMMOD)
Indique si l'intégrité des objets programme et module doit être vérifiée.
- *YES
- L'intégrité des programmes et modules doit être vérifiée.
- *NO
- L'intégrité des programmes et modules ne doit pas être vérifiée.
Vérifier commande (CHKCMD)
Indique si l'intégrité des commandes doit être vérifiée.
- *YES
- L'intégrité des commandes doit être vérifiée.
- *NO
- L'intégrité des commandes ne doit pas être vérifiée.
Vérifier signature (CHKSIG)
Indique si les signatures numériques des objets pouvant être signés doivent être vérifiées.
- *SIGNED
- Les objets comportant des signatures numériques sont vérifiés. Tout objet comportant une signature incorrecte sera consigné.
- *ALL
- Tous les objets pouvant comporter une signature numérique sont vérifiés. Tout objet pouvant être signé, mais ne comportant pas de signature sera consigné. Tout objet comportant une signature incorrecte sera consigné.
- *NONE
- Les signatures numériques ne seront pas vérifiées.
Vérifier bibliothèque (CHKLIB)
Indique si l'intégrité des attributs de bibliothèque doit être vérifiée.
- *YES
- L'intégrité des attributs de bibliothèque doit être vérifiée.
- *NO
- L'intégrité des attributs de bibliothèque ne doit pas être vérifiée.
Recherche systèmes de fichiers (SCANFS)
Indique si les objets des systèmes de fichiers intégrés identifiés par la valeur système QSCANFS doivent être scannés ou si un état de scannage existant doit être renvoyé.
Les points d'exit liés au scannage du système de fichiers intégré sont les suivants :
- QIBM_QP0L_SCAN_OPEN - Programme d'exit d'analyse à l'ouverture du système de fichiers intégré QIBM_QP0L_SCAN_OPEN - Integrated File System Scan on Open Exit Program
- QIBM_QP0L_SCAN_CLOSE - Programme d'exit d'analyse à la fermeture du système de fichiers intégré QIBM_QP0L_SCAN_CLOSE - Integrated File System Scan on Close Exit Program
Pour plus d'informations sur ces points d'exit, reportez-vous au manuel Ensemble de rubriques API de la catégorie Programmation de l'IBM i Information Center (http://www.ibm.com/systems/i/infocenter/).
- *STATUS
- Les objets ne seront pas scannés, cependant si l'état d'un objet indique l'échec de la dernière opération de scannage, une violation d'intégrité SCANFSFAIL sera consignée.
- *YES
- Les objets seront scannés selon les règles décrites dans les programmes d'exit relatifs au scannage. Si un objet cause l'échec de l'opération de scannage, une violation d'intégrité SCANFSFAIL sera consignée.
- *NO
- Les objets ne seront pas scannés et l'état d'échec du scannage ne sera pas consigné.
Branche du répertoire (SUBTREE)
Indique si les objets de la branche doivent être vérifiés lorsque l'objet désigné par le paramètre Objet (OBJ) est un répertoire.
- *NONE
- Les objets indiqués par le paramètre OBJ sont vérifiés. Si l'objet est un répertoire, il est vérifié, mais son contenu ne l'est pas.
- *ALL
- Les objets indiqués par le paramètre OBJ sont vérifiés. Si l'objet est un répertoire, 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, le critère de concordance ne s'applique pas à son contenu ni à celui des sous-répertoires associé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.
Vérif microcode sous licence (CHKLIC)
Indique si l'intégrité du microcode sous licence doit être vérifiée.
Remarque :Ce paramètre peut uniquement être indiqué lorsque les valeurs *SYSTEM et *ALL sont respectivement attribuées aux paramètres Objet (OBJ) et Vérifier signature (CHKSIG).
- *YES
- Les signatures numériques du microcode sous licence sont vérifiées en plus des vérifications réalisées lorsque la valeur *SYSTEM est attribuée au paramètre Objet (OBJ).
- *NO
- Les signatures numériques du microcode sous licence ne sont pas vérifiées. Les vérifications qui sont réalisées lorsque la valeur *SYSTEM est attribuée au paramètre Objet (OBJ) le sont toujours.
- *ONLY
- Seules les signatures numériques du microcode sous licence sont vérifiées. Les vérifications qui sont réalisées lorsque la valeur *SYSTEM est attribuée au paramètre Objet (OBJ) ne sont pas réalisées.
Exemples
Exemple 1 : vérification des objets appartenant à un seul profil utilisateur
CHKOBJITG USRPRF(JOEPGMR) OUTFILE(SECCHECK)
OUTMBR(*FIRST *REPLACE)
CHKDMN(*YES) CHKPGMMOD(*YES)
CHKSIG(*YES) CHKLIB(*YES)
Cette commande vérifie qu'aucun des objets appartenant à l'utilisateur JOEPGMR n'a subi de violation d'intégrité. Les objets dont l'attribut de domaine est incorrect, les objets programmes et modules faussés, les objets dont la signature numérique n'est pas correcte et les bibliothèques dont les attributs ont été faussés entraînent la consignation d'enregistrements de violation d'intégrité dans le fichier base de données SECCHECK. Ce dernier est au préalable vidé de tous ses enregistrements existants.
Exemple 2 : vérification des objets appartenant à plusieurs profils utilisateur
CHKOBJITG USRPRF(ABC*) OUTFILE(ABCCHECK)
OUTMBR(*FIRST *REPLACE) CHKDMN(*YES)
CHKPGMMOD(*YES) CHKSIG(*NONE) CHKLIB(*YES)
Cette commande vérifie qu'aucun des objets appartenant des profils l'utilisateur commençant par ABC n'a subi de violation d'intégrité. Les objets dont l'attribut de domaine est incorrect, les objets programmes et modules faussés et les bibliothèques dont les attributs ont été faussés entraînent la consignation d'enregistrements de violation d'intégrité dans le fichier base de données ABCCHECK. Ce dernier est au préalable vidé de tous ses enregistrements existants.
Exemple 3 : vérification des objets d'une bibliothèque
CHKOBJITG OBJ('/QSYS.LIB/LIB2.LIB/ABC*.*) OUTFILE(SECCHECK2)
OUTMBR(*FIRST *REPLACE)
CHKDMN(*YES) CHKPGMMOD(*YES)
CHKSIG(*ALL) CHKLIB(*NO)
Cette commande vérifie qu'aucun objet de la bibliothèque LIB2 dont le nom commence par ABC et quel qu'en soit le type n'a subi de violation d'intégrité. Les objets dont l'attribut de domaine est incorrect, les objets programmes et modules faussés et les objets dont la signature numérique est incorrecte ou absente entraînent la consignation d'enregistrements de violation d'intégrité dans le fichier base de données SECCHECK2. Ce dernier est au préalable vidé de tous ses enregistrements existants.
Exemple 4 : vérification d'un objet dans un répertoire
CHKOBJITG OBJ('/PartOrder/Forms.jar') OUTFILE(SECCHECK3)
OUTMBR(*FIRST *REPLACE)
CHKDMN(*NO) CHKPGMMOD(*NO)
CHKSIG(*ALL) CHKLIB(*NO)
Cette commande vérifie que le fichier Forms.jar situé dans le répertoire PartOrder n'a pas subi de violation d'intégrité. Si le fichier est associé à une signature numérique incorrecte ou s'il peut être signé mais n'a pas de signature, un enregistrement de violation d'intégrité est consigné dans le fichier base de données SECCHECK3. Ce dernier est au préalable vidé de tous ses enregistrements existants.
Remarque : La validité des signatures des programmes Java éventuellement associés à ce fichier STREAM est également vérifiée.
Exemple 5: Analyse des fichiers
CHKOBJITG OBJ('/Parts/*') OUTFILE(SECCHECK4)
CHKDMN(*NO) CHKPGMMOD(*NO) CHKSIG(*NONE)
CHKLIB(*NO) SCANFS(*YES)
Cette commande scrute tous les fichiers du répertoire Parts pour repérer les éventuelles violations d'intégrité. Si le programme d'exit associé au balayage détecte une situation d'échec, un enregistrement de violation d'intégrité est consigné dans le fichier base de données SECCHECK4.
Exemple 6: Vérification du microcode sous licence
CHKOBJITG OBJ(*SYSTEM) OUTFILE(SECCHECK5)
CHKDMN(*NO) CHKPGMMOD(*NO) CHKSIG(*ALL)
CHKLIB(*NO) SCANFS(*NO) CHKLIC(*ONLY)
Cette commande vérifie les violations d'intégrité du microcode sous licence. Si l'un des microcodes sous licence est associé à une signature numérique non valide ou qu'il n'est associé à aucune signature numérique, un enregistrement de violation d'intégrité est consigné dans le fichier base de données SECCHECK5.
Messages d'erreur
Messages *ESCAPE
- CPFA0AA
- Une erreur s'est produite pendant l'allocation d'espace.
- CPFA0A9
- Objet introuvable. L'objet est &1.
- CPFA093
- Aucun nom ne correspond au masque indiqué.
- CPF22D9
- Il n'existe pas de profil utilisateur du nom indiqué.
- CPF22F0
- Erreurs imprévues lors du traitement.
- CPF2204
- Profil utilisateur &1 non trouvé.
- CPF2213
- Impossible d'allouer le profil utilisateur &1.
- CPF222E
- Le droit spécial &1 est requis.
- CPF222F
- Commande non exécutée.
- CPF4AAC
- Profil utilisateur &2 non traité.
- CPF4ABD
- Microcode sous licence non vérifié.
- CPF9860
- Erreur lors du traitement du fichier de sortie.
© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.