> Tech > IBM i, déterminer Before et After dans un journal

IBM i, déterminer Before et After dans un journal

Tech - Par Renaud ROSSET - Publié le 04 décembre 2012
email

Toutes les réponses aux questions des administrateurs d'environnements IBM i.

IBM i, déterminer Before et After dans un journal

Au sommaire de cette édition :

– Déterminer Before et After dans un journal
– Renommer des bibliothèques contenant des packages SQL
– Exécuter un fichier batch PC dans un répertoire atteint par FTP
– Accorder l’accès à la commande SAVOBJ
– Examiner l’historique Login/Logout d’un utilisateur
– Sauvegardez-vous vraiment ce dont vous aurez besoin pour une reprise ?
– IBM SECTOOLS et la commande Submit Authority Reports (SBMAUTRPT)

Retrouvez toutes les Boîtes à Outils System iNews.

Déterminer Before et After dans un journal

Q. Parmi les entrées d’un journal, comment puis-je distinguer les transactions before et after ? Est-ce indiqué quelque part ?

R. Un code dans chaque entrée du journal indique son type :
PT = put (write)
DL = delete
UB = update before
UP = update after
Quand vous commencez à journaliser un fichier, veillez à ce que le mot-clé Images soit sur *BOTH.

— Craig R. Lockhart

Renommer des bibliothèques contenant des packages SQL

Q. Je dois renommer une bibliothèque qui contient des packages SQL et des fichiers journalisés. Mais les bibliothèques contenant des packages SQL ne peuvent pas être renommées par la commande RNMOBJ. Est-il possible de sauvegarder la bibliothèque et de la supprimer, puis de créer la bibliothèque avec le nouveau nom, et d’y restaurer tous les objets ?

R. Oui, vous pouvez sauvegarder la bibliothèque, supprimer l’existante, et restaurer tous les objets sauvegardés dans une autre bibliothèque, par exemple :
SAVOBJ OBJ(*ALL) LIB(YOURLIB) DEV(YOURDEVICE)
DLTLIB LIB(YOURLIB)
RSTOBJ OBJ(*ALL) SAVLIB(YOURLIB) DEV(YOURDEVICE)
MBROPT(*ALL) ALWOBJDIF(*ALL) RSTLIB(NEWLIB)
Bien entendu, les programmes et autres éléments qui pointaient vers l’ancienne bibliothèque ne prendront pas la nouvelle !

— Chris Hird

Exécuter un fichier batch PC dans un répertoire atteint par FTP

Q. Je veux exécuter un fichier batch PC qui se trouve dans un répertoire que j’atteins par FTP. Autrement dit, je fais FTP vers la machine Windows désirée, j’entre l’ID et mot de passe utilisateur, j’exécute la commande FTP PUT pour transmettre un fichier à la machine Windows, après quoi ce même répertoire exécute un simple script batch pour traiter le fichier que je viens juste de transférer. Je peux voir le script via la commande FTP DIR, mais je ne sais pas comment l’exécuter.

R. Chargez et configurez le service « Incoming Remote Command » de iSeries Access for Windows sur la boîte Windows. Ensuite, vous pourrez exécuter le fichier batch avec RUNRMTCMD (ou rexec de QShell, si vous aimez QShell).

— Scott Klement

Accorder l’accès à la commande SAVOBJ

Q. Notre commande SAVOBJ est, depuis plusieurs années, protégée par Public *EXCLUDE. Aujourd’hui, un développeur me demande d’accorder l’accès à un utilisateur temporaire pour un processus annuel concernant une application tierce. Nous ne disposons pas  d’un source pour ce produit/application, et donc ne pouvons pas recompiler en utilisant l’autorité adoptée. Il m’a demandé s’il était possible d’accorder l’accès permanent à cet utilisateur. Cet utilisateur temporaire n’a pas d’accès par ligne de commande. Quel est le niveau d’autorisation recommandé pour cette commande ?

R. Nul besoin de recompiler : la commande CHGPGM. CHGPGM USRPRF(*OWNER) devrait faire l’affaire.

— EmmanualW et K2r400

Examiner l’historique Login/Logout d’un utilisateur

Q. Quel est le meilleur moyen de revenir trois mois en arrière pour voir un certain utilisateur, « JDOE, » et ses heures de connexion/déconnexion (login/logout) au système ?

R. Procédez comme ceci :
1.    Exécutez  DSPLOG PERIOD((*AVAIL *BEGIN)) MSGID(CPF1124 CPF1164) OUTPUT(*PRINT).
2.    Créez un fichier physique et copiez-y le fichier spool QPDSPLOG en utilisant CPYSPLF.
3.    Exécutez une requête pour rechercher la chaîne, par exemple “like ‘%/JDOE %.’”

— Peter Udesen

Sauvegardez-vous vraiment ce dont vous aurez besoin pour une reprise ?

Souvent, nous effectuons une reprise qui a été prescrite par notre fournisseur de logiciel ou partenaire IBM. J’ai constaté que, bien souvent, les sauvegardes en question ne garantissent pas une bonne reprise en cas de besoin.
Voyons donc comment être certain que votre sauvegarde vous permettra de bien récupérer après un incident.

IBM a fourni une commande qui permet d’examiner l’état de sauvegarde de vos bibliothèques utilisateur. Elle indique la dernière date de sauvegarde et si la bibliothèque a été modifiée depuis sa dernière sauvegarde. Vous pouvez utiliser la commande Display Backup List (DSPBCKUPL) pour obtenir une liste affichée ou imprimée.

DSPBCKUPL BCKUPL(*LIB) est la commande qui donne une liste sur écran. Vous pouvez utiliser la commande DSPBKUPL pour obtenir aussi la liste des dernières dates de sauvegarde de votre dossier en spécifiant DSPBCKUPL BCKUPL(*FLR).

Quand vous chargez une nouvelle release du système d’exploitation et chargez des PTF, vous effectuez généralement une commande Save the System (SAVSYS) pour sauvegarder une copie du système d’exploitation. Si vous chargez périodiquement des PTF ou si vous modifiez le système d’exploitation, vous devrez sauvegarder vos changements avec SAVSYS, pour le cas où vous devriez recharger le système d’exploitation.

IBM ne marque pas les objets QSYS comme sauvegardés lors d’une opération SAVSYS. Au lieu de cela, IBM met à jour la dernière date sauvegardée d’une zone de données QSAVSYS dans la bibliothèque QSYS. Afin de déterminer votre dernier SAVSYS,  vous devez examiner la dernière date sauvegardée de la zone de données QSAVSYS, comme dans DSPOBJD OBJ(QSYS/QSAVSYS) OBJTYPE(*DTAARA). Ensuite, examinez la dernière date de sauvegarde de la zone de données.

Examinez la dernière date de sauvegarde de la zone de données QSAVUSRPRF comme dans DSPOBJD OBJ(QSYS/QSAVUSRPRF) OBJTYPE(*DTAARA). Ci-dessous, vous trouverez d’autres zones de données QSAV* QSYS pour déterminer les dernières dates de sauvegarde :

SAVCF QSAVCFG   
SAVLIB *ALLUSR    QSAVALLUSR   
SAVLIB *IBM        QSAVIBM   
SAVLIB *NONSYS    QSAVLIBALL   
SAVSECDTA        QSAVUSRPRF   
SAVSTG               QSAVSTG   
SAVSYS                QSAVSYS, QSAVUSRPRF, QSAVCFG   
SAVSYSINF         QSYSINF    

— Dan Riehl

IBM SECTOOLS et la commande Submit Authority Reports (SBMAUTRPT)

Les nombreux outils de sécurité qui se cachent derrière la commande IBM CL GO SECTOOLS mettent à disposition une foule de commandes CL liées à la sécurité qui vous aideront à connaître l’état de sécurité actuel de votre système, et aussi de détecter des changements dans votre configuration de sécurité en exécutant les commandes à un rythme régulier. Deux des commandes faisant partie de SECTOOLS, Print Private Authority (PRTPVTAUT) et Print Publicly Authorized Objects (PRTPUBAUT), vous permettent de superviser les autorités publiques et privées assignées aux objets du système.

Les commandes PRTPVTAUT et PRTPUBAUT peuvent créer une documentation complète et détaillée des activités de gestion des autorités objet effectuées sur votre système. En les exécutant régulièrement, vous saurez exactement quels objets ont été changés, et comment, depuis le dernier rapport. Les commandes couvrent toutes les classes d’objets, y compris QSYS.LIB et IFS. Cependant, QSYS.LIB présente une difficulté si vous voulez imprimer des rapports d’autorité couvrant TOUS les types d’objet d’une bibliothèque. Les commandes PRTPVTAUT et PRTPUBAUT ne peuvent concerner qu’un type d’objet bien précis à la fois.

Il vous faudra donc extraire une liste de tous les types d’objets présents dans la bibliothèque spécifique, puis, pour chaque type d’objet trouvé, exécuter la commande authority report de votre choix. Mais une telle procédure sera longue et vous risquez de rater un ou deux types d’objets dans un moment de distraction. C’est pourquoi, pour faciliter le processus et éliminer le risque d’erreur, j’ai écrit la commande Submit Authority Report (SBMAUTRPT).
Spécifiez simplement la bibliothèque que vous voulez inclure sur les rapports, et les commandes authority report à exécuter (*PRTPUBAUT ou *PRTPVTAUT) : la commande SBMAUTRPT se chargera du reste. Pour chaque type d’objet présent dans la bibliothèque spécifiée, la commande authority report sélectionnée est soumise. Les valeurs spécifiées pour le rapport changé seulement et les paramètres authority type sont ajoutés à la chaîne de commande authority report, et les paramètres de la description de job et de la file d’attente de sortie sont assignés à la commande Submit Job (SBMJOB) exécutée pour chaque type d’objet.

Les sources suivantes interviennent dans la création de la commande SBMAUTRPT :
CBX804  — RPGLE  — Submit Authority Reports – CPP          
CBX804H — PNLGRP — Submit Authority Reports – Help         
CBX804V — RPGLE  — Submit Authority Reports – VCP          
CBX804X — CMD    — Submit Authority Reports                
CBX804M — CLP    — Submit Authority Reports – Build command

Pour créer tous les objets ci-dessus, compilez et exécutez CBX804M en suivant les instructions de l’en-tête du source. Comme toujours, vous trouverez aussi des instructions de compilation dans les en-têtes des sources respectifs. Vous pouvez télécharger un fichier zip avec tout le code source en bas de .

— Carsten Flensburg

Téléchargez cette ressource

Les mégatendances cybersécurité et cyber protection 2024

Les mégatendances cybersécurité et cyber protection 2024

L'évolution du paysage des menaces et les conséquences sur votre infrastructure, vos outils de contrôles de sécurité IT existants. EPP, XDR, EDR, IA, découvrez la synthèse des conseils et recommandations à appliquer dans votre organisation.

Tech - Par Renaud ROSSET - Publié le 04 décembre 2012