IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

Récupérer des infos systèmes/matériels


Sujet :

Lazarus Pascal

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 37
    Points : 27
    Points
    27
    Par défaut Récupérer des infos systèmes/matériels
    Bonsoir,

    Je voulais savoir si il existe une méthodes spécial, composant ou packet dans lazarus pour récupérer des infos 'materiels' voir 'logiciel' du PC où l'appli tourne, pour après les mettre un edit quelconque.

    Récupérer la référence du processeur, la RAM etc ... par exemple et si possible le système d'exploitation installé.

    Merci,

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 151
    Points : 41 331
    Points
    41 331
    Billets dans le blog
    63
    Par défaut
    Parce que je ne crois pas qu'il en existe , cela dépend tellement de l'OS

    un lien pour Windows
    http://www.lazarus.freepascal.org/in...ic,9108.0.html
    ou autre suggestion l'utilisation des WMI

    pour Linux ? <mais je suis intéressé>

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Sous Linux, on peut accéder à ce genre de renseignements par des fonctions comme cat /proc/cpuinfo, cat /proc/meminfo ou par lshw ( -short ou -class memory,...) que l'on lance avec un TProcess.

    Je ne pense pas que l'on puisse utiliser directement des bibliothèques en C (ou C++) intégrant des fonctions genre GetCPU,...: normalement les droits d'un utilsateur "usuel" ne permettent pas d'accéder à ces fichiers ou d'utiliser ces fonctions (on utilise sudo dans le terminal). Or, je crois que seuls les exécutables peuvent être "SUIDés" (pas les biblis). Ce genre de fonctions dans un exécutable C++ ne pose pas de problème mais les utiliser à partir d'une bibli C++ externe, appelée par un programme Lazarus ou même C++, j'ai des doutes à cause du SUID, à moins, dans le programme Lazarus, de modifier les droits avant d'appeler les fonctions de la bibli.
    "Permissions Unix
    Le système classique de gestion des droits des fichiers et répertoires sous UNIX propose la possibilité de positionner trois attributs (lecture, écriture, exécution) à trois catégories d'utilisateurs: le propriétaire, le groupe propriétaire et ceux qui ne font partie d'aucune des deux premières catégories.

    le bit SUID
    Quand un utilisateur exécute un programme, celui ci dispose des droits de l'utilisateur l'ayant exécuté. Dans certains cas, il peut être nécessaire à un programme de disposer de droits particuliers, droits que l'on ne désire pas donner aux utilisateurs en dehors de ce contexte.
    C'est dans ce genre de situations qu'il est parfois nécessaire d'activer le bit SUID. En plus d'autoriser l'exécution du programme, cet indicateur spécifie au système que le programme doit fonctionner avec les droits du propriétaire du programme, et non ceux de l'utilisateur l'ayant appelé.
    Si ce méchanisme peut être fort pratique pour aider à controller les droits d'accès (les utilisateurs n'ont accès à ces ressources qu'au travers d'un programme dont on controlle normalement les actions), il est encore plus important de s'assurer que les programmes utilisant cette option ne disposent pas de faiblesses dans leur conception. En effet, l'exploitation d'une faille dans un programme SUID donnerait accès aux ressources du propriétaire du programme.

    Il faut donc préter une attention particulière à tous les programmes utilisant le bit SUID, et en particulier aux programmes SUID root: l'exploitation d'une faille dans un de ces programmes permettrait d'obtenir les droits du root, donc un accès complet au système."
    http://vanhu.free.fr/linux/securiser...tml/perms.html
    Donc à mon avis, en Lazarus, avant le Tprocess (qui lance les fonctions linux ou appelle une fonction contenue dans une bibli C++ par exemple), il faut utiliser la bibliothèque BaseUnix (-->c'est aussi performant* qu'en C++) qui permet de changer l'utilisateur le temps de lancer les fonctions nécessitant les droits requis, puis de rebasculer immédiatement après avec les droits de l'utilisateur sans oublier un système de contrôle pour savoir si effectivement le rebasculement a été fait... sinon fermeture du programme (cf prob de sécurité évoqués dans la citation). Pour cela donc, il faut que le bit SUID de l'exécutable soit activé mais il ne faut pas oublier de l'activer lors de la diffusion ... et de se donner des droits suffisants lors du développement.

    *En Lazarus, on côtoie le pire et le meilleur. Dommage que ses concepteurs ne sachent pas coder proprement de basiques StringGrids (entre autres) Je sais, cela devient rengaine : mais dans ce produit, il y a des choses "enthousiasmantes" et malheureusement il y a des "errements" qui perdurent de versions en versions...

    Cordialement. Gilles
    Dernière modification par Invité ; 22/04/2010 à 09h51. Motif: Correction

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/02/2013, 13h12
  2. Récupérer des infos d'une date
    Par mister3957 dans le forum Collection et Stream
    Réponses: 11
    Dernier message: 25/10/2005, 10h08
  3. [servlet] Récupérer des infos sur le client
    Par kenito dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 07/09/2005, 18h08
  4. [ASP] Récupérer des infos de Session
    Par Frédérick dans le forum ASP
    Réponses: 3
    Dernier message: 07/04/2004, 11h01
  5. Récupérer des infos sur un AVI
    Par FredericB dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/12/2003, 14h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo