L'autre jour, alors que je travaillais sur un problème chez un client, j'ai remarqué et mentionné qu'il y avait deux ensembles de processus d'application en cours d'exécution, l'un sous un nom générique tel que Production.SysAdmin et l'autre, qui fonctionnait depuis plus de trois ans, sous le nom d'une personne, appelons-la Fred.SysAdmin. Il s'avère que Fred avait quitté l'entreprise depuis un certain temps. Je ne dis pas que Fred avait des intentions malveillantes, mais il m'est venu à l'esprit qu'une « bonne pratique » souvent mentionnée consiste à résilier immédiatement les identifiants de connexion de Fred lorsqu'il quitte l'entreprise, peut-être juste avant de lui annoncer son départ. Mais je n'ai jamais entendu parler d'une bonne pratique consistant à résilier les processus lancés par Fred. Compte tenu du temps écoulé entre les redémarrages des systèmes VOS, je suis sûr que ce scénario n'est pas unique. Je suggère qu'en plus de supprimer les identifiants de connexion d'une personne lorsqu'elle quitte l'entreprise, tout processus exécuté sous le nom de cette personne ou exécutant un module de programme créé par cette personne soit évalué, puis programmé pour être arrêté et, si nécessaire, redémarré par un employé actuel. De même, la file d'attente des tâches batch devrait être examinée et toute demande au nom de cette personne devrait être évaluée, annulée et, si nécessaire, resoumise par un employé actuel.
Pour vérifier la file d'attente des lots, vous pouvez utiliser la commande
list_batch_requests -all -long
et recherchez le nom de Fred en tant qu'« utilisateur ».
|
Request: 59User: Fred.SysAdmin Time queued: 10-08-11 05:00:02 edt Deferred until: 10-08-12 05:00:00 edt Attributes: waiting, not privileged, cannot restart Process priority: 5 Queue priority: 4 Process name: test Command: test.cm Output path: %system#m16_mas>SysAdmin>Fred>test.out Home dir: %system#m16_mas>SysAdmin>Fred Notify users: Fred.* on %system#* |
Vous pouvez utiliser la commande
analyze_system -request_line (chaîne correspondant à fred (octet 3Bx) qui) -quit
pour identifier les processus exécutés sous le nom de Fred.
analyze_system -request_line (string match fred (byte 3Bx) who) -quit OpenVOS Release 17.0.2ah, analyze_system Release 17.0.2ah Current process is 182, ptep 958C5000, Noah_Davids.CAC * 162 958C5000 551080B6 Fred.SysAdmin (testing) |
La macro de commande suivante peut être utilisée pour rechercher tous les modules de programme en cours d'exécution créés par Fred, quel que soit le nom sous lequel le processus est exécuté. La macro crée une liste de tous les modules de programme en cours d'exécution, puis exécute une commande display_file_status pour déterminer qui a créé le fichier du module de programme et une commande display_program_module pour déterminer qui a lié le module de programme. Tout module de programme créé ou lié par une personne dont le nom correspond à la chaîne saisie est affiché avec les processus exécutant ce module de programme. Elle crée également un rapport dans le répertoire actuel nommé wr_&NAME&.(date).out, où &NAME& est l'argument donné à la macro. Tous les noms sont convertis en minuscules. Si aucun nom n'est donné, elle affiche des informations sur chaque module de programme en cours d'exécution et le rapport est nommé wr.(date).out.
whos_running fred%phx_vos#m15_mas>SysAdmin>George>loop.pmLié par : Fred.SysAdmin Créé par : George.SysAdmin boucle.pm : L'objet est verrouillé en lecture par George.SysAdmin (boucle) sur le module. %phx_vos#m16 exécution de loop.pm.============================================================%phx_vos#m15_mas>Production>test>ftpd.pm Lié par : Stcp_Install.Installer Créé par : Fred.SysAdmin ftpd.pm : L'objet est verrouillé en lecture par Production.SysAdmin (test) sur le module. %phx_vos#m16 exécute ftpd.pm. prêt 09:05:22
|
& whos_running begins_here |
