To create new wiki account, please join us on #znc at Libera.Chat and ask admins to create a wiki account for you. You can say thanks to spambots for this inconvenience.
Chroot/de
< Chroot
Dieses Tutorial und das Script sind für erfahrene Benutzer bestimmt, die wissen, was chroot macht! |
This message box is using an invalid "type=serious" parameter and needs fixing.
[[Category:Wikipedia message box parameter needs fixing|Template:Main otherChroot/de]]
Alternativ gibt es Testweise dieses Script, welches eine nightly Version von ZNC herunterladen und dir bei der Einrichtung der chroot-Umgebung helfen wird. |
- Dieser Artikel beschreibt, wie man ZNC in einer chroot-Umgebung auf Debian einrichtet.
Kompiliere und installiere ZNC normal
Details: Installation
Füge nun einen neuen Benutzer für ZNC ins System ein
Beispiel: bouncer
adduser bouncer
Logge dich nun als Benutzer "bouncer" ein und konfiguriere ZNC normal über diesen Benutzer
Details: Konfiguration
Wechsel nun zurück zu Benutzer root und erstelle das Verzeichnis für die chroot Umgebung
Beispiel: /var/chroot/
mkdir /var/chroot
Erstelle nun folgende Unterverzeichnisse
/var/chroot/ +
etc/ dev/ usr/ usr/lib/ usr/local/ usr/local/share usr/local/bin usr/local/lib lib/ home/ home/bouncer
Wechsel nun in das neu erstellte home-Verzeichnis und führe folgendes aus
chown bouncer:bouncer bouncer
Nun musst du folgende Befehle im neu erstellten dev-Verzeichnis aufrufen (vorher wechseln)
mknod -m 644 random c 1 8 mknod -m 644 urandom c 1 9 mknod -m 666 null c 1 3
Führe nun ldd /usr/bin/znc aus, um eine Liste der benötigten Bibliotheken zu bekommen
Beispiel:
ldd /usr/bin/znc
linux-gate.so.1 = () libdl.so.2 = /lib/tls/i686/cmov/libdl.so.2 () libssl.so.0.9.8 = /usr/lib/i686/cmov/libssl.so.0.9.8 () libcrypto.so.0.9.8 = /usr/lib/i686/cmov/libcrypto.so.0.9.8 () libstdc++.so.6 = /usr/lib/libstdc++.so.6 () libm.so.6 = /lib/tls/i686/cmov/libm.so.6 () libgcc_s.so.1 = /lib/libgcc_s.so.1 () libc.so.6 = /lib/tls/i686/cmov/libc.so.6 () /lib/ld-linux.so.2 () libz.so.1 = /usr/lib/libz.so.1 ()
Kopiere nun die benötigten Dateien
cp /lib/mylibname /var/chroot/lib/ cp /usr/lib/mylibname /var/chroot/usr/lib/
Stelle bitte sicher, dass du keine Datei vergessen hast!
Du musst nun die folgenden Dateien kopieren, damit die Namensauflösung funktioniert
/etc/hosts /etc/resolv.conf /lib/libnss_dns.so.2 (Könnte auch woanders liegen, frag am besten locate) /lib/libresolv.so.2 (Könnte auch woanders liegen, frag am besten locate)
Kopiere die ZNC Daten
cp /usr/local/bin/znc* /var/chroot/usr/local/bin/znc cp -r /usr/local/share/znc /var/chroot/usr/local/share/ cp -r /usr/local/lib/znc /var/chroot/usr/local/lib/
Wechsel zum Benutzer "bouncer" und kopiere die Konfiguration
cp -r /home/bouncer/.znc /var/chroot/home/bouncer/
ZNC starten
Gehe wieder als root Benutzer vor. Du kannst nun ZNC starten:
start-stop-daemon --chroot /var/chroot/ --chuid bouncer:bouncer --start --exec /usr/local/bin/znc
... und stoppen mit:
start-stop-daemon --chroot /var/chroot/ --chuid bouncer:bouncer --stop --exec /usr/local/bin/znc