Jailkit es un conjunto de utilidades que pueden limitar las cuentas de usuario a un árbol de directorios específico y a comandos específicos. Configurar una cárcel es mucho más fácil usando las utilidades Jailkit que hacerlo "a mano". Una cárcel es un árbol de directorios que crea dentro de su sistema de archivos; el usuario no puede ver ningún directorio o archivo que esté fuera del directorio de la cárcel. El usuario está encarcelado en ese directorio y sus subdirectorios.
Descargar e instalar:
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
Preparando la cárcel
Ahora es el momento de configurar el directorio de la cárcel. Los usuarios encarcelados verán este directorio como el directorio raíz del servidor. Elegí usar / home / cárcel:
mkdir /home/jail
chown root:root /home/jail
jk_init se puede usar para crear rápidamente una cárcel con varios archivos o directorios necesarios para una tarea o perfil específico (haga clic en él y lea todos los detalles).
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
Agregar un usuario
Agregue un nuevo usuario con un directorio de inicio y bash shell, y establezca la contraseña:
useradd -d /home/jailtest -m jailtest -s /bin/bash
passwd jailtest
Ahora es el momento de encarcelar a este usuario
usa el siguiente comando:
jk_jailuser -m -j /home/jail jailtest
Su /etc/passwd
debe contener algo como esto ahora:
jailtest:x:1001:1001::/home/jail/./home/jailtest:/usr/sbin/jk_chrootsh
Habilitar bash
Al usar jk_cp, las bibliotecas de bash se copian en la cárcel:
jk_cp -v -f /home/jail /bin/bash
Editar /home/jail/etc/passwd
reemplace esta línea:
jailtest:x:1001:1001::test:/usr/sbin/jk_lsh
con este:
jailtest:x:1001:1001::/home/jailtest:/bin/bash
Mantenimiento
Mediante el uso de jk_update
actualizaciones en el sistema real se puede actualizar en la cárcel.
Una prueba en seco mostrará lo que está sucediendo:
jk_update -j /home/jail -d
Sin el argumento -d se realiza la actualización real. Más operaciones de mantenimiento se pueden encontrar aquí.
(En caso de /home/jail/opt
que falte, créelo con mkdir -p /home/jail/opt/
Y jk_update -j /home/jail
vuelva a ejecutar )
Dar acceso a otros directorios
Puede montar carpetas especiales, que el usuario de la cárcel puede acceder ahora. P.ej:
mount --bind /media/$USER/Data/ /home/jail/home/jailtest/test/
Ayuda tomada
http://olivier.sessink.nl/jailkit/howtos_chroot_shell.html
http://olivier.sessink.nl/jailkit/index.html#intro (una muy buena ayuda)
Este también
Esto ha sido verificado y verificado, trabajando correctamente