Page des trucs et astuces




Cette page regroupe des trucs et astuces dont je me sert de temps à autre. La plupart d'entre elles concernent Linux .



  1. Commande wget
    Voici des paramètres intéréssant pour recupérer un site web : wget -m -L http://www.monsite.com .

  2. NumLock ON sous Linux
    Voici les explications pour que le clavier numérique soit activé automatiquement au démarrage de la machine. Il est possible que cela ne pose plus de problèmes dans les distributions récentes
    1) En mode texte rajouter dans rc.local :
    for tty in /dev/tty[1-9]*; do setleds -D num < $tty > /dev/null done
    En mode graphique voir les explications sur le site de : Léa Linux

  3. Redirection de page Web
    Cela permet de rediriger automatiquement une page web vers une autre.
    <html>
    <head>
    <META HTTP-EQUIV="Refresh" CONTENT="0 ; URL=http://www.nouvelle-adresse.com">
    Redirection
    </head>
    <body>
    Patientez pendant la redirection..
    </body>
    </html>

  4. Se connecter à un serveur FTP en passant par un Proxy
    Vous voulez vous connecter à un serveur FTP externe et vous devez passer par le proxy de votre entreprise.
    1) se connecter au proxy : ftp the_proxy ou ftp 192.168.1.11
    2)A l'invite utilisateur: entrer votre_login@site_ftp_distant.com
    3)à l'invite, donner son mot de passe

  5. Suppression des ^M dans un fichier texte
    Si le texte à été créé sous un éditeur dos, sa visualisation sous un Unix va faire apparaitre des ^M en fin de ligne.
    1) Si vous ouvrez le fichier avec vi, mettez vous en mode commande et tappez :s/^v^M//g puis enter. Attention le ^v n'est pas visible, c'est normal il permet d'afficher le ^M. Il ne vous reste plus qu'à sauvegarder le fichier.
    2) Directement en ligne de commande en faisant cat fichier.dos | tr '\r' '\n' > fichier.unix

  6. Création de fichier DOS depuis Unix
    Si le texte à été créé sous un éditeur unix, il sera pas beau à lire sous dos/windows
    1) Voici la commande magique : cat fichier.unix | sed -e 's/$/\r/' > fichier.dos

  7. Commandes SSH
    Pour se logguer : ssh chris@tofe.org
                ssh -l chris 192.168.2.55
    Pour executer une commande : ssh chris@tofe.org ls -l
    Pour copier des fichiers entre 2 machines : scp /home/tofe/fichier1 user@remote_host:/autre/repertoire/fichier2
                scp user@remote_host:/home/tofe/fichier1 /autre/repertoire/fichier2
    Pour copier une arborescence de fichiers entre 2 machines : scp -r user@remote_host:/home/tofe/ /autre/repertoire/

  8. Lancer une commande sous un autre utilisateur
    su - user -c commande_a_executer

  9. Imprimer un fichier sur 80 colonnes sans tronquer les lignes
    cat doc.txt | fold -w 78 | pr -t | lpr

  10. Création d'un patch pour le noyau
    Si l'on désire modifier le noyau, et créer un patch pour diffuser la modif diff -urN rep_noyau_origine rep_noyau_modif > fichier.patch

  11. Imprimer une page man
    zcat /usr/man/man1/fuser.1.gz | nroff -man | lpr

  12. Syntaxe de quelques commandes réseau
    ifconfig eth0 13.3.2.226/24 broadcast 13.3.2.255 up
    ifconfig eth0 down
    ifconfig eth0 13.3.2.226 netmask 255.255.255.0 broadcast 13.3.2.255 up
    route add -net 13.3.1.0 255.255.255.0 eth0
    route add default gw 13.3.1.235 eth0
    route del -net 192.168.2.0/24


  13. Les options de lilo.conf
    Chacun sait qu'il est possible de rebooter la plupart des serveur linux et de tapper
    linux single
    pour se retrouver root sans avoir de mot de passe à entrer. Pour qu'un mot de passe soit demandé il faut rajouter les lignes
    restricted
    password=un_mot_de_passe

    après avoir executé lilo, mieux vaut supprimer le mot de passe, ou bien faire en sorte que le fichier lilo.conf ne soit lisible que par root (mais bon, avec un rescue disk, on aura vite fait d'aller lire ce qu'il s'y trouve ...).

  14. Création d'un tunnel SSH
    CLI=adresse du client
    SRV=adresse du serveur
    Si on est sur le serveur la commande :
    ssh -R 3999:SRV:80 CLI
    permet à quelqu'un sur le client de se connecter au web par le tunnel ssh
    en tappant dans un naviguateur http://localhost:3999
    On peut faire directement la même chose depuis le client avec la commande :
    ssh -L 3999:SRV:80 SRV
    A noter que l'on peut également faire cela depuis Windows avec PuTTy
    dans la rubrique Tunnels mettre Source port 3999 et Destination SRV:80, faire Add
    puis retourner dans session mettre l'adresse du serveur, port 22, sauvegarder la config et faire Open pour créer le tunnel et se connecter au serveur. Les utilisations sont nombreuses, cela permet de faire passer des applications non sécurisée (pop, ftp ...) par un tunnel crypté.

  15. Page web avec authentification
    1 - Créer le fichier .htaccess (user nobody, group nobody, permissions 640 ) en supposant que le serveur apache tourne sous l'utilisateur nobody.
    Ce fichier doit se trouver dans le répertoire que l'on veut protéger.
    Il doit contenir les lignes suivantes :
    Authtype Basic
    Authname un_nom_pour_la_boite_de_dialogue
    require user un_nom-dutilisateur
    (Ou plusieurs séparés par des virgules)
    AuthUserfile /unchemin/verslefichier/htusers

    2 - Dans httpd.conf
    <Directory /unchemin/verslerepertoire/aproteger>
    AllowOverride Authconfig
    </Directory>


    3- Tapper la commande
    htpasswd /unchemin/verslefichier/htusers un_nom-dutilisateur
    (reprendre les noms utilisés dans le 1), cela genère le mot de passe. Redémarrer apache
    Le fichier htusers ne doit pas être accessible depuis le serveur web (il contient les mots de passe !).

  16. Test d'un serveur HTTP
    Avec un virtual host :
    telnet 212.27.33.220 80 <return>

    GET / HTTP/1.1 <return>
    HOST:www.linuxfocus.org <return>
    <return>

    Sans virtual host :
    telnet 212.27.33.220 80 <return>

    HEAD / HTTP/1.1 <return>
    <return>

  17. FTP en mode actif et en mode passif
    Mode actif : le client établit la connexion de commandes vers le port 21 et le serveur établit la connexion de data à partir de son port 20.
    Mode passif : le client établit la connexion de commandes vers le port 21 et établit aussi la connexion de data vers un port Passive Range du serveur (1024-65535).
    L'avantage dans une connexion passive réside dans le fait que le serveur n'initie aucune connexion. Cela est intéressant pour des clients intranet voulant consulter un serveur FTP sur Internet et devant traverser un pare-feu, le mode FTP passif permettra de n'avoir que des flux sortants vers Internet, alors qu'avec du FTP actif, on aurait une connexion initiée depuis l'extérieur, ce qui peut être une source d'intrusion.

  18. Les différents types de cables réseau
    Bien que le cable le plus répandu soit la paire torsadée catégorie 5, il est intéréssant de connaître les longueurs max pour les autres supports:

    Technologie Type de cable Longueur maximale d'un segment
    10 BaseT/ 100 BaseTx paire torsadée catégorie 5 100 mètres
    10 Base2 coaxial fin 185 mètres
    10 Base5 coaxial épais 500 mètres
    10BaseFL, 100BaseFX, 1000BaseSX, 1000BaseLX Fibre optique multimode 2000 mètres
    10BaseFL, 100BaseFX, 1000BaseSX, 1000BaseLX Fibre optique monomode 20000 mètres


  19. Quelques commandes avec Nmap
    Cette commande permet de détecter les ports ouverts, et le système d'exploitation. I faut lancer la commande depuis un compte root.
          nmap -v -O -sS -F 192.168.2.1
    Cette commande permet de tester les protocoles disponibles (ICMP, UDP ...).
    Elle ne fonctionne pas avec tous les OS et est trés lente, intéressant pour les routeurs.
          nmap -sO 192.168.2.1
    Cette commande permet de tester les ports RPC.
    Elle est trés voyante.
          nmap -sT -sU -sR 192.168.2.1
    Cette commande permet de tester les ports UDP.
    Elle est trés lente
          nmap -sT -sU 192.168.2.1
    Cette commande permet de tester les ports ouverts par TCP connect().
    Elle est voyante et trés lente.
          nmap -sT -I 192.168.2.1
    Cette commande permet de tester les ports ouverts par l'envoi d'un paquet SYN.
    Elle est rapide et peu detectable, mais il faut être root pour l'utiliser.
          nmap -sS 192.168.2.1
    Quelques options utiles :
         -p <liste de ports à scanner> par exemple -p '1-1024,1234,8000,8080'
         -F ne teste que les ports listés dans le fichier nmap-services.
         -v verbose, on peut même utiliser -vv pour un maximum d'information.
         -P0 ne pingue pas la cible, utile pour les systèmes ne répondant pas au ping.
         -n ne resoud pas le nom de domaine, utiliser -R pour forcer la résolution.
         -oN/-oX/-oG <fichier> les résultats sont envoyés dans un fichier.


  20. Client NIS Solaris 8 et serveur NIS Linux
    Aprés avoir installé un serveur NIS sous Debian, les clients Solaris 8 ne pouvaient plus s'authentifier (pas de problèmes pour les clients Linux :-). Il faut savoir que Solaris ne supporte le cryptage des mots de passe MD5 que depuis la version 9R2. Sur le serveur il faut désactiver le support du cryptage MD5 des mots de passe (dans le fichier /etc/pam.d/common-password ) et refaire tous les mots de passe ! . Mais même avec des passwd cryptés sans MD5, cela ne fonctionne pas. Il y a encore un problème avec les shadow password, en convertissant le fichier passwd pour supprimmer le support des shadows passwords cela fonctionne (commandes pwconv et pwunconv pour passer de l'un à l'autre ) . Cependant cela n'est vraiment pas satisfaisant pour la sécurité du serveur. Il faut garder le support des shadows passwords et dans le fichier Makefile du répertoire /var/yp, il suffit de positionner les variable MERGE_PASSW et MERGE_GROUP avec la valeur true. Bien sur NIS est une vraie passoire du coté de la sécurité, puisque un ypcat -k passwd remonte tous les mots de passe cryptés, qu'il ne sera pas trop difficile de décrypter ! NIS est vraiment un truc obsolete à n'utiliser que sur un petit réseau, sinon il faut passer à LDAP. .

  21. Copier une video Flash Player sur son disque dur
    De nombreuses videos sont disponibles sur le net, cependant on ne peux pas les copier sur son disque dur pour les visualiser sur un appareil qui n'est pas connecté au net. Il existe un excellent plugin pour Firefox : VideoDownloader . Avec celui ci on pourra télécharger des videos sur YouTube et autre MySpace sans trop de problèmes . On récupère alors un fichier au format flv, qu'il faut ensuite convertir en mpeg ou avi . Pour cela je vous conseille l'excellent shareware Total Video Converter actuellement en version 3.1 vendu 45$ . Mais le plugin Videodownloader ne récupère pas tout, en particulier il a un peu de mal avec les fichiers Flash Player 9, et là, il y a une autre astuce !!! Lorsqu'on visualise une video Flash Player, le logiciel crée un fichier temporaire dans le répertoire Local Settings\Temp de l'utilisateur , cependant ce fichier ne peut pas être renommé, ni copié, il est détruit dés que la fenêtre Firefox est fermée .... Ben il suffit de débrancher la prise de courant de l'ordi !!!! C'est un peut brutal, mais au reboot on récupère le fichier tmp, on le renomme en .flv et on peut le reconvertir en avi ou mpeg avec Total Video Converter. Bon aprés c'est vous qui voyez si vous comptez changer souvent de disque dur, car à forte doses il risque de ne pas apprécier la manoeuvre .

  22. Modifier l'éditeur par défaut sous Debian
    Sous Debian l'éditeur par défaut est maintenant nano, ce qui me crispe un peu, surtout avec la commande crontab, pour remédier à cela, il suffit de tapper une commande un peu exotique : update-alternatives --config editor et de sélectionner son éditeur préféré. .

  23. Effacer un fichier ou un répertoire récalcitrant sous Windows
    Utiliser l'invite de commandes, se déplacer à l'endroit voulu, faire un dir /x pour connaitre le nom DOS, ensuite utiliser la commande del ou rd avec le nom DOS. Parfois l'impossibilité d'effacer est liée à un process en cours qu'il faut tuer. .

  24. Mise à jour du firmware d'un Switch 3 com 4210
    Récupérer la mise à jour sur le site 3Com
    Se connecter en telnet sur le switch.
    Faire un dir pour voir les versions installées et l'espace libre. Il y a 3 types de fichiers à mettre à jour :
    La rom de boot (extension .btm )
    L'OS (extension .app )
    L'application web (extension .web )

    La première chose à mettre en place est la nouvelle version de boot rom.
    La télécharger sur le switch avec tftp ( tftp 192.168.100.201 get nouvelle-rom.btm ) et l'installer avec la commande :
    boot boot-rom nouvelle-rom.btm
    Ensuite on reboote pour vérifier que tout est installé et on regarde le nouveau numéro de version avec la commande :
    display version
    Ensuite on met à jour l'OS, le problème c'est qu'il n'y a pas assez de place sur le switch pour 2 versions il faut donc effacer l'ancienne version :
    delete /unreserved old-bootloader.app
    Puis il faut télécharger la nouvelle version avec tftp puis l'installer avec la commande :
    boot boot-loader new-bootloader.app
    Faire de même avec l'appli web :
    boot web-package new-package.web
    Il ne reste plus qu'à rebooter et vérifier les numéros de version avec la commande :
    display version
    Pour effacer les fautes de frappe utiliser Ctrl-H


  25. Utiliser une imprimante/copieur Canon IR2800 sous Mac OS X ( testé avec la version 10.5 )
    Le driver Canon ne marche pas, il envoie des feuilles blanches avec des caratères bizarres
    Par contre cela fonctionne très bien avec le driver HP Laserjet 4 Gutenprint.
    A noter que le driver HP Laserjet 4 est un driver assez générique et qu'il fonctionne probablement
    avec de nombreuses imprimantes, quelque soit le système d'exploitation.


  26. Installer une extension Argis ( EZ Profiler ) pour un utilisateur sans droits administrateur
    Si on installe l'extension sous le compte administrateur, les utilisateurs du domaine ne peuvent pas l'utiliser
    Sous le compte lambda ouvrir une fenêtre CMD en tant qu’administrateur, copier la DLL dans c:\windows\system
    C:\Documents and Settings\lambda\Bureau\AS15428>copy profile92.dll c:\windows\sy stem
    1 fichier(s) copié(s).
    Aller dans le dossier windows\system et enregistrer la DLL avec regsvr32
    C:\Documents and Settings\lambda\Bureau\AS15428>cd \WINDOWS\system
    C:\WINDOWS\system>regsvr32 profile92.dll
    C:\WINDOWS\system>
    L’extension peut maintenant être installée depuis Arcgis.


  27. Un programme qui permet de migrer les carnets d'adresses de Squirrelmail au format .abook vers un fichier au format vcard utilisable avec RoundCube

    #!/usr/bin/perl
    #
    # Converts a Squirrelmail address book to vcards for import in Roundcube.
    #


    if ( "$ARGV[0]" eq "" )
          {
            print ("Input a .abook filename please !\n") ;
            exit (1) ;
          }



    foreach $nom (@ARGV)
       {
         if ( "$nom" eq "-h" | "$nom" eq "--help" )
           {
            print ("Command line is : abook2vcard filename.abook\n") ;
            print ("You can use wildcards such as : abook2vcard file*.abook or abook2vcard *.abook\n") ;
            print ("This script will create a vcard file named filename.vcard\n") ;
            exit (1) ;
           }
           open(FICIN,"$nom") || die "Erreur E/S : $!\n";
           my @contenu = ;
           close(FICIN);

           $nom =~ s/.abook$//;
           open(FICOUT,">$nom.vcf") || die "Erreur E/S : $!\n";

        foreach (@contenu)
         {
           chomp ;
           $ligne = $_ ;
           @linetab = split(/\|/, $ligne);
          
           print FICOUT ("BEGIN\:VCARD\n");
           print FICOUT ("VERSION\:3.0\n");
           print FICOUT ("FN\:@linetab[0]\n");
           print FICOUT ("N\:@linetab[2]\;@linetab[1]\;\;\;\n");
           print FICOUT ("EMAIL\;type\=INTERNET\;type\=HOME\;type\=pref\:@linetab[3]\n");
           print FICOUT ("END\:VCARD\n\n");
         }
       }