Banner
Banner
Banner

[TUTO] Sécurisez son PC sous Linux avec Pombo

Par - le juillet 25th, 2011

Vous avez peut-être déjà entendu parlé de Undercover, ce logiciel mouchard pour Mac qui permet de recenser les infos relatives à l’IP du voleur de PC, voire de le photographier avec sa webcam. Et bien il est un logiciel équivalent sous Linux : pombo.

Présentation de Pombo

Pombo repose sur un script Python initialement proposé par Sebsauvage (vous n’avez pas décemment le droit de ne pas le comprendre) et qui a été repris et mis à jour par BoboTiG. Ce script est publié sous licence zlib/libpng et nécessite Python 2.7 et PHP 4 (ou 5) pour fonctionner.

Celui-ci collecte :

  • Nom du système

  • Adresse IP publique

  • Date/heure

  • Information sur toutes les interfaces réseau (filaires et wireless), y compris l’adresse matérielle (MAC) du point d’accès WiFi auquel l’ordinateur est connecté.

  • Connexions réseau en cours

  • Informations sur les routeurs proches

  • La liste de tous les points d’accès WiFi proches, avec leur adresse matérielle (MAC), leur SSID et leur puissance.

  • Capture d’écran

  • Photo par la webcam (si vous en avez une)

 

Le principe de fonctionnement de Pombo est simple :

  • Sur l’ordinateur à protéger, un script Python envoi toutes les x minutes un rapports d’état du poste (contenant un rapport txt, une copie d’écran et une capture photo faite avec la webcam).

  • Sur un (ou plusieurs) serveur(s) PHP dont l’accès est protégé par mot de passe, le rapport – qui a été chiffré avec une clé gpg – le fichier est enregistré.

 

Voici un exemple de rapport par Pombo :

Pombo 0.0.6 report
------------------------------
Computer: Linux ubuntu 2.6.28-
------------------------------
Public IP: 82.124.224.94
------------------------------
Date/time: 2009-08-24 15:55:01
------------------------------
Network config:
eth0      Link encap:Ethernet
Rapport technique Capture d’écran
Photo par webcam

 

Teléchargement de Pombo

La dernière version de Pombo (version 0.0.7) est disponible au téléchargement ici. Pour un poste Linux, la solution pombo contient 3 fichiers à déployer : pombo.py et pombo.conf (partie client) et pombo.php (partie serveur).

Voici la procédure pour installer Pombo (testé sous Linux Mint 10 et Ubuntu 11.04, éprouvé par BoboTiG sous Debian) :

Installation des dépendances

Pour fonctionner, le script utilise, en plus de Python, les logiciel scrot (pour la capture décran), streamer (pour la capture par webcam), iw, netstat, ifconfig , traceroute (pour les informations relatives au réseau) et pngnq (pour réduire le poids des images png).

Il est donc nécessaire de commencer par installer ces différentes dépendances (même si par défaut la plupart sont déjà installée sur votre système), via ces commandes :

sudo apt-get install python scrot iw ifconfig streamer pngnq

 

Préparation de la partie serveur

PHP étant supporté par l’immense majorité des serveurs, Pombo récupère les rapports des postes via un script php. Ce script se nomme pombo.php. Dans le fichier pompo.php, il faut modifier la ligne $PASSWORD=’mysecret’; en remplaçant mysecret par le mot de passe désiré pour l’échange avec le client.


Puis, on upload le fichier pombo.php sur son serveur web gérant le PHP.

 

Préparation et installation de la partie client

1. Préparation de la clé gpg

Pombo crée des archives chiffrées avec une clé gpg, lesquelles seront copiées sur le serveur PHP. Nous allons donc commencer par créer une clé via cette commande :

gpg --gen-key

L’assistant de création de clé va nous demander le type de clé voulue, sa taille et sa durée de vie, les options par défaut sont très suffisantes (RSA, 2048, clé n’expire pas). Puis, l’utilitaire va nous demander un nom, une adresse mail et un commentaire. Puis, enfin, va nous demander une phrase de password. Notez cette phrase, elle sera nécessaire au déchiffrement des rapports.

Remarque : il est préférable de compliquer un maximum sa phrase de mot de passe en y mêlant majuscules, minuscules et caractères spéciaux. Par exemple : Clé DE cryPTage PouR PomBo crée en 2011!!

La clé va se générer, pour l’aider, il est conseiller d’utiliser son PC (taper des mots, jouer avec la souris, etc. etc.). Une fois la création de la clé terminée, la console devrait afficher la phrase clé 6D69703B marquée comme ayant une confiance ultime où 6D69703B est le KeyID de la clé. Notez ce KeyID, il sera nécessaire pour la suite.

On va à présent exporter la clé avec la commande gpg –export 6D69703B >clefpublique.asc, cela va créer un fichier clefpublique.asc dans votre dossier home. Cette clé sera nécessaire au déchiffrement de ses archives. Il est donc nécessaire de la sauvegarder précieusement (sur un poste autre que celui à protéger, cela va de soi).

Il faut maintenant installer en root (le script s’exécutant en tant que root) avec les commandes :

sudo su
gpg --import /chemin/vers/la/clé/publique.asc

(par exemple, dans mon cas : gpg –import clefpublique.asc )

 

2. Préparation du fichier de configuration

Les options de paramétrage de pombo se font via le fichier pombo.conf. Dans ce fichier, cherchez et renseignez les lignes suivantes :

[DEFAULT]
gpgkeyid=KeyID de la clé créée plutôt
password=Mot de passe spécifié sur le fichier pombo.php
serverurl=URL du fichier pombo.php - exemple : http://myserver.com/pombo.php
onlyonipchange=True ou False

Si la valeur de onlyonipchange est True, le script ne créera des rapports que si vous changez d’adresse IP : lors du premier fonctionnement, le script enregistrera l’IP publique dans /var/local/pombo et ne créera ensuite les rapports que si l’IP publique est différente. Si vous utilisez un réseau publique (par exemple, accès WIFI MacDo ou d’université), il est préférable de choisir la valeur False.

Remarque : il est possible de spécifier différents serveurs en les séparant pas une virgule (sans espaces).

 

3. Déploiement des fichiers

A présent, nous allons copier le fichier pombo.conf dans le dossier /etc/ :

cp pombo.conf /etc/

Maintenant, on attribue au fichier pombo.py, les droits nécessaires avec la commande :

chmod +x pombo.py

Puis on le copie dans le dossier /usr/local/bin/ :

cp pombo.py  /usr/local/bin/

 

4. Automatisation des scripts

Afin d’automatiser l’exécution des script, on crée une tâche dans la crontab. Pour cela on exécute la commande sudo crontab -e, on choisit son éditeur de texte et on insère dans la crontab la ligne suivante :

*/15 * * * * /usr/local/bin/pombo.py 2>/dev/null

 

5. Test de fonctionnement

Afin de s’assurer du fonctionnement du script pombo, on peut exécuter la commande suivante :

sudo -H /usr/local/bin/pombo.py

Si la console répond Server responded: File stored c’est que tout a fonctionné. Une archive zip chiffrée de quelques Ko a été uploadée sur le serveur PHP.

 

Déchiffrement des rapports

Le déchiffrement des archives zip des rapports se fait avec la commande :

gpg --output nomdefichierdésiree.zip --decrypt nomdelarchivecryptee.gpg

La clé de password utilisée lors de la création de la clé sera nécessaire au déchiffrement. Cela va créer un fichier zip contenant un rapport au format txt, une copie de l’écran du poste et une photo capture faite avec la webcam.

 

A présent, si un voleur dérobe votre ordinateur, vous pourrez obtenir différentes informations à son sujet (où il se connecte, son bouille, etc.) que vous pourrez communiquer à la police. Peut-être alors pourrez vous récupérer votre ordinateur ou savourer la satisfaction de savoir votre cambrioleur mis en examen. Ce qui moi m’a motivé à écrire cet article; c’est les mésaventure de Weedfast. D’ailleurs, je ne peux que vous encourager à répondre à son appel aux dons (après tout j’aimerai qu’on en ferait autant pour moi dans le même cas de figure).

Je tiens à féliciter Sebsauvage et BoboTiG pour leur dur travail pour la réalisation de Pombo. D’ailleurs, ce dernier a aussi adapté Pombo sous Windows, ce qui fera l’objet d’un prochain test. Si vous trouvez cette actuelle version compliquée d’installation, sachez que pour la version 0.8 devrait intégrer un installeur. Enfin, je tiens en la circonstance à particulièrement remercier BoboTiG pour sa disponibilité et son support.

Tuto disponible en téléchargement au format PDF :  [TUTO] Sécurisez son PC sous Linux avec Pombo (1051)

Tags: , , , , , , ,

67 commentaires to “[TUTO] Sécurisez son PC sous Linux avec Pombo”

    mart-e :

    Moi ça me fait un peu penser à cette vidéo du type qui expliquait comment il a retrouvé son pc volé
    http://youtu.be/U4oB28ksiIo

    J’avais réfléchi à ça sur mon blog mais en concluant qu’en fin de compte, comme ça reposait sur un gros coup de bol de le retrouver (surtout si le type n’y connait rien à linux), je préfère chiffrer ma machine. Je ne la retrouverai pas mais au moins les données ne fuiterons pas ce qui est je trouve plus important…
    http://mart-e.be/?p=864

    sigo :

    aussi non, il y a aussi prey.
    j’ai jamais eu besoin de m’en servir; heureusement pour moi. mais ca a l’air de donner encore plus de fonctionnalité.

    http://preyproject.com/

    TimCruz :

    @sigo : effectivement, il y a aussi Prey qui est très bien foutu. Mais pour citer SebSauvage :
    « Prey fait pratiquement la même chose que Pombo. Prey fonctionne sous Linux, MacOSX et Windows (Pombo ne fonctionne que sous Linux). Prey envoie ses rapport par email (Pombo utilise HTTP). Les rapports envoyés ne sont pas chiffrés. Les ordinateurs tracés par Prey ne commencent à envoyer leur rapports que sur ordre (en créant une URL précise). »
    Par contre, j’aime bien les possibilités de verrouillage par Prey.

    Petit Scarabée :

    Mouais, l’intérêt est quand même assez limité. Un voleur souhaite réutiliser ou revendre la machine, donc l’OS a assez peu de chance de survie…le formatage sera probablement la première action du voleur.

    sebsauvage :

    « le formatage sera probablement la première action du voleur. »

    Et bien non, justement. Toi tu penses au formatage parce que tu es probablement geek, mais la majorité des voleurs sont stupides ne le feront pas.

    Les voleurs veulent une chose: revendre au plus *vite* le matériel. Ils ne vont pas s’emmerder à réinstaller un OS et tous les pilotes.

    TimCruz :

    @Petit Scarabée : Je ne suis pas voleur, mais je pense qu’une des première chose qu’il fait c’est allumer le PC, jouer un peu avec. Même si tu n’es pas sûr qu’il le fasse, tu ne perds rien à essayer!

    kasper01 :

    Perso, je préfère utiliser prey qui est plus simple à utiliser et a installer.

    sebsauvage :

    @kasper01:
    Oui Prey est plus facile à installer. Mais Prey envoie ses rapports en SMTP (mail), et non chiffrés (en clair). Or le port 25 est souvent bloqué par les FAI (typiquement: chez Free, il est bloqué par défaut).

    C’est parce que je n’étais pas satisfait avec Prey que j’ai écrit Pombo :-)

    meiko :

    fonctionne pour moi, merci ça rooooxxxxxxxxxxxxx grave

    Virtualmix :

    Juste un grand merci à Sebsauvage pour le superbe travail et à Tom pour le tutoriel bien écrit.

    Je viens de l’installer sur mon notebook et j’espère que ça ne servira jamais.
    Pour la petite histoire, j’ai déjà eu un pc portable volé lors d’un voyage à l’étranger (un Vaio tout neuf) et si j’avais eu un outil comme Pombo je sais que j’aurais eu de grande chance de le récupérer : Je connaissais l’identité du voleur mais il c’était évaporé dans la nature et la police n’a pas pu m’aidez car je n’avais pas de preuve concrète… Incroyable mais vrai.

    Je peux vous dire que le prochain qui touche à mon pc, il risque de le regretter XD

    Encore MERCI :-)

    Lopes Ferreira david :

    Merci pour ton how to sur Pombo ainsi que ton appel en ma faveur ! Excellent travail, je te souhaite une bonne continuation ;)

    sioban :

    Plop, merci pour ce super tuto.

    J’ai une erreur avec streamer, si ça vous parle :
    dlopen: /usr/lib/xawtv/flt-disor.so: undefined symbol: tan
    dlopen: /usr/lib/xawtv/flt-gamma.so: undefined symbol: pow
    neither audio nor video format specified/found

    J’imagine qu’il me manque un truc (d’ailleurs il manque traceroute dans les dépendances pour ubuntu et ifconfig n’est pas un paquet ubuntu, ni debian d’ailleurs)

    sioban :

    hum pour l’instant je ne suis pas trop convaincu ou alors il me manque vraiment un truc, voici le fichier txt généré qui ne me semble pas très convaincant (et je n’ai que ce fichier, pas de screenshot) :

    Pombo 0.0.7 report
    —————————————————————————
    Computer : Linux rokha 2.6.38-10-generic-pae #46-Ubuntu SMP Tue Jun 28 16:54:49 UTC 2011 i686 athlon
    —————————————————————————
    Public IP: 10.10.aa.bb ( Approximate geolocation: http://www.geoiptool.com/?IP=10.10.aa.bb )
    —————————————————————————
    Date/time: 2011-07-25 20:15:01.762672 (local time)
    —————————————————————————
    Network config:

    —————————————————————————
    Nearby wireless access points:

    —————————————————————————
    Network routes:

    —————————————————————————
    Current network connections:

    BoboTiG :

    @sioban : les commandes sont bien définies dans pombo.conf ?
    Pas d’averto ni d’erreurs lors de l’exécution du script ?

    sioban :

    oui elle sont bien définies et la seule erreur que j’ai concerne streamer.

    a la main les commandes renvoient ce qu’il faut.

    TimCruz :

    @sioban :
    Pour le « neither audio nor video format specified/found », tente de remplacer dans pombo.py la ligne « filepath = ‘%s%c%s_webcam.png’ % (TMP, SEP, PREFIX) » (ligne 320) par « filepath = ‘%s%c%s_webcam.jpeg’ % (TMP, SEP, PREFIX) »

    Sioban :

    Même erreur :(

    TimCruz :

    @Sioban :
    Commencons par le commencement, tu utilises quelle distribution?

    Tu as bien installé toutes les dépendances? sudo apt-get install python scrot iw netstat streamer pngnq

    Parviens tu à obtenir une capture avec la commande sudo streamer -q -o test.png (ou test.jpeg)?

    Sioban :

    Oui les dépendances sont bien satisfaites.

    Et autant pour moi, en test.png cela ne marche pas mais en test.jpeg cela fonctionne.

    En fait j’ai été leurré par les erreurs
    « dlopen: /usr/lib/xawtv/flt-disor.so: undefined symbol: tan
    dlopen: /usr/lib/xawtv/flt-gamma.so: undefined symbol: pow »
    qui apparaissent quelques soit l’extension.

    Mais j’ai bien une capture.

    La différence c’est le message « neither audio nor video format specified/found »

    Mais bon pour l’instant je ne m’explique pas le fichier txt avec peu d’info…

    Virtualmix :

    @Sioban : Il te manque ifconfig.
    Cette commande est disponible sous Debian dans le paquet « net-tools ».

    Sinon je n’arrive pas à faire fonctionner streamer (png ou jpeg)…

    François :

    Le titre est tout de même faux.
    « Sécurisez son PC sous Linux avec Pombo » Désolé, mais quand la machine est dans les mains d’un tiers, pour moi elle n’est pas sécurisée du tout même si elle envoie une pauvre photo. Sécuriser, c’est chiffrer ses partitions.

    BoboTiG :

    J’ai mis à jour Pombo, ça devrait régler ces problèmes : http://bobotig.fr/contenu/documents/guide-pombo/#problemes

    TimCruz :

    @BoboTiG :merci pour la maj e le troubleshooting
    @Francois : Je me suis aussi demandé si le titre n’était pas mauvais. Mais je n’en ai aps trouvé d’aussi court/aussi pertinent.
    @Virtualmix : as-tu un message d’erreur? As tu testé la commande sudo streamer -q -o test.png (ou test.jpeg) directement en console?

    cedrix :

    Bonjour,

    J’ai entendu parler d’un virus qui se lance avec les systèmes d’exploitation, et qui désactive les anti-virus de windows.
    Savez vous s’il existe un logiciel du même type, qui fonctionnerait même si l’ordinateur serait reformaté, en se réinstallant. Ensuite il pourrait fonctionner comme Prey par exemple.

    Virtualmix :

    Quelques nouvelles (sous Debian Squeeze):

    - J’ai réussi à faire fonctionner Streamer en jpeg (en png ça ne marche pas) en ajoutant la ligne: « export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so » à mon fichier .bashrc
    (avant j’avais l’erreur: files / video: JPEG (JFIF) / audio: none
    no way to get: 320×240 JPEG (JFIF))

    - J’ai mis à jour le fichier pombo.py comme indiqué sur le site de Bobotig mais maintenant quand je test pombo j’ai l’erreur:
    « Pombo 0.0.7
    Traceback (most recent call last):
    File « /usr/local/bin/pombo.py », line 73, in
    RECOMPRESSION = config.get(OS,’recompression’).strip()
    File « /usr/lib/python2.6/ConfigParser.py », line 541, in get
    raise NoOptionError(option, section)
    ConfigParser.NoOptionError: No option ‘recompression’ in section: ‘GNULINUX’
     »
    Il faut donc commenter la ligne 73 du fichier pombo.py pour que ça remarche.

    Aussi, le fichier php qui apparemment contient lui aussi une erreur n’a pas été modifié dans la dernière version. Le numéro de version n’a pas changé non plus (0.7) donc c’est difficile de s’y retrouver.

    Voilà, si ça peut aider nos chère développeur ;-)
    Merci ++

    BoboTiG :

    @Virtualmix : mets aussi à jour pombo.conf ;)
    L’erreur de pombo.php a été corrigée il y a quelques jours déjà.

    Je n’ai pas modifié le numéro de version, c’était voulu. Mais je vais le faire quand même pour éviter toute confusion.

    J’ai bien vérifié et mis à jour l’archive.

    Merci pour tes retours ;)

    tuxmouraille :

    Bonsoir,
    Ne pouvant utiliser pombo.php sur mon espace personnel SFR, j’ai modifié pombo.py pour y ajouter le support du ftp.

    Les scriptes sont téléchargeables ici: https://github.com/tuxmouraille/MesApps/tree/master/Pombo

    TimCruz :

    Merci!

    tuxmouraille :

    Bonjour,
    Il faut que je précise que dans le fichier de configuration:

    - serverurl est devenue serverhttp

    - serverftp sert pour indiquer le serveur ftp, pour le moment il n’accepte qu’un seveur. C’est de la forme: :@

    - serverip indique l’url du fichier http://myserver.com/pombo.php qui permet de vérifier le connectivité à internet et récupérer l’adresse ip. Ca peu être aussi tout autre script php qui possède la fonction: if (isset($_POST['myip'])) { die($_SERVER['REMOTE_ADDR']); }

    Pour ceux, sous GNU/Linux qui veulent prendre des captures webcam de grande taille vous pouvez utiliser « camshot=streamer -q -s 1600×1200 -o %%s » où -s indique 1600×1200 la résolution de la webcam. Il sera ainsi plus facile de reconnaître le voleur. A adapter en fonction de la votre.

    BoboTiG :

    @tuxmouraille : jsute pour info, SFR bloque une des commandes de pombo.php ? Quel est le soucis ?
    Merci pour le FPT, je vais ajouter un lien vers tes modifs :)

    sioban :

    @Virtualmix : non j’ai bien ifconfig…

    tuxmouraille :

    Bonsoir,
    @DofusBoboTiG : SFR bloque pour des raisons de « sécurité » plusieurs fonction php: http://assistance.sfr.fr/internet_offre-services/services/pages-perso-plus-loin/fc-3123-60537.do

    Alors que pombo.php fonctionne en locale, depuis SFR il me renvoie : » + Server responded: Wrong password »

    Il faut que je rajoute la boucle pour utiliser plusieurs serveurs FTP, supprime dans le fichier de configuration la clé password et la remplacer par:

    serverhttp=@http://myserver.com/pombo.php,@http://myserver2.com/pombo.php

    Ainsi on aurra des mots de passe différents pour chaque serveurs HTTP.

    tuxmouraille :

    Bonsoir,
    Voici une astuce, valable pour GDM qui permet de protéger ses données.
    Il faut lors de l’installation choisir de crypter son dossier personnel, ensuite on ajoute ceci au fichier /etc/gdm/custom.conf:

    [greeter]
    Exclude=nobody,

    ainsi votre compte apparaîtra plus dans la liste des utilisateurs.
    Maintenant on crée un compte factice auquel on diminue les droits et dont on peut ouvrir la session sans mot de passe. On peut pousser le vice en déposant dans ce compte quelques fichiers.

    Si le portable est volé, les données personnelles sont protégées, et le voleur a facilement accès à un compte.

    tuxmouraille :

    Il y a eu une erreur. Il fallait lire

    [greeter]
    Exclude=nobody,votre_nom_d’utilisateur

    Le nobody est pour éviter qu’un compte nobody n’apparaisse dans le GDM.

    Kasi :

    Merci pour le logiciel et le tuto ça peut avoir son utilité.

    Le soucis c’est que sans connexion internet ça ne sert à rien.

    Pourrait-on imaginer un stockage en local des infos si pas de connexion disponible et upload lorsqu’une connexion internet est détectée ?

    Ca pourrait être utile si le voleur ne se connecte pas sur internet (mais démarre le pc, on aura ainsi les screenshots et la webcam) et que le pauvre vendeur sur ebay qui ne s’est pas que c’est volé ne se fasse accuser à tord.

    Enfin je viens de penser à ça, mais disons que c’est un bonus, pas une fonctionnalité super importante :)

    TimCruz :

    @Kasi : L’idée est bonne, je vais en parler à BoboTiG !

    tuxmouraille :

    Bonjour,
    J’avais prévu aussi d’ajouter cette fonction à ma version.

    Ainsi qu’une photo à la webcam dés l’ouverture de la session.

    Un support du GPS, pour les GPS intégrés serait bien, plus pour les tablettes et les smartphones si quelqu’un porte pombo là dessus.

    pierre :

    Bonjour,

    j’ai la version 0.0.8 sous debian stable.
    Le programme marche bien, à l’exeption de la capture webcam. J’ai l’erreur « neither audio nor video format specified/found »

    Si je remplace
    camshot=streamer -q -o %%s
    par
    camshot=streamer -q -o %%s.ppm

    dans pombo.conf, la capture se fait, mais, à le fichier n’est pas repris par pngnq ni zippé et reste dans /tmp avec comme extension .png.ppm

    Impossible non plus de prendre une capture en png avec streamer, seul le format ppm semble marcher.

    help, j’aimerai bien voir la bobine de mon hypothétique voleur ;)

    pierre :

    Je viens également de remarquer un truc bizarre !

    Les rapports crées en exécutant (en tant que root) le fichier /etc/local/bin/pombo.py sont bons (rapport + screenshot)
    Par contre ceux générés par cron sont incomplets : il n’y a pas le screenshot et le fichier texte ne contient presque aucune info, seulement le résultat de uname et l’adresse ip publique. Pas de résultat de ifconfig, ni les réseaux wlan disponibles.

    TimCruz :

    @pierre : c’est que ton script ne se lance pas en admin. Peut-être appeler ta crontab en su (en tous cas, l’appeler en sudo sous Ubuntu suffit à lancer tes script en tant qu’admin).

    TimCruz :

    Je viens de recevoir un mail de sebsauvage, il semble de mon avis : ton script n’est pas lancé en admin!

    pierre :

    Merci de prendre la peine de me répondre.

    J’étais bien sous une session admin pour l’installation comme pour les tests.

    Peut-être est-ce dû à une spécificité de Debian ?

    Le propriétaire du script est bien root.

    Par ailleurs, une idée pour le problème de webcam ?

    tuxmouraille :

    Bonsoir,
    Essayes

    */15 * * * * root /usr/local/bin/pombo.py 2>/dev/null

    pierre :

    ça ne marche pas.

    Le message d’erreur est : /bin/sh: root: not found
    Je pense que crontab ne permet pas d’indiquer l’utilisateur.

    Pour information, il n’y a pas de message d’erreur particulier lorsqu’on enlève « root »

    tuxmouraille :

    Bonjour,
    Ca y est j’ai retrouvé comment faire. Il mettre cette ligne dans le fichier /etc/crontab et ne pas utiliser sudo crontab -e.
    Le commande sudo crontab -e permet d’éditer le crontab de l’utilisateur root. Le fichier /etc/crontab est celui du système.

    Dans les crontabs des utilisateurs on ne peu pas indiquer sous quel utilisateur la tâche sera lancée alors qu’il faut le faire /etc/crontab.

    Peux essayer ça et nous dire si ça marche?

    pierre :

    Voila ma ligne dans /etc/crontab

    */15 * * * * root /usr/local/bin/pombo.py 2>/dev/null

    Le script est bien exécuté, mais les rapports sont toujours vides…

    tuxmouraille :

    Bonjour,
    En mettant la commande: */15 * * * * root /usr/local/bin/pombo.py 2>/dev/null

    dans /etc/crontab, qu’est ce que ça donne?

    tuxmouraille :

    Désolé j’ai pas vue que mon précédent commentaire n’est bien passé.

    tuxmouraille :

    Qu’est ce que donne un:

    sudo /usr/local/bin/pombo.py ?

    pierre :

    Désolé, j’ai peu de temps pour me connecter en ce moment !

    pierre@xxx:~$ sudo /usr/local/bin/pombo.py
    [sudo] password for pierre:
    pierre is not in the sudoers file. This incident will be reported.
    pierre@xxx:~$ su
    Mot de passe :
    root@xxx:/home/pierre# /usr/local/bin/pombo.py
    Pombo 0.0.8
    – Checking connectivity to the internet.
    + IP has changed.
    – Collecting system info.
    – Taking screenshot.
    – Taking webcamshot.
    neither audio nor video format specified/found
    – Zipping files.
    – Encrypting zip with GnuPG.
    – Sending xxx_20111108_220353.zip.gpg to xxx.free.fr …
    + Server responded: File stored.
    ^ Done.
    root@xxx:/home/pierre#

    tuxmouraille :

    As tu ouvert l’archive pour voir si elle contient bien toutes les infos?

    pierre :

    Oui. Veux tu que je t’envoie deux fichiers par email ?
    (Un avec les infos, l’autre sans)

    tuxmouraille :

    Non c’est pas la peine.
    As tu relancé le service cron ou redémarré la machine pour voir si ça marche? Je suppose que oui.

    Ajoutes à /etc/crontab la commande suivante:

    */15 * * * * root /usr/local/bin/pombo.py 2> /var/log/pombo.log

    Laisses le tourner quelques heures. Puis donne nous les dernière lignes du fichier de log: /var/log/pombo.log

    tuxmouraille :

    Correction la commande est:

    */15 * * * * root /usr/local/bin/pombo.py 2>&1 >> /var/log/pombo.log

    pierre :

    Alors, oui, j’ai redémarré la machine plusieurs fois sans succès.

    J’ai essayé également de mettre un lien vers le script dans /etc/cron.hourly mais ça ne donne rien.

    Sinon, j’ai fait la modif que tu m’as demandée…

    root@xxx:/home/pierre# more /var/log/pombo.log
    Pombo 0.0.8
    – Checking connectivity to the internet.
    + IP has changed.
    – Collecting system info.
    ! Process failed: ['ifconfig', '-a'] (unicode() argument 2 must be string, not None)
    ! Process failed: ['iwlist', 'scanning'] (unicode() argument 2 must be string, not None)
    ! Process failed: ['traceroute', '-q1', '-n', 'www.google.com'] (unicode() argument 2 must be string, not None)
    ! Process failed: ['netstat', '-putn'] (unicode() argument 2 must be string, not None)
    – Taking screenshot.
    ! Process failed: ['who', '-s'] (unicode() argument 2 must be string, not None)
    ! Could not determine current user. Cannot take screenshot.
    – Taking webcamshot.
    – Zipping files.
    – Encrypting zip with GnuPG.
    – Sending xxx_20111110_175501.zip.gpg to xxx.free.fr …
    + Server responded: File stored.
    ^ Done.
    root@xxx:/home/pierre#

    tuxmouraille :

    Bonjour,
    Je suppose que tu n’as pas toutes ces erreurs quand tu le lance à la main?

    Je viens de le réinstaller et j’ai les même erreurs.

    pierre :

    Non, je n’ai pas ces erreurs.

    Je suis un peu rassuré que tu arrives à reproduire le problème, je me sens moins seul.

    Merci de ton temps en tout cas !

    tuxmouraille :

    Que donne la commande: python -V ?

    pierre :

    Python 2.6.6

    J’ai une debian stable, et (à l’exception du noyeau) je n’ai pas de paquets de testing à ma connaissance.

    tuxmouraille :

    Bonjour,
    « unicode() argument 2 must be string, not None »: lorsque le scripte est lancé par cron il ne détecte la locale du système, c’est de là que viens cette erreur.

    Pour les rapports incomplets avec cron et complet quand pombo est lancé à la main je n’ai pas encore trouvé.

    J’ai testé la version 0.0.6 de Sebsauvage:http://sebsauvage.net/pombo/index.fr.html . Elle ne présente pas les erreurs de rapport et d’encodage de celle de BoboTiG. Je pense que le problème viens du portage sous Windows.

    pierre :

    Tu veux que je teste la 0.0.6 ?

    BoboTiG :

    Bonjour,

    Pour le soucis d’unicode, ça devrait être réglé pour la prochaine version. Idem pour les soucis avec la webcam, l’utilisateur n’aura qu’à spécifier l’extension de l’image (jpeg, ppm, ..).

    @pierre : peux-tu me contacter par courriel que je te fasse tester la version 0.0.9 ?

    Guillaume :

    Bonjour,
    j’ai un soucis avec pombo, en fait il fonctionne à merveille tant que je le lance manuellement en ligne de commande, mais dès que je le met dans crontab, il s’exécute correctement mais il n’y a AUCUNE donnée dans le fichier texte et pas de capture d’écran ni de screenshot webcam (ça c’est normal, je n’ai pas de webcam). Je suis sous Linuxmint Debian Édition et j’ai aussi essayé sous LinuxMint11 (Ubuntu), je ne vois pas de quoi ça peu venir, si quelqu’un peu me donné une piste à suivre. Bonne journée, cordialement, Guillaume.

    TimCruz :

    @Guillaume : Tu as bien appelé la crontab avec la commande sudo crontab -e?

    Guillaume :

    Oui j’ai bien fait le crontab -e en tant que root et quand je lance manuellement le prog, toujours en root, là ça marche à merveille, mais bon le but c’est quand même de le lancé en automatique ! Merci TimCruz pour votre réponse.

    hpacoj :

    Bonjour. je viens d’installer pombo 0.0.8 sur mon netbook.
    j’ai le même problème que Guillaume et Pierre.
    j’ai bien créé la tache cron avec la commande sudo crontab -e.
    (je suis sous ubuntu 11.04) et lorsque je fait le test sudo /usr/local/bin/pombo.py tout fonctionne correctement mais lorsque je le laisse faire en « automatique » les rapports sont quasi vide et la capture d’écran ne se fait pas.

    @BoboTig: Sur ta page du dis que pour résoudre le problème « unicode() argument 2 must be string, not None » il faut mettre à jour vers la version 0.0.9 or je ne sait ou la trouver, la plus récente téléchargeable étant la 0.0.8.
    Merci pour ce petit programme bien utile dans ces moments emm…dants!

    BoboTiG :

    @hpacoj : la version 0.0.9 n’est pas encore disponible, petite erreur de ma part. Je la mettrai en ligne d’ici dimanche :)

Laissez un commentaire

Catégorie(s): Software, Tutos