Jailkit to zestaw narzędzi, które mogą ograniczyć konta użytkowników do określonego drzewa katalogów i określonych poleceń. Utworzenie więzienia jest o wiele łatwiejsze dzięki narzędziom Jailkit, które robią to „ręcznie”. Więzienie to drzewo katalogów tworzone w systemie plików; użytkownik nie widzi żadnych katalogów ani plików spoza katalogu więzienia. Użytkownik jest więziony w tym katalogu i podkatalogach.
Pobierz i zainstaluj:
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
Utworzenie więzienia
Teraz nadszedł czas, aby skonfigurować katalog więzienia. Więzieni użytkownicy zobaczą ten katalog jako katalog główny serwera. Wybrałem / home / więzienie:
mkdir /home/jail
chown root:root /home/jail
jk_init może być użyty do szybkiego utworzenia więzienia z kilkoma plikami lub katalogami potrzebnymi do konkretnego zadania lub profilu (kliknij na niego i przeczytaj wszystkie szczegóły).
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
Dodaj użytkownika
Dodaj nowego użytkownika z katalogiem domowym i powłoką bash i ustaw hasło:
useradd -d /home/jailtest -m jailtest -s /bin/bash
passwd jailtest
Teraz czas uwięzić tego użytkownika
użyj następującego polecenia:
jk_jailuser -m -j /home/jail jailtest
Twój /etc/passwd
powinien teraz zawierać coś takiego:
jailtest:x:1001:1001::/home/jail/./home/jailtest:/usr/sbin/jk_chrootsh
Włącz bash
Za pomocą jk_cp biblioteki bash są kopiowane do więzienia:
jk_cp -v -f /home/jail /bin/bash
Edytować /home/jail/etc/passwd
zamień ten wiersz:
jailtest:x:1001:1001::test:/usr/sbin/jk_lsh
z tym:
jailtest:x:1001:1001::/home/jailtest:/bin/bash
Konserwacja
Dzięki zastosowaniu jk_update
aktualizacji w prawdziwym systemie można aktualizować w więzieniu.
Dry-run pokaże, co się dzieje:
jk_update -j /home/jail -d
Bez argumentu -d wykonywana jest prawdziwa aktualizacja. Więcej operacji konserwacyjnych można znaleźć tutaj.
(W przypadku /home/jail/opt
braku, utwórz go za pomocą mkdir -p /home/jail/opt/
i uruchom jk_update -j /home/jail
ponownie)
Daj dostęp do innych katalogów
Możesz montować specjalne foldery, do których użytkownik więzienia może uzyskać dostęp teraz. Na przykład:
mount --bind /media/$USER/Data/ /home/jail/home/jailtest/test/
Podjęta pomoc
http://olivier.sessink.nl/jailkit/howtos_chroot_shell.html
http://olivier.sessink.nl/jailkit/index.html#intro (bardzo dobra pomoc)
Ten też
Zostało to sprawdzone i zweryfikowane, działa poprawnie