Jailkit est un ensemble d'utilitaires pouvant limiter les comptes d'utilisateurs à une arborescence de répertoires spécifique et à des commandes spécifiques. La mise en place d'une prison est beaucoup plus facile avec les utilitaires Jailkit qui le font "à la main". Une prison est une arborescence de répertoires que vous créez dans votre système de fichiers. l'utilisateur ne peut voir aucun répertoire ou fichier en dehors du répertoire jail. L'utilisateur est emprisonné dans ce répertoire et ses sous-répertoires.
Télécharger et installer:
http://olivier.sessink.nl/jailkit/index.html#download
VERSION=2.20 # from November 2018
cd /tmp
wget https://olivier.sessink.nl/jailkit/jailkit-$VERSION.tar.gz
tar -zxvf jailkit-$VERSION.tar.gz
cd jailkit-$VERSION/
./configure
make
su -
make install
Mise en place de la prison
Il est maintenant temps de configurer le répertoire de la prison. Les utilisateurs emprisonnés verront ce répertoire comme répertoire racine du serveur. J'ai choisi d'utiliser / home / jail:
mkdir /home/jail
chown root:root /home/jail
jk_init peut être utilisé pour créer rapidement une prison avec plusieurs fichiers ou répertoires nécessaires à une tâche ou à un profil spécifique (cliquez dessus et lisez tous les détails).
jk_init -v /home/jail basicshell
jk_init -v /home/jail netutils
jk_init -v /home/jail ssh
jk_init -v /home/jail jk_lsh
Ajouter un utilisateur
Ajoutez un nouvel utilisateur avec un répertoire personnel et un shell bash, puis définissez le mot de passe:
useradd -d /home/jailtest -m jailtest -s /bin/bash
passwd jailtest
Maintenant il est temps d'emprisonner cet utilisateur
utilisez la commande suivante:
jk_jailuser -m -j /home/jail jailtest
Votre /etc/passwd
devrait contenir quelque chose comme ça maintenant:
jailtest:x:1001:1001::/home/jail/./home/jailtest:/usr/sbin/jk_chrootsh
Activer bash
En utilisant jk_cp, les bibliothèques bash sont copiées dans la prison:
jk_cp -v -f /home/jail /bin/bash
modifier /home/jail/etc/passwd
remplace cette ligne:
jailtest:x:1001:1001::test:/usr/sbin/jk_lsh
avec ça:
jailtest:x:1001:1001::/home/jailtest:/bin/bash
Entretien
En utilisant des jk_update
mises à jour sur le système réel peut être mis à jour dans la prison.
Un essai à blanc montrera ce qui se passe:
jk_update -j /home/jail -d
Sans l'argument -d, la véritable mise à jour est effectuée. Vous trouverez plus d'opérations de maintenance ici.
(S'il /home/jail/opt
manque, créez le avec mkdir -p /home/jail/opt/
Et lancez à jk_update -j /home/jail
nouveau)
Donne accès à d'autres répertoires
Vous pouvez monter des dossiers spéciaux auxquels l'utilisateur de la prison peut accéder maintenant. Par exemple:
mount --bind /media/$USER/Data/ /home/jail/home/jailtest/test/
Aide prise
http://olivier.sessink.nl/jailkit/howtos_chroot_shell.html
http://olivier.sessink.nl/jailkit/index.html#intro (une très bonne aide)
Celui-ci aussi
Ceci a été vérifié et vérifié, fonctionne correctement