Jailkit è un insieme di utilità che possono limitare gli account utente a un albero di directory specifico e a comandi specifici. Configurare una prigione è molto più semplice usando le utility Jailkit che lo fanno "a mano". Una jail è un albero di directory creato all'interno del file system; l'utente non può vedere alcuna directory o file al di fuori della directory jail. L'utente viene imprigionato in quella directory e nelle sue sottodirectory.
Scarica e installa:
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
Configurare la prigione
Ora è il momento di impostare la directory jail. Gli utenti imprigionati vedranno questa directory come directory principale del server. Ho scelto di usare / home / jail:
mkdir /home/jail
chown root:root /home/jail
jk_init può essere utilizzato per creare rapidamente una jail con diversi file o directory necessari per un'attività o un profilo specifici (fare clic su di esso e leggere tutti i dettagli).
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
Aggiungi un utente
Aggiungi un nuovo utente con una home directory e una shell bash e imposta la password:
useradd -d /home/jailtest -m jailtest -s /bin/bash
passwd jailtest
Ora è il momento di imprigionare questo utente
utilizzare il seguente comando:
jk_jailuser -m -j /home/jail jailtest
Il tuo /etc/passwd
dovrebbe contenere qualcosa di simile ora:
jailtest:x:1001:1001::/home/jail/./home/jailtest:/usr/sbin/jk_chrootsh
Abilita bash
Usando jk_cp le librerie bash vengono copiate nella jail:
jk_cp -v -f /home/jail /bin/bash
modificare /home/jail/etc/passwd
sostituire questa linea:
jailtest:x:1001:1001::test:/usr/sbin/jk_lsh
con questo:
jailtest:x:1001:1001::/home/jailtest:/bin/bash
Manutenzione
Utilizzando gli jk_update
aggiornamenti sul sistema reale può essere aggiornato in prigione.
Un ciclo a secco mostrerà cosa sta succedendo:
jk_update -j /home/jail -d
Senza l'argomento -d viene eseguito il vero aggiornamento. Altre operazioni di manutenzione sono disponibili qui.
(Nel caso /home/jail/opt
manchi, crealo con mkdir -p /home/jail/opt/
Ed esegui di jk_update -j /home/jail
nuovo)
Dare accesso ad altre directory
È possibile montare cartelle speciali a cui l'utente della jail potrebbe accedere ora. Per esempio:
mount --bind /media/$USER/Data/ /home/jail/home/jailtest/test/
Aiuto preso
http://olivier.sessink.nl/jailkit/howtos_chroot_shell.html
http://olivier.sessink.nl/jailkit/index.html#intro (un ottimo aiuto)
Anche questo
Questo è stato verificato e verificato, funzionando correttamente