Techblog

Ici sont rassemblés des trucs et astuces techniques.
Généralement des trucs qui ne peuvent justifier l'écriture d'un tuto mais qui peuvent tout de même intéresser des gens.
Utilisation de lftp pour ftp SSL
ACPI et Asus S5N.
mldonkey et iptables
Postfix et sa queue (roho)...
Bypasser un proxy squid.
Lock de screen automatique.
SSH sai l'futur #@!
Un programme qui se mord la queue...
BOFH rulez ...
Images disques Qemu
Rebond ssh

Utilisation de lftp pour ftp SSL - 2005-02-16 10:48:32

Il existe peu de client FTP gérant SSL sous Linux.
lftp en fait partie.
Voici un exemple d'utilisation du SSL avec ce dernier:


[binarym@gco]:~% lftp
lftp :~> set ftp:ssl-force on
lftp :~> open -u binarym ftp.yanluo.net
Password:
lftp binarym@ftp.yanluo.net:~> ls
`ls' at 0 [FEAT negotiation...]


Voila! Facile non ?

ACPI et Asus S5N. - 2005-02-22 00:09:35

Je pense que cela peut s'appliquer à d'autres modèles de laptop.
J'ai à plusieurs reprises testé de faire fonctionner la mise en vieille de mon portable via l'ACPI en vain.
Et ce soir, je regardai avec attention le fichier /usr/src/linux/Documentation/kernel-parameters.txt quand j'ai vu ça:


acpi_sleep=[HW,ACPI] Sleep options
Format: { s3_bios, s3_mode }
See Documentation/power/video.txt


J'ai testé le paramètre:


acpi_sleep=s3_bios


et la Ô joie ! Ca marche, ça se met en veille et se réveille nickel !

Précisions:
Mon noyau est un 2.6.10 et est patché -lenb.
J'ai du mettre à jour le driver pour mon chipset wireless (ipw2100) à la version 1.0-5 (problème lors du réveil fixé à la version 1.0-3).

mldonkey et iptables - 2005-05-02 17:22:32

Je me demandais quel port ouvrir pour mldonkey quand une idée à surgit dans ma tête !
Les ports à ouvrir sont ceux sur lesquels il écoute pardi !
Voici ce que cela donne chez moi:


[root@mass]:~# netstat -lpn |grep mlnet
tcp 0 0 0.0.0.0:4000 0.0.0.0:* LISTEN 15402/mlnet
tcp 0 0 0.0.0.0:4001 0.0.0.0:* LISTEN 15402/mlnet
tcp 0 0 0.0.0.0:6881 0.0.0.0:* LISTEN 15402/mlnet
tcp 0 0 0.0.0.0:4002 0.0.0.0:* LISTEN 15402/mlnet
tcp 0 0 0.0.0.0:6882 0.0.0.0:* LISTEN 15402/mlnet
tcp 0 0 0.0.0.0:16934 0.0.0.0:* LISTEN 15402/mlnet
tcp 0 0 0.0.0.0:4080 0.0.0.0:* LISTEN 15402/mlnet
tcp 0 0 0.0.0.0:4662 0.0.0.0:* LISTEN 15402/mlnet
udp 0 0 0.0.0.0:32782 0.0.0.0:* 15402/mlnet
udp 0 0 0.0.0.0:16934 0.0.0.0:* 15402/mlnet
udp 0 0 0.0.0.0:5293 0.0.0.0:* 15402/mlnet
udp 0 0 0.0.0.0:4666 0.0.0.0:* 15402/mlnet

Postfix et sa queue (roho)... - 2005-05-10 17:16:37

Une commande bien utile quand la queue de postfix est pleine de MAILER-DAEMON ou autres est la commande postsuper.
Cette commande permet de en autre de supprimer un mail de la queue avec la syntaxe:


postsuper -d id_du_mail


l'id étant une chaine de la forme 9C71D1EF6DB.

Bypasser un proxy squid. - 2005-08-18 11:07:19

Bon, le tips doit trainer un peu partout sur le net, mais peu importe.
Si d'aventure vous êtes confronté à un réseau pas sympa où le seule moyen de sortir sur le net est un proxy Squid mais que toutefois celui ci accepte la méthode HTTP Connect pr le SSL, alors voici la solution pour sortir tout de même en ssh:
1/ Prérequis:


2/ Méthode:

Et voilà, y a plus qu'à lancer une petit


ssh la_machine_avec_ip_publique


et c'est gagné :)

Lock de screen automatique. - 2005-08-31 11:30:58

Toi aussi tu n'as aucune confiance en personne, et dès que tu t'éloignes de ta machine de plus de 2m tu la lockes ?
Tu utilises screen et tu le lockes aussi au cas ou xlock se vautrerait comme une merde ?
Et bien voilà le "tip of the day".
Rajoute la ligne suivante dans ton ~/.screenrc:


idle 120 lockscreen


Et voilà, au bout de deux minutes d'inactivité, ton screen se lockera tout seul comme un grand !

SSH sai l'futur #@! - 2005-11-16 13:40:36

Bon, aujourd'hui, tip rapide sur SSH, qui fait suite à ma lecture assidue de la page de man pour le précédent tip sur Squid.
Donc, assez peu de gens utilisent les possibilités magiques du ~/.ssh/config, par meconnaissance des possibilités qu'il offre.
Exemple typique, le login que vous utilisez sur votre machine de travail est rob, mais votre login sur le serveur en prod est robert, ce qui vous oblige à chaque fois à taper:

ssh rober@prod


Relou au possible n'est ce pas ?
C'est la qu'intervient le .ssh/config:


Host prod
User robert


Et plop, c'est réglé !
Donc au menu des directives 'achement utiles:


Fini donc les

ssh -i pouet.key -L 10143:mail:143 -p 2222 rober@prod


Et à vous le

ssh prod


Qui fait tout bien tout seul !

Un programme qui se mord la queue... - 2005-11-25 14:26:57

Donc, extrait d'une conversation IRC:
03/11/2005 17:25 < jm> dites ya un moyen d'executer deux programmes en envoyant la sortie de l'un sur l'entrée de l'autre, et la sortie du second sur l'entrée du premier ?
03/11/2005 17:26 < jm> exemple : plop | pwet | plop
03/11/2005 17:26 < jm> où plop ne serait qu'un seul et meme programme
03/11/2005 17:27 < binarym> hmmm
03/11/2005 17:27 < binarym> pipe unix ?
03/11/2005 17:28 < jm> c'est faisable ?
03/11/2005 17:28 < binarym> bah ouai
03/11/2005 17:28 < binarym> mkfifo plop
03/11/2005 17:28 < binarym> enfin
03/11/2005 17:28 < binarym> pr pas s'embrouiller
03/11/2005 17:28 < binarym> on va fire mkfifo fifo
03/11/2005 17:29 < binarym> cat fifo | plop | pwet > fifo
03/11/2005 17:29 < binarym> y a pas de raison que ça marche po à priori
03/11/2005 17:29 < jm> ah ok c nickel ca :)
03/11/2005 17:29 < binarym> jm: t'es en train de perdre mon ptit jm j'ai l'impression
03/11/2005 17:30 < jm> ^^
03/11/2005 17:30 < binarym> et si tu veux en plus garder une trace de ce qui est passé ds ton fifo
03/11/2005 17:30 < binarym> cat fifo | plop | pwet |tee log > fifo

BOFH rulez ... - 2006-05-22 17:34:25

Tu es admin, et tu n'aimes pas un de tes collègues ?
Soit donc *méchant* et *sale* (comme tout bon admin qui se respecte):

iptables -I FORWARD 1 -p tcp --(d|s)port le port -(s|d) la machine -m limit --limit 30/m -j ACCEPT

iptables -I FORWARD 2 -p tcp --(d|s)port le port -(s|d) la machine -j DROP

A adapter selon vos besoins ... en gros, netfilter laisser passer 30 paquets par minutes puis arrêtera tout bonnement. L'emploi du -j DROP permet de provoquer un lag conséquent. Un -j REJECT quant à lui coupera la connexion, plus violent et voyant donc.

Images disques Qemu - 2006-06-14 16:07:14

Qemu est un émulateur de machine bien pratique pour les tests en tout genre.

Si l'on veut modifier le contenu de ces images off-line (sans démarrer le système dans Qemu), instinctivement, on aura tendance à taper:


[root@gc]:/home/gco/Site/Qemu# mount -o loop qemu-hdd /mnt/loop
ioctl: LOOP_CLR_FD: Device or resource busy
mount: you must specify the filesystem type



Et oui, c'est logique ! Car Qemu utilise des images de disques:


[root@gc]:/home/gco/Site/Qemu# file qemu-hdd
qemu-hdd: x86 boot sector, code offset 0x48



Une recherche rapide sur internet nous donne une solution:


mount -o loop,offset=32256 /mnt/loop



Parfait, cela fonctionne très bien ! Mais nous n'avons accès de cette façon qu'à la première partition :(

Pour avoir accès au autres partitions, c'est très simple, demonstration:


[root@gc]:/home/gco/Site/Qemu# fdisk qemu-hdd
You must set cylinders.
You can do this from the extra functions menu.

Command (m for help): u
Changing display/entry units to cylinders

Command (m for help): p

Disk qemu-hdd: 0 MB, 0 bytes
32 heads, 63 sectors/track, 0 cylinders, total 0 sectors
Units = sectors of 1 * 512 = 512 bytes

Device Boot Start End Blocks Id System
qemu-hdd1 * 63 66527 33232+ 83 Linux
qemu-hdd2 66528 1090655 512064 83 Linux
qemu-hdd3 1090656 1999871 454608 83 Linux



Nous savons que la première partition est à l'offset 32256 pour mount et à 63 pour fdisk (et effectivement 32256/63 nous donne 512 comme indiqué par fdisk).

Nous n'avons donc qu'à multiplier la valeur du start de fdisk par 512 pour tomber sur la partition qui nous intéresse...

Soit dans le cas présent, pour monter la seconde partition:


[gco@gc]:~% bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
66528*512
34062336

[root@gc]:/home/gco/Site/Qemu# mount -o loop,offset=34062336 qemu-hdd /mnt/loop
[root@gc]:/home/gco/Site/Qemu# ls /mnt/loop
bin boot dev etc fcskoptions home initrd lib lost+found mnt opt proc root sbin tmp usr var


Rebond SSH - 2009-04-18 19:04:43

Nul besoin de configuration compliqué pour se connecter en ssh à B en passant via A

ssh -tt useAr@A "ssh -tt userB@B"

Evidemment, si les clefs sont installées sur les bécanes ça marchent mieux.