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

From ZNC
Jump to navigation Jump to search

Dieser Artikel in Englisch


This message box is using an invalid "type=serious" parameter and needs fixing.

[[Category:Wikipedia message box parameter needs fixing|Template:Main otherChroot/de]]


Dieser Artikel beschreibt, wie man ZNC in einer chroot-Umgebung auf Debian einrichtet.


Kompiliere und installiere ZNC normal[edit]

Details: Installation

Füge nun einen neuen Benutzer für ZNC ins System ein[edit]

Beispiel: bouncer

adduser bouncer

Logge dich nun als Benutzer "bouncer" ein und konfiguriere ZNC normal über diesen Benutzer[edit]

Details: Konfiguration

Wechsel nun zurück zu Benutzer root und erstelle das Verzeichnis für die chroot Umgebung[edit]

Beispiel: /var/chroot/

mkdir /var/chroot

Erstelle nun folgende Unterverzeichnisse[edit]

/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[edit]

chown bouncer:bouncer bouncer

Nun musst du folgende Befehle im neu erstellten dev-Verzeichnis aufrufen (vorher wechseln)[edit]

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[edit]

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[edit]

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[edit]

/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[edit]

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[edit]

cp -r /home/bouncer/.znc /var/chroot/home/bouncer/

ZNC starten[edit]

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