Téléchargez et installez le
packet debian que j'ai crée à la main : dpkg -i
jailkit-1.3_1.3-1_i386.deb
Ou bien allez télécharger le
programme et compilez le : ./configure && make && make
install
Utilisation de jailkit http://olivier.sessink.nl/jailkit/index.html
Créer un repertoire ayant les droits root que l'on va ensuite isoler du reste du systeme (chroot jail) :
mkdir /home/cvsjail chown root:root /home/cvsjail
Initialiser le repertoire avec la commande jk_init. Elle va créer un systeme de base avec tout ce qu'il faut pour executer la commande cvs dans ce repertoire :
jk_init -v /home/cvsjail cvs
Ensuite il faut créer un répertoire temporaire pour que cvs puisse fonctionner :
mkdir /home/cvsjail/tmp/ chown root:cvs /home/cvsjail/tmp/ chmod g+w /home/cvsjail/tmp/
Maintenant que le repertoire est pret on va y placer un utilisateur. Quand
il se connectera il ne pourra acceder qu'au repertoire
/home/cvsjail et a ses sous répertoires, il sera en faite en
"prison" dans ce repertoire (jail).
Pour cela éditez le fichier /etc/passwd et modifier le homedir et le shell de l'utilisateur que vous souhaitez mettre en prison :
robert:x:1003:100::/home/cvsjail/./home/robert:/usr/sbin/jk_chrootsh
Ceci aura pour effet de mettre en prison notre utilisateur dans le
repertoire /home/cvsjail/. Il nous reste a le priver de toutes
les commandes à part cvs (on va egalement lui enlever le droit de lancer un
shell), pour cela on va installer un shell spécial nommé jk_lsh
:
jk_init -v /home/cvsjail jk_lsh
Ensuite on édite le fichier /home/cvsjail/etc/passwd et on
modifie son shell :
robert:x:1003:100::/home/robert:/usr/sbin/jk_lsh
Pour restreindre l'acces a la commande cvs, éditez le fichier
/home/cvsjail/etc/jailkit/jk_lsh.ini et ajoutez la section
suivante :
[group cvs] paths= /usr/bin executables= /usr/bin/cvs
Pour prendre en compte tout ca il faut maintenant relancer le demon jk_socketd :
killall jk_socketd ; jk_socketd
Maintenant vous pouvez soit créer un nouveau repository, soit copier votre
ancien dans /home/cvsjail/ et conserver la meme arboressance
qu'avant pour que vos utilisateurs ne voient pas de differences.
Pour ajouter un utilisateur robert :
adduser --ingroup imonde --home /home/cvsjail/./home/robert/ --shell /usr/sbin/jk_chrootsh
Puis éditez le fichier /home/cvsjail/etc/passwd comme
expliqué plus haut.
grep jk /var/log/daemon.log grep jk /var/log/auth.log
Version anglaise : http://olivier.sessink.nl/jailkit/howtos_cvs_only.html