http://www.lea-linux.org/documentations/index.php/Trucs:Chrooter_un_utilisateur_(ssh,_terminal,_console,_etc...)
A faire :
- Création script d'automatisation.
I/ Création d'un user et de son home
On crée l'utilisateur :
# adduser *login*
Puis on crée ensuite les dossiers qui définira son environnement de base :
# cd /home/
# mkdir bin dev lib
# cp -rp /dev/* ./dev/.
Pour lui permettre de se loguer via un terminal bash, il va falloir copier l'executable de bash dans son environnement :
# cp /bin/bash /home/
Si besoin pour chercher un exécutable :
# whereis *exe*
Il faut ensuite copier toutes les dépendances de l'exécutable copier, pour connaitre ces dépendances pour bash par exemple :
# ldd /bin/bash
libncurses.so.5 => /lib/libncurses.so.5 (0x40026000)
libdl.so.2 => /lib/libdl.so.2 (0x40064000)
libc.so.6 => /lib/libc.so.6 (0x40068000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
Nous constatons que /bin/bash est dépendant de /lib/libncurses.so.5, /lib/libdl.so.2, /lib/libc.so.6 et de /lib/ld-linux.so.2.
Nous allons les copier tout simplement dans l'arborescence chrootée :
# cd /home/
# cp /lib/libncurses.so.5 ./lib/
# cp /lib/libdl.so.2 ./lib/
# cp /lib/libc.so.6 ./lib/
# cp /lib/ld-linux.so.2 ./lib/
II/ Chroot du user
Copiez le programme /usr/sbin/chroot en le nommant par exemple /usr/sbin/chroot_suid, et attribuez lui des droits SUID :
# cp /usr/sbin/chroot /usr/sbin/chroot_suid
# chmod 4755 /usr/sbin/chroot_suid
Créer un fichier nommer chrootuser dans le repertoire /bin qui contiendra ceci :#!/bin/bash
exec -c /usr/sbin/chroot_suid /home/$USER /bin/bash
Mettre les droits d'éxéction sur ce fichier :
# chmod 755 /bin/chrootuser
Modifier le fichier /etc/shells pour rajouter la ligne /bin/chrootuser.
Enfin attribuer au user le shell chrootuser afin qu'il soit chrooté :
# usermod -d /bin/chrootuser *login*
Vous pouvez maintenant vous connectez.
Si vous remarquez bien, aucune commande n'est disponible (hormis commande interne bash). Si vous souhaitez rajouter ces programmes, vous faites comme pour "bash", en copiant les programmes et les librairies dépendantes.