Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Mówiłem przecież że Celerony nie mają wsparcia dla wirtualizacji, wydajność będzie marna.
Ja chce udostępnić komuś konto a nie cały system... Po drugie będzie to ważyć sporo (w porównaniu do jail).
Ponawiam pytanie, może ktoś rzucić przykładową konfiguracje?
Offline
Przy LXC stawiasz normalnego chroota, możesz potem odpalić to jako LXC, albo jako normalny chroot,
Co do jailkita po instalacji w /etc/jailkit masz gotowe przykłady, a na stronie dość szczegółowy opis.
Sznurek: http://olivier.sessink.nl/jailkit/jk_init.8.html
Ostatnio edytowany przez Jacekalex (2011-04-02 20:54:55)
Offline
bryn1u napisał(-a):
debianus_userus napisał(-a):
LXC nie polecam jest dosc specyficzny.
O wiele bardziej dojrzalym projektem jest OpenVZ, ktory spisuje sie naprawde znakomicie i posiada o wiele wieksze mozliwosci konfiguracji niz lxc.
Jest to bardzo szybka wirtualizacja z racji tego ze jest ona na poziomie OSu minusem tego jest to, ze kernel takiej wirtualnej maszyny jest wspolny z kernelem hosta.
Bardzo przyjemnie sie backupuje takie srodowiska w trybie live w polaczeniu z LVM.A mozna postawic kernel OpenVZ+Grsec ? A nastepnie skoro openvz dzieli jajko od mamy to czy ustawienia grsec tez beda takie same jak u mamy ? (o ile jest mozliwe polaczenie openvz+grsec) I jeszcze jak dzialaja ipv6 w przypadku openvz. Np w jailu pod freebsd czasami z v6 sa problemy.
Z IPv6 nie ma problemow. Co do nakladania latki grsec na kernel-openvz to nie mam pojecia jak to by sie sprawowalo.
Offline
# sudo jk_init -j jail section ERROR: cannot lstat() /var/www/jail /var/www /var WARNING: section section does not exist in /etc/jailkit/jk_init.ini Traceback (most recent call last): File "/usr/sbin/jk_init", line 240, in <module> main() File "/usr/sbin/jk_init", line 237, in main activateConfig(config, jail, args) File "/usr/sbin/jk_init", line 160, in activateConfig jk_lib.gen_library_cache(jail) File "/usr/share/jailkit/jk_lib.py", line 117, in gen_library_cache create_parent_path(jail,'/etc', 0, copy_permissions=0, allow_suid=0, copy_ownership=0) File "/usr/share/jailkit/jk_lib.py", line 445, in create_parent_path os.mkdir(jailpath, 0755) OSError: [Errno 2] No such file or directory: 'jail/etc'
Offline
Tutaj raczej nie mogę pomóc, u mnie ruszyło, a komunikat dotyczy błędu pythona.
Test u mnie:
root # jk_init -j /jail sftp Creating symlink /jail/lib/libnss_dns.so.2 to libnss_dns-2.11.3.so Copying /lib/libnss_dns-2.11.3.so to /jail/lib/libnss_dns-2.11.3.so Creating symlink /jail/lib/libsafe.so.2 to libsafe.so.2.0.16 Copying /lib/libsafe.so.2.0.16 to /jail/lib/libsafe.so.2.0.16 Creating symlink /jail/lib/libresolv.so.2 to libresolv-2.11.3.so Copying /lib/libresolv-2.11.3.so to /jail/lib/libresolv-2.11.3.so Creating symlink /jail/lib/libc.so.6 to libc-2.11.3.so Copying /lib/libc-2.11.3.so to /jail/lib/libc-2.11.3.so Creating symlink /jail/lib/libdl.so.2 to libdl-2.11.3.so Copying /lib/libdl-2.11.3.so to /jail/lib/libdl-2.11.3.so Creating symlink /jail/lib/ld-linux.so.2 to ld-2.11.3.so Copying /lib/ld-2.11.3.so to /jail/lib/ld-2.11.3.so Copying /etc/resolv.conf to /jail/etc/resolv.conf Copying /etc/host.conf to /jail/etc/host.conf Copying /etc/hosts to /jail/etc/hosts Copying /etc/protocols to /jail/etc/protocols Copying /sbin/ldconfig to /jail/sbin/ldconfig ldd returns non existing library dynamicznym for /sbin/ldconfig Copying /etc/ld.so.conf to /jail/etc/ld.so.conf ldd returns non existing library dynamicznym for /etc/ld.so.conf Creating symlink /jail/lib/libnsl.so.1 to libnsl-2.11.3.so Copying /lib/libnsl-2.11.3.so to /jail/lib/libnsl-2.11.3.so Creating symlink /jail/lib/libnss_mysql.so.2 to libnss_mysql.so.2.0.0 Copying /lib/libnss_mysql.so.2.0.0 to /jail/lib/libnss_mysql.so.2.0.0 Creating symlink /jail/usr/lib/mysql/libmysqlclient.so.16 to libmysqlclient.so.16.0.0 Copying /usr/lib/mysql/libmysqlclient.so.16.0.0 to /jail/usr/lib/mysql/libmysqlclient.so.16.0.0 Creating symlink /jail/lib/libz.so.1 to libz.so.1.2.5 Copying /lib/libz.so.1.2.5 to /jail/lib/libz.so.1.2.5 Creating symlink /jail/lib/libm.so.6 to libm-2.11.3.so Copying /lib/libm-2.11.3.so to /jail/lib/libm-2.11.3.so Copying /usr/lib/libssl.so.1.0.0 to /jail/usr/lib/libssl.so.1.0.0 Copying /usr/lib/libcrypto.so.1.0.0 to /jail/usr/lib/libcrypto.so.1.0.0 Creating symlink /jail/lib/libnss_nis.so.2 to libnss_nis-2.11.3.so Copying /lib/libnss_nis-2.11.3.so to /jail/lib/libnss_nis-2.11.3.so Creating symlink /jail/lib/libnss_files.so.2 to libnss_files-2.11.3.so Copying /lib/libnss_files-2.11.3.so to /jail/lib/libnss_files-2.11.3.so Creating symlink /jail/lib/libnss_nisplus.so.2 to libnss_nisplus-2.11.3.so Copying /lib/libnss_nisplus-2.11.3.so to /jail/lib/libnss_nisplus-2.11.3.so Creating symlink /jail/lib/libnss_hesiod.so.2 to libnss_hesiod-2.11.3.so Copying /lib/libnss_hesiod-2.11.3.so to /jail/lib/libnss_hesiod-2.11.3.so Creating symlink /jail/lib/libnss_compat.so.2 to libnss_compat-2.11.3.so Copying /lib/libnss_compat-2.11.3.so to /jail/lib/libnss_compat-2.11.3.so Creating symlink /jail/lib/libnss_ldap.so.2 to libnss_ldap-2.11.2.so Copying /lib/libnss_ldap-2.11.2.so to /jail/lib/libnss_ldap-2.11.2.so Creating symlink /jail/usr/lib/libldap-2.4.so.2 to libldap-2.4.so.2.6.0 Copying /usr/lib/libldap-2.4.so.2.6.0 to /jail/usr/lib/libldap-2.4.so.2.6.0 Creating symlink /jail/usr/lib/liblber-2.4.so.2 to liblber-2.4.so.2.6.0 Copying /usr/lib/liblber-2.4.so.2.6.0 to /jail/usr/lib/liblber-2.4.so.2.6.0 Creating symlink /jail/usr/lib/libgssapi_krb5.so.2 to libgssapi_krb5.so.2.2 Copying /usr/lib/libgssapi_krb5.so.2.2 to /jail/usr/lib/libgssapi_krb5.so.2.2 Creating symlink /jail/usr/lib/libsasl2.so.2 to libsasl2.so.2.0.23 Copying /usr/lib/libsasl2.so.2.0.23 to /jail/usr/lib/libsasl2.so.2.0.23 Creating symlink /jail/usr/lib/libgnutls.so.26 to libgnutls.so.26.16.14 Copying /usr/lib/libgnutls.so.26.16.14 to /jail/usr/lib/libgnutls.so.26.16.14 Creating symlink /jail/usr/lib/libkrb5.so.3 to libkrb5.so.3.3 Copying /usr/lib/libkrb5.so.3.3 to /jail/usr/lib/libkrb5.so.3.3 Creating symlink /jail/usr/lib/libk5crypto.so.3 to libk5crypto.so.3.1 Copying /usr/lib/libk5crypto.so.3.1 to /jail/usr/lib/libk5crypto.so.3.1 Creating symlink /jail/lib/libcom_err.so.2 to libcom_err.so.2.1 Copying /lib/libcom_err.so.2.1 to /jail/lib/libcom_err.so.2.1 Creating symlink /jail/usr/lib/libkrb5support.so.0 to libkrb5support.so.0.1 Copying /usr/lib/libkrb5support.so.0.1 to /jail/usr/lib/libkrb5support.so.0.1 Creating symlink /jail/lib/libkeyutils.so.1 to libkeyutils.so.1.3 Copying /lib/libkeyutils.so.1.3 to /jail/lib/libkeyutils.so.1.3 Creating symlink /jail/lib/libcrypt.so.1 to libcrypt-2.11.3.so Copying /lib/libcrypt-2.11.3.so to /jail/lib/libcrypt-2.11.3.so Creating symlink /jail/usr/lib/libtasn1.so.3 to libtasn1.so.3.1.11 Copying /usr/lib/libtasn1.so.3.1.11 to /jail/usr/lib/libtasn1.so.3.1.11 Creating symlink /jail/usr/lib/libgcrypt.so.11 to libgcrypt.so.11.7.0 Copying /usr/lib/libgcrypt.so.11.7.0 to /jail/usr/lib/libgcrypt.so.11.7.0 Creating symlink /jail/lib/libpthread.so.0 to libpthread-2.11.3.so Copying /lib/libpthread-2.11.3.so to /jail/lib/libpthread-2.11.3.so Creating symlink /jail/usr/lib/libgpg-error.so.0 to libgpg-error.so.0.8.0 Copying /usr/lib/libgpg-error.so.0.8.0 to /jail/usr/lib/libgpg-error.so.0.8.0 Copying /etc/nsswitch.conf to /jail/etc/nsswitch.conf Copying /usr/lib/misc/sftp-server to /jail/usr/lib/misc/sftp-server root # ls -l /jail razem 20 drwxr-xr-x 2 root root 4096 03-30 09:46 dev drwxr-xr-x 2 root root 4096 03-30 09:46 etc drwxr-xr-x 2 root root 4096 03-30 09:46 lib drwxr-xr-x 2 root root 4096 03-30 09:46 sbin drwxr-xr-x 3 root root 4096 03-30 09:46 usr root #
Dodałem do pliku konfiguracyjnego jk_init.ini:
[lighttpd] comment = the lighttpd webserver, very basic setup, probably too limited for you executables = /usr/sbin/lighttpd users = root, lighttpd groups = root, lighttpd includesections = netbasics, uidbasics
jk_init -j /jail lighttpd Copying /usr/sbin/lighttpd to /jail/usr/sbin/lighttpd Creating symlink /jail/lib/libpcre.so.0 to libpcre.so.0.0.1 Copying /lib/libpcre.so.0.0.1 to /jail/lib/libpcre.so.0.0.1 Creating symlink /jail/lib/libattr.so.1 to libattr.so.1.1.0 Copying /lib/libattr.so.1.1.0 to /jail/lib/libattr.so.1.1.0 Creating symlink /jail/usr/lib/libfam.so.0 to libfam.so.0.0.0 Copying /usr/lib/libfam.so.0.0.0 to /jail/usr/lib/libfam.so.0.0.0
Nie skopiował plików konfiguracyjnych lighttpd, to trzeba zrobić ręcznie.
W pozostałych konfigach jailkita trzeba skonfigurować ścieżki do jaili takie, jak faktycznie zrobione.
Co do błędu, spróbuj inną wersję, albo napisz wreszcie jak go instalowałeś, którą wersję, jaka wersja pythona, i na jakim systemie go instalowałeś.
Bo wróżka wyjechała na wyspy, zabrała ze sobą szklaną kulę, a sam kawałek błędu bez informacji o wersjach softu, który się sypie nie mają żadnej wartości.
Ponadto nie przez sudo, ale radziłbym odpalać program z prawdziwego konta root.
U mnie poszło na Gentoo:
jailkit-2.12 dev-lang/python-2.6.6-r2 (ncurses readline sqlite ssl threads wide-unicode xml)
To by było na tyle
;-)
Ostatnio edytowany przez Jacekalex (2011-03-30 10:38:34)
Offline
@Jacekalex
Ciekawie prawisz. Moze bys napisal jakies HOWTO o konfiguracji grsec, apparmor, selinux i cos o chrootach. Bo niby wszystko jest na necie, ale nic nie ma. Fajnie by bylo wszystko w jednym miejscu ulokowac wraz z opisem.
Pozdrawiam.
Ostatnio edytowany przez bryn1u (2011-03-30 13:47:03)
Offline
Ja wszystkie informacje mam z netu, na którym podobno nic nie ma ;)
Czyżbyśmy używali innych alfabetów?
Czy może mamy innych okulistów?
A może mam jakiś inny internet?
Ostatnio edytowany przez Jacekalex (2011-03-30 20:22:29)
Offline
No mam wadę wzroku minus dwa i pół...
Przejrzałem okiem te jail ale tam jest opcja która pozwala na zrobienie takiego shella praktycznie krok po kroku.
Chciałem zamknąć w klatce ssh i siedzi tam sobie ale nie mogę jego uruchomić, (dali tylko binarkę w /usr/bin/ssh).
Czy by działała konfiguracja nginxa tzw:
[nginx] executables = /usr/sbin/nginx users = root, ? groups = root, ? includesections = ?
Gdzie "?" to znaczy się nie wiem, czy coś jeszcze dopisać ;)
Tak w ogóle to szacunek za wcześniejsze wypowiedzi, nie znany człowiek, a taki pomocny!
Ludzie są mało pomocni i piszą było, albo google.pl. Może i tak ale nie każdy jest specem od
angielskiego, ja go znam tak "po łebkach" ;)
Offline
W konfigu
/etc/jailkit/jk_init.ini
dodajesz:
[nginx] comment = the nginx webserver, very basic setup, probably too limited for you executables = /usr/sbin/nginx users = root, nginx groups = root, nginx includesections = netbasics, uidbasics
root # jk_init -j /jail nginx Copying /usr/sbin/nginx to /jail/usr/sbin/nginx Creating symlink /jail/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/libstdc++.so.6 to libstdc++.so.6.0.14 Copying /usr/lib/gcc/i686-pc-linux-gnu/4.5.1/libstdc++.so.6.0.14 to /jail/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/libstdc++.so.6.0.14 Creating symlink /jail/usr/lib/libxml2.so.2 to libxml2.so.2.7.8 Copying /usr/lib/libxml2.so.2.7.8 to /jail/usr/lib/libxml2.so.2.7.8 Creating symlink /jail/usr/lib/libxslt.so.1 to libxslt.so.1.1.26 Copying /usr/lib/libxslt.so.1.1.26 to /jail/usr/lib/libxslt.so.1.1.26 Creating symlink /jail/usr/lib/libexslt.so.0 to libexslt.so.0.8.15 Copying /usr/lib/libexslt.so.0.8.15 to /jail/usr/lib/libexslt.so.0.8.15 Creating symlink /jail/usr/lib/libgd.so.2 to libgd.so.2.0.0 Copying /usr/lib/libgd.so.2.0.0 to /jail/usr/lib/libgd.so.2.0.0 Creating symlink /jail/usr/lib/libGeoIP.so.1 to libGeoIP.so.1.4.6 Copying /usr/lib/libGeoIP.so.1.4.6 to /jail/usr/lib/libGeoIP.so.1.4.6 Creating symlink /jail/usr/lib/libperl.so.5.12 to libperl.so.5.12.2 Copying /usr/lib/libperl.so.5.12.2 to /jail/usr/lib/libperl.so.5.12.2 Copying /usr/lib/gcc/i686-pc-linux-gnu/4.5.1/libgcc_s.so.1 to /jail/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/libgcc_s.so.1 Creating symlink /jail/usr/lib/libjpeg.so.8 to libjpeg.so.8.3.0 Copying /usr/lib/libjpeg.so.8.3.0 to /jail/usr/lib/libjpeg.so.8.3.0 Creating symlink /jail/usr/lib/libfontconfig.so.1 to libfontconfig.so.1.4.4 Copying /usr/lib/libfontconfig.so.1.4.4 to /jail/usr/lib/libfontconfig.so.1.4.4 Creating symlink /jail/usr/lib/libfreetype.so.6 to libfreetype.so.6.6.2 Copying /usr/lib/libfreetype.so.6.6.2 to /jail/usr/lib/libfreetype.so.6.6.2 Creating symlink /jail/usr/lib/libpng14.so.14 to libpng14.so.14.5.0 Copying /usr/lib/libpng14.so.14.5.0 to /jail/usr/lib/libpng14.so.14.5.0 Creating symlink /jail/usr/lib/libexpat.so.1 to libexpat.so.1.5.2 Copying /usr/lib/libexpat.so.1.5.2 to /jail/usr/lib/libexpat.so.1.5.2
Ja po prostu w konfigu znalazłem przykład do Apacha, i zmieniłem nazwę,
ścieżkę do serwera, usera i grupę.
Sprawdzanie usera i grupy:
id nginx
U mnie:
id nginx uid=113(nginx) gid=994(nginx) grupy=994(nginx)
SOA#1
To by było na tyle
;-)
Ostatnio edytowany przez Jacekalex (2011-03-30 23:09:16)
Offline
Ok, ok nie musisz edytować, dam radę ;)
Kurde, ale złapałem nerwa chciałem edytować konfigi nginxa a tu coś nie działa...
W katalogu w którym mam nginxa zrobiłem plik "nginx.conf" i dupa...
A co do tego shella w jail, jak go zrobić? Manual, to jakieś nie porozumienie...
Offline
Np: bash
[basicshell] comment = bash based shell with several basic utilities executables = /bin/sh, /bin/bash, /bin/ls, /bin/cat, /bin/chmod, /bin/mkdir, /bin/cp, /bin/cpio, /bin/date, /bin/dd, /bin/echo, /bin/egrep, /bin/false, /bin/fgrep, /bin/grep, /bin/gunzip, /bin/gzip, /bin/ln, /bin/ls, /bin/mkdir, /bin/mktemp, /bin/more, /bin/mv, /bin/pwd, /bin/rm, /bin/rmdir, /bin/sed, /bin/sh, /bin/sleep, /bin/sync, /bin/tar, /bin/touch, /bin/true, /bin/uncompress, /bin/zcat regularfiles = /etc/motd, /etc/issue, /etc/bash.bashrc, /etc/bashrc, /etc/profile #directories = users = root groups = root includesections = uidbasics
Ten przykład jest w konfigu.
Zamiast basha może być zsh, csh lub dash.
Co do nginxa, to musisz wszystkie foldery i pliki skopiować, a potem test konfiguracji, żeby zobaczyć, czy jest ok.
Poza tym trochę samodzielności proszę, bo żeby nie przejrzeć pliku konfiguracyjnego /etc/jailkit/jk_init.ini.* - to już przesada.
Tylko nie wszystkie polecenia, jakie są w przykładzie, są potrzebne w chroocie/jailu, - tam się daje tylko niezbędne.
To by było na tyle
;-)
Ostatnio edytowany przez Jacekalex (2011-04-01 01:39:57)
Offline
Tylko czekałem aż powiesz że mam przejrzeć konfig, byłem tam wcześniej, nawet jeszcze jest ślad w .bash_history...
Przejrzałem go tam na oko. Na stronie piszą żę http://olivier.sessink.nl/jailkit/jk_chrootsh.8.html
Można tam bawić się z grupami, itd. Ja chyba pójdę na "piechotę" i postawie basha, potem resztę.
Nginx-a uruchamia się przez init.d w jail tego nie ma i nie mogę zrobić /etc/init.d/nginx reload.
Ostatnio edytowany przez womperm (2011-04-01 01:56:19)
Offline
Niekoniecznie przez /etc/init.d, proces nginxa na liście widnieje, jako:
chroot /jail /usr/sbin/nginx -c /etc/nginx/nginx.conf
I tak można go odpalić.
W tym wątku przywołałeś wcześniej link na ręczne stawianie chroota dla nginxa - tam były podobne przykłady.
A poza tym w jailkicie jest do tego gotowy mechanizm.
Sznurek: http://olivier.sessink.nl/jailkit/jk_chrootlaunch.8.html
np:
jk_chrootlaunch -j /home/webjail -x /home/webjail/usr/sbin/apachectl -- start
Także jak zwykle, masz kilka możliwości, i jak zwykle trzeba trochę pomyśleć, bo mieszając różne sposoby bez pomyślunku można zrobić tylko bajzel, zamiast jaila.
To by było na tyle
;-)
Ostatnio edytowany przez Jacekalex (2011-04-01 06:54:15)
Offline
Hmm, czy opłaca się zamykać w klatce demona no-ip?
Kiedyś czytałem że były ataki na serwery dynamic dns.
Offline
Dorzucić go do chroota, no problem, chociaż jeśli nie ma otwartego portu, jest klientem no-ip, to firewall powinien wystarczyć.
Przecież to nie jest serwer tylko klient dynamic dns.
A jeszcze nie wymyślono w necie takiego serwera, do którego ktoś się nie próbował, lub nie spróbuje się dobrać, więc no-ip czy dyndns nie jest tu wyjątkiem.,
Ostatnio edytowany przez Jacekalex (2011-04-07 10:44:46)
Offline
Ok, zamknięte ;)
Muszę jeszcze zrobić jakiś skrypt w bashu który będzie "obcinał" łącze dla jednej maszyny.
Gdzieś o coś takiego pytałem ale już do tego nie mogę się odkopać.
Offline
womperm, może trickle?
Offline
tak, ale możesz kilka na raz odpalić
Offline
Wiem o tym ale na shellu to lekkie nieporozumienie. Jest może jakieś narzędzie które obetnie łącze dla całego systemu?
Offline
iptables?
Offline
Tc i htb, opis masz tutaj: http://przybytek.net/download/2.4routing.pdf
Ewentualnie jakaś nakladka w stylu niceshaper.
Na Dugu w FAQ jest tutek Biexi, opisujący dość szczegółowo zastosowanie.
Ostatnio edytowany przez Jacekalex (2011-04-07 10:42:14)
Offline
HTB nie potrzebny mi jest bo będę miał oddzielny osprzęt do dzielenia łącza.
Czy w jail trzeba tworzyć konto root a potem usera, nie można od razu usera?
Jak umożliwić userowi logowanie się poprzez SSH?
Próbowałem dodać SSH do stworzonego chroota, niestety to tylko klient ssh a nie demon.
Offline
O tym, czy w chroocie ma być konto root, czy nie, decydują wymagania programu, np Apache i Nginx nie wystartują bez roota, serwer ftp też.
Ale jak wywalisz do chroota np firefoxa, javę i flasha, to w takim chroocie lepiej, żeby roota wcale nie było.
Co do serwera ssh, to ile serwerow ssh zamierzasz w kompie odpalać?
Zainteresuj się tą opcją:
grep -i chroot /etc/ssh/sshd_config
#ChrootDirectory ~/
To by było na tyle
;-)
Ostatnio edytowany przez Jacekalex (2011-04-07 10:42:42)
Offline