Bienvenue et merci de votre visite.
Vous pouvez suivre l'actualité de ce blog de différents manières
- en vous abonner au flux RSS pour recevoir les derniers articles
- en me suivant sur Twitter
- en consultant mon profil LinkedIn
- en venant visiter ma page Facebook

Compter le nombre de fichiers par extension dans un répertoire

16.02.2008 0
find . -name "*.*"|sed 's/.*\.//g'|sort|uniq -c|sort -nr|gawk 'OFS="\t" {print $1,$2}' 
Partagez l'information:
  • email
  • Print
  • Digg
  • del.icio.us
  • TwitThis
  • LinkedIn
  • Facebook
  • Scoopeo
  • Google Bookmarks
  • Technorati
  • Wikio FR
  • Furl
  • Pownce
  • Ping.fm
  • Yahoo! Buzz
  • blinkbits
  • BlinkList
  • blogmarks
  • Sphinn
  • Mixx
  • Netvibes
  • Wikio

Devenir root sur un serveur en exploitant une failler du kernel

10.02.2008 0

Si vous vous rendez ici, vous pourrez trouver un bout de code qui vous permet de devenir root très simplement:

bash-3.00$ whoami
olivier
bash-3.00$ ./exploit
[+] mmap: 0x0 .. 0x1000
[+] page: 0x0
[+] page: 0x20
[+] mmap: 0x4000 .. 0x5000
[+] page: 0x4000
[+] page: 0x4020
[+] mmap: 0x1000 .. 0x2000
[+] page: 0x1000
[+] mmap: 0xb7f63000 .. 0xb7f95000
[+] root
bash-3.00# whoami
root
bash-3.00#

La faille impacte tous les noyaux du 2.6.17 au 2.6.24. Le 2.6.24.1 est corrigé pour la faille sauf si vous l’avez patché avec vserver.Si vous utilisez grsec avec PaX la faille ne passe pas. Debian fournit un patch.

Partagez l'information:
  • email
  • Print
  • Digg
  • del.icio.us
  • TwitThis
  • LinkedIn
  • Facebook
  • Scoopeo
  • Google Bookmarks
  • Technorati
  • Wikio FR
  • Furl
  • Pownce
  • Ping.fm
  • Yahoo! Buzz
  • blinkbits
  • BlinkList
  • blogmarks
  • Sphinn
  • Mixx
  • Netvibes
  • Wikio

Migrer des comptes qmail/vpopmail d’un serveur à un autre

07.02.2008 0

J’ai dû déplacer pour un client ses comptes mails géré par vpopmail d’un serveur à un autre. Après avoir installé qmail/vpopmail sur le nouveau serveur, j’ai déplacé le contenu de son répertoire vpopmail/domains, remis les droits corrects, copié le contenu des fichiers /var/qmail/control/rcpthosts /var/qmail/control/morercpthosts /var/qmail/control/virtualdomains et /var/qmail/users/assign (en changeant la valeur des uid:gid dans ce dernier fichier) Rien à faire, vpopmail refuse de voir les domaines ajoutés de cette façon. Je n’ai trouvé nulle part sur l’ancien serveur de database locale contenant éventuellement d’autres informations.J’ai donc utilisé un script trouvé ici qui permet de sauvegarder les mailbox vpopmail de l’ancien serveur et crée un script sh de recréation de compte sur le nouveau serveur. Pratique, mais il faut se taper tous les domaines à la main.

Partagez l'information:
  • email
  • Print
  • Digg
  • del.icio.us
  • TwitThis
  • LinkedIn
  • Facebook
  • Scoopeo
  • Google Bookmarks
  • Technorati
  • Wikio FR
  • Furl
  • Pownce
  • Ping.fm
  • Yahoo! Buzz
  • blinkbits
  • BlinkList
  • blogmarks
  • Sphinn
  • Mixx
  • Netvibes
  • Wikio

Installer l’extension ssh2 dans PHP Gentoo

29.01.2008 0

Pour installer l’extension Pecl ssh2 sous Gentoo, commencez par télécharger l’archive ssh2-0.10.tgz puis une fois décompressée:

phpize && configure --with-ssh2

Modifiez alors le fichier config.h et ajoutez en haut du fichier:

#define LIBSSH2_APINO 200412301450

puis

make et make install

Plus qu’à ajouter l’extension dans /etc/php/cli-php4/php.ini et /etc/php/apache2-php4/php.ini

extension=ssh2.so 

et

/etc/init.d/apache2 restart
ssh2-0.10 # php --info | grep ssh2
Registered PHP Streams => php, http, ftp, https, ftps, compress.bzip2, compress.zlib, ssh2.shell, ssh2.exec, ssh2.tunnel, ssh2.scp, ssh2.sftp
ssh2
libssh2 version => 0.18
banner => SSH-2.0-libssh2_0.18
PWD => /usr/local/src/ssh2-0.10
_SERVER["PWD"] => /usr/local/src/ssh2-0.10
_ENV["PWD"] => /usr/local/src/ssh2-0.10 
Partagez l'information:
  • email
  • Print
  • Digg
  • del.icio.us
  • TwitThis
  • LinkedIn
  • Facebook
  • Scoopeo
  • Google Bookmarks
  • Technorati
  • Wikio FR
  • Furl
  • Pownce
  • Ping.fm
  • Yahoo! Buzz
  • blinkbits
  • BlinkList
  • blogmarks
  • Sphinn
  • Mixx
  • Netvibes
  • Wikio

L’attaque des clones !

26.01.2008 0

clone.jpg

Partagez l'information:
  • email
  • Print
  • Digg
  • del.icio.us
  • TwitThis
  • LinkedIn
  • Facebook
  • Scoopeo
  • Google Bookmarks
  • Technorati
  • Wikio FR
  • Furl
  • Pownce
  • Ping.fm
  • Yahoo! Buzz
  • blinkbits
  • BlinkList
  • blogmarks
  • Sphinn
  • Mixx
  • Netvibes
  • Wikio

Search and replace en ligne de commande

15.01.2008 0

Pour faire un search and replace en ligne de commande sur tous les fichiers .txt d’un répertoire :

perl -pi -e 's/find/replace/g' *.txt

La même chose pour des fichiers contenus dans une arborescence :

find . -name '*.txt' |xargs perl -pi -e 's/find/replace/g'

Partagez l'information:
  • email
  • Print
  • Digg
  • del.icio.us
  • TwitThis
  • LinkedIn
  • Facebook
  • Scoopeo
  • Google Bookmarks
  • Technorati
  • Wikio FR
  • Furl
  • Pownce
  • Ping.fm
  • Yahoo! Buzz
  • blinkbits
  • BlinkList
  • blogmarks
  • Sphinn
  • Mixx
  • Netvibes
  • Wikio

Vider le cache DNS sous macosx

13.01.2008 0

Pour les versions de macosx < leopard :

sudo lookupd -flushcache

Sous leopard, la commande a changé :

dscacheutil -flushcache

Partagez l'information:
  • email
  • Print
  • Digg
  • del.icio.us
  • TwitThis
  • LinkedIn
  • Facebook
  • Scoopeo
  • Google Bookmarks
  • Technorati
  • Wikio FR
  • Furl
  • Pownce
  • Ping.fm
  • Yahoo! Buzz
  • blinkbits
  • BlinkList
  • blogmarks
  • Sphinn
  • Mixx
  • Netvibes
  • Wikio

mindi-busybox-1.2.2 error: asm/page.h: No such file or directory

19.12.2007 0

Sur un serveur Gentoo avec kernel 2.6.16-hardened-r10, mindi-busybox-1.2.2 refuse de compiler et j’obtiens:

/var/tmp/portage/sys-apps/mindi-busybox-1.2.2/work/mindi-busybox-1.2.2/ util-linux/mkswap.c:44:59: error: asm/page.h: No such file or directory make: *** /var/tmp/portage/sys-apps/mindi-busybox-1.2.2/work/mindi-busybox-1.2.2/ util-linux/mkswap.o Error 1

Il suffit de modifier l’ebuild de cette façon:

# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

inherit eutils flag-o-matic

DESCRIPTION="The rescue part of a program that creates emergency boot disks/CDs using your kernel, tools and modules."
HOMEPAGE="http://www.mondorescue.org"
SRC_URI="ftp://ftp.mondorescue.org/src/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~x86 ia64 -*"
DEPEND="virtual/libc"
RDEPEND="&gt;=app-arch/bzip2-0.9
sys-devel/binutils"

src_unpack() {
unpack ${A} || die "Failed to unpack ${A}"
cd ${P}
#    create a link to page.h in kernel dir
mkdir include/asm
mkdir include/asm-generic
mkdir include/linux

ln -s /usr/src/linux/include/asm/page.h include/asm/page.h
ln -s /usr/src/linux/include/asm-generic/page.h include/asm-generic/page.h
ln -s /usr/src/linux/include/linux/const.h include/linux/const.h
make oldconfig
}

src_compile() {
# work around broken ass powerpc compilers
emake EXTRA_CFLAGS="${CFLAGS}" busybox || die "build failed"
}

src_install() {
# bundle up the symlink files for use later
emake PREFIX="${D}/usr/lib/mindi/rootfs" install || die
}

puis

aloyse mindi-busybox # ebuild mindi-busybox-1.2.2.ebuild digest
<div>&gt;&gt;&gt; Creating Manifest for /usr/local/portage/sys-apps/mindi-busybox

et enfin:

emerge =mindi-busybox-1.2.2

et vous pouvez continuer avec l’installation de mindi puis mondoarchive.

Partagez l'information:
  • email
  • Print
  • Digg
  • del.icio.us
  • TwitThis
  • LinkedIn
  • Facebook
  • Scoopeo
  • Google Bookmarks
  • Technorati
  • Wikio FR
  • Furl
  • Pownce
  • Ping.fm
  • Yahoo! Buzz
  • blinkbits
  • BlinkList
  • blogmarks
  • Sphinn
  • Mixx
  • Netvibes
  • Wikio

PAM unable to dlopen(/lib/security/pam_unix.so)

09.12.2007 0

La version stable de pam sous Gento (sys-libs/pam-0.99) nécessite de recompiler certains outils qui ne sont pas identifiables avec revdep-rebuild (shadow, vixie-cron, openssh, courier-authlib, cyrus-sasl etc.). Ce genre de problème se manifeste dans vos logs systèmes par ce genre de message:

Dec  9 00:00:01 aloyse cron[8986]: PAM unable to dlopen(/lib/security/pam_unix.so) <div>Dec  9 00:00:01 aloyse cron[8986]: PAM [dlerror: /lib/security/pam_unix.so: symbol pam_modutil_getlogin, version LIBPAM_MODUTIL_1.0 not defined in file libpam.so.0 with link time reference]</div><div>Dec  9 00:00:01 aloyse cron[8986]: PAM adding faulty module: /lib/security/pam_unix.so</div><div>Dec  9 00:00:01 aloyse cron[8986]: PAM unable to dlopen(/lib/security/pam_limits.so)</div><div>Dec  9 00:00:01 aloyse cron[8986]: PAM [dlerror: /lib/security/pam_limits.so: symbol pam_syslog, version LIBPAM_EXTENSION_1.0 not defined in file libpam.so.0 with link time reference]</div><div>Dec  9 00:00:01 aloyse cron[8986]: PAM adding faulty module: /lib/security/pam_limits.so</div>Dec  9 00:00:01 aloyse cron[8986]: Module is unknown

Utilisez qdepends pour trouver les packages à ré-émerger :

aloyse ~ # qdepends -Q pam<div>app-misc/screen-4.0.3</div><div>sys-process/vixie-cron-4.1-r9</div><div>sys-apps/shadow-4.0.18.1-r1</div><div>net-misc/openssh-4.7_p1-r1</div><div>net-dialup/ppp-2.4.4-r13</div><div>
Note: qpedends se toruve dans le package portage-utils
Partagez l'information:
  • email
  • Print
  • Digg
  • del.icio.us
  • TwitThis
  • LinkedIn
  • Facebook
  • Scoopeo
  • Google Bookmarks
  • Technorati
  • Wikio FR
  • Furl
  • Pownce
  • Ping.fm
  • Yahoo! Buzz
  • blinkbits
  • BlinkList
  • blogmarks
  • Sphinn
  • Mixx
  • Netvibes
  • Wikio

Réinstaller Python sur un serveur Gentoo.

04.12.2007 0

Si par mégarde vous avez tapé la commande « emerge -C python », vous vous êtes rendu compte que emerge est écrit en python:

emerge -av python -/bin/bash: /usr/bin/emerge: /usr/bin/python: bad interpreter: No such file or directory

La solution, réinstaller Python à la main.

cd /root
wget http://distfiles.gentoo.org/distfiles/Python-2.5.1.tar.bz2
tar xjf Python-2.5.1.tar.bz2
cd Python-2.5.1
./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --with-fpectl --enable-shared --infodir=${prefix}/share/info --mandir=${prefix}/share/man --with-libc= --enable-unicode=ucs4 --with-threads --build=i686-pc-linux-gnu
make
make install

et voilà ! Merci à Human Bomb pour m’avoir donné l’opportunité de trouver cette solution ;)

Partagez l'information:
  • email
  • Print
  • Digg
  • del.icio.us
  • TwitThis
  • LinkedIn
  • Facebook
  • Scoopeo
  • Google Bookmarks
  • Technorati
  • Wikio FR
  • Furl
  • Pownce
  • Ping.fm
  • Yahoo! Buzz
  • blinkbits
  • BlinkList
  • blogmarks
  • Sphinn
  • Mixx
  • Netvibes
  • Wikio