Potrzebuję prostego i łatwego sposobu uwięzienia użytkowników w ich katalogach domowych w Oneiric. Czy masz prostą konfigurację do więzienia użytkowników, z pełną pomocą lub dobre linki internetowe?
Oferowałbym darmowy publiczny serwer online z 10 do 20 GB wolnego miejsca. Nie wiem ilu użytkowników. Chcę dać im SSH i SFTP, aby mogli połączyć się przez FileZilla.
Odpowiedzi:
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
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:
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).
Dodaj użytkownika
Dodaj nowego użytkownika z katalogiem domowym i powłoką bash i ustaw hasło:
Teraz czas uwięzić tego użytkownika
użyj następującego polecenia:
Twój
/etc/passwd
powinien teraz zawierać coś takiego:Włącz bash
Za pomocą jk_cp biblioteki bash są kopiowane do więzienia:
Edytować
/home/jail/etc/passwd
zamień ten wiersz:
z tym:
Konserwacja
Dzięki zastosowaniu
jk_update
aktualizacji w prawdziwym systemie można aktualizować w więzieniu.Dry-run pokaże, co się dzieje:
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 uruchomjk_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:
Podjęta pomoc
źródło
Nie możesz ograniczyć ich do / home, ponieważ potrzebują dostępu do plików binarnych systemu oraz plików bash i konfiguracyjnych w / etc
IMO najłatwiejszą metodą zabezpieczenia użytkowników jest użycie apparmor.
Tworzysz twardy link
Dodajesz jailbash do / etc / shells
Następnie przypisujesz jailbash do powłoki użytkowników, a następnie piszesz profil apparmor dla jailbash, umożliwiając minimalny dostęp.
Będziesz musiał sam napisać profil Apparmor, ale ja mam profil, od którego możesz zacząć
http://bodhizazen.com/aa-profiles/bodhizazen/ubuntu-10.04/usr.local.bin.jailbash
źródło
You can not confine them to /home as they need access to the system binaries and bash and configuration files in /etc
Nic nie stoi na przeszkodzie, abyś łączył / kopiował pliki, które uważasz za potrzebne.jailkit
narzędzia, o którym wspomina OP.Trudno zgadnąć, jaki cel możesz osiągnąć. Jeśli ma odmówić ssh / sftp podczas zapewniania dostępu do więzienia przez FTP ... łatwe:
Dodaj do / etc / shells nową powłokę:
Dodaj jedną linię:
Zapisać. Dla każdego użytkownika, któremu chcesz odmówić ssh / sftp, zmień jego powłokę:
Teraz userx nie może się zalogować przez ssh / sftp.
Zainstaluj vsftpd:
Edytuj plik konfiguracyjny:
I kilka zmian ....
Zapisać. Uruchom ponownie vsftpd:
źródło
Możesz sprawdzić
rbash
jako powłokę dla swoich użytkowników.Wyszukaj
RESTRICTED SHELL
sekcjęLub spójrz na tę stronę http://linux.die.net/man/1/bash
źródło
rbash
?