Prison shell (chroot)

De SeRoM - Wiki
Aller à : navigation, rechercher

Exemple d'une prison shell pour un user:

Préparation:

chmod u+s /usr/sbin/chroot
vi /bin/bash-prison

Contenu du script qui sera lancer comme shell au prisonnier.

#!/bin/bash
exec -c /usr/sbin/chroot /home/$USER/ /bin/bash
chmod 755 /bin/bash-prison

Ajout de notre user prisonnier

adduser prisonnier -s /bin/bash-prison
passwd prisonnier

On prépare le strict minimum.

cd /home/prisonnier
mkdir bin
cp /bin/bash bin/bash
ldd /bin/bash
       libtermcap.so.2 => /lib/libtermcap.so.2 (0x0fd40000)
       libdl.so.2 => /lib/libdl.so.2 (0x0fdd0000)
       libc.so.6 => /lib/tls/libc.so.6 (0x0fe80000)
       /lib/ld.so.1 (0x0ffd0000)
mkdir lib
cp /lib/libtermcap.so.2 lib/
cp /lib/libdl.so.2 lib/
cp /lib/tls/libc.so.6 lib/
cp /lib/ld.so.1 lib/