• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Audits logiciels sous Linux
#1
Bonjour,

J’ai remarqué que l’audit des logiciels sous linux fonctionnement bien, mais aussi que dans certains cas des logiciels compilés à la main et/ou installé dans un répertoire folklorique ne remontent pas…

Cela n'est pas vraiment illogique, mais j’aimerais savoir s’il y a un moyen d'y remédier en comprenant comment fonctionne l’inventaire logiciel sous linux.

J’ai essayé d’ajouter dans le PATH les répertoires que j’aimerais voir inventoriés mais sans succès.

Merci pour vos réponses.
Centos release 6.3 / GLPI 0.83.7 / fusioninventory-for-glpi-metapackage 0.83+2.1 / FusionInventory Agent 2.1.14
  Reply
#2
Bonjour,

A ce que j'ai compris de FusionInventory, il analyse les paquets standards de Linux, installés par apt ou rpm, en inspectant les catalogues gérés par ces outils. Il ne peut donc pas inventorier les logiciels installés à la main.
Sous Windows, l'agent ne peut de même inventorier que les logiciels qui apparaissent dans le panneau de configuration, dans "Ajout/Suppression de programmes" ou "Programmes et fonctionnalités". Les autres softs resteront invisibles.

Les logiciels "exotiques" doivent donc être ajoutés à la main dans GLPI, ils ne seront pas gérés par FusionInventory.

Cordialement,
Marc
GLPI 9.4.4 - Fusioninventory for GLPI 9.4+1.0 - Fusioninventory Agent 2.5.1
  Reply
#3
Bonjour,

Il existe un paramètre pour importer des données complémentaires :
http://www.fusioninventory.org/documenta...l_content/
Please contact Fusioninventory Partners companies if you look for a FusionInventory on site expert.
http://www.fusioninventory.org/partners/
  Reply
#4
goneri Wrote:Bonjour,

Il existe un paramètre pour importer des données complémentaires :
http://www.fusioninventory.org/documenta...l_content/


Merci goneri pour votre aide.

Finalement, j'ai décidé de créer des modules (merci pour le lien) pour remonter les logiciels désirés.

Je n’avais pourtant jamais fait de perl, mais de simples connaissances en programmation et la lecture des fichiers d’audits se trouvant dans :
« FusionInventory/Agent/Task/Inventory/Input/Generic/Softwares/ » rendent l’opération relativement facile.

En moins d’une heure j’ai obtenu un résultat fonctionnel.

Voilà un bon argument en faveur de FusionInventory !
Centos release 6.3 / GLPI 0.83.7 / fusioninventory-for-glpi-metapackage 0.83+2.1 / FusionInventory Agent 2.1.14
  Reply
#5
Si les logiciels sont couramment présents, n'hésitez pas à partager votre code source sur ce forum, ça rendra certainement des services à d'autres.
Cordialement,
Marc
GLPI 9.4.4 - Fusioninventory for GLPI 9.4+1.0 - Fusioninventory Agent 2.5.1
  Reply
#6
ZenAdm Wrote:Si les logiciels sont couramment présents, n'hésitez pas à partager votre code source sur ce forum, ça rendra certainement des services à d'autres.
Cordialement,
Marc

Il s'agit d'un logiciel métier.

Concrètement, je vérifie la présence d'un fichier sur la machine et le cas échéant, je procède à sa lecture pour en extraire les informations de version.

Dans un premier temps, je souhaite vérifier que le couple GLPI + Fusion répond à mes besoins, ce module n'est donc pas utilisé en production.

Voici le code (attention amis développers, ça risque de vous piquer les yeux et pour cause... Je ne suis pas du métier...) :

Code:
package FusionInventory::Agent::Task::Inventory::Input::Generic::Softwares::MONMODULE;

use strict;
use warnings;

use FusionInventory::Agent::Tools;

sub isEnabled {
    return -f "path-vers-fichier-de-version/version.xml";
}

sub doInventory {
    my (%params) = @_;

    my $inventory = $params{inventory};
    my $logger    = $params{logger};
    
    my $handle = getFileHandle(
        logger  => $logger,
        command => 'cat path-vers-fichier-de-version/version.xml'
    );
return unless $handle;

    my $name    = "MON LOGICIEL";
    my $editeur = "MON EDITEUR";
    my $version = "";
    
    while (my $line = <$handle>) {
        if ($line =~ /<key id="Version">(.*)<\/key>/) { $version .= $1; }
        next;
    };
    close $handle;

        $inventory->addEntry(
            section => 'SOFTWARES',
            entry   => {
                NAME       => $name,
                VERSION    => $version,
                PUBLISHER  => $editeur
                
            }
        );
}
1;
Centos release 6.3 / GLPI 0.83.7 / fusioninventory-for-glpi-metapackage 0.83+2.1 / FusionInventory Agent 2.1.14
  Reply
#7
C'est chouette Smile

Code:
my $handle = getFileHandle(
        logger  => $logger,
        command => 'cat path-vers-fichier-de-version/version.xml'
    );

tu peux l'écrire :

Code:
my $handle = getFileHandle(
        logger  => $logger,
        file => 'path-vers-fichier-de-version/version.xml'
    );
Please contact Fusioninventory Partners companies if you look for a FusionInventory on site expert.
http://www.fusioninventory.org/partners/
  Reply
#8
Merci du conseil !

Voilà qui me permettra d'avoir un module un peu plus portable.

Lionel.
Centos release 6.3 / GLPI 0.83.7 / fusioninventory-for-glpi-metapackage 0.83+2.1 / FusionInventory Agent 2.1.14
  Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)