O Jailkit é um conjunto de utilitários que podem limitar as contas de usuário a uma árvore de diretórios específica e a comandos específicos. Configurar uma prisão é muito mais fácil usando os utilitários do Jailkit, fazendo isso 'manualmente'. Uma prisão é uma árvore de diretórios que você cria no seu sistema de arquivos; o usuário não pode ver nenhum diretório ou arquivo que esteja fora do diretório da prisão. O usuário está preso nesse diretório e subdiretórios.
Baixe e instale:
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
Configurando a prisão
Agora é hora de configurar o diretório da prisão. Usuários encarcerados verão esse diretório como o diretório raiz do servidor. Eu escolhi usar / home / jail:
mkdir /home/jail
chown root:root /home/jail
O jk_init pode ser usado para criar rapidamente uma prisão com vários arquivos ou diretórios necessários para uma tarefa ou perfil específico (clique nele e leia todos os detalhes).
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
Adicione um usuário
Adicione um novo usuário com um diretório inicial e um shell bash e defina a senha:
useradd -d /home/jailtest -m jailtest -s /bin/bash
passwd jailtest
Agora é hora de prender esse usuário
use o seguinte comando:
jk_jailuser -m -j /home/jail jailtest
Você /etc/passwd
deve conter algo assim agora:
jailtest:x:1001:1001::/home/jail/./home/jailtest:/usr/sbin/jk_chrootsh
Ativar bash
Usando jk_cp, as bibliotecas bash são copiadas para a prisão:
jk_cp -v -f /home/jail /bin/bash
Editar /home/jail/etc/passwd
substitua esta linha:
jailtest:x:1001:1001::test:/usr/sbin/jk_lsh
com isso:
jailtest:x:1001:1001::/home/jailtest:/bin/bash
Manutenção
Ao usar jk_update
atualizações no sistema real pode ser atualizado na prisão.
Um teste a seco mostrará o que está acontecendo:
jk_update -j /home/jail -d
Sem o argumento -d, a atualização real é realizada. Mais operações de manutenção podem ser encontradas aqui.
(Caso /home/jail/opt
esteja faltando, crie-o com mkdir -p /home/jail/opt/
E execute jk_update -j /home/jail
novamente)
Conceder acesso a outros diretórios
Você pode montar pastas especiais, que o usuário da cadeia pode acessar agora. Por exemplo:
mount --bind /media/$USER/Data/ /home/jail/home/jailtest/test/
Ajuda Tomada
http://olivier.sessink.nl/jailkit/howtos_chroot_shell.html
http://olivier.sessink.nl/jailkit/index.html#intro (uma ajuda muito boa)
Este também
Isso foi verificado e verificado, funcionando corretamente