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
Revision as of 22:31, 3 April 2017 by Gavin (talk | contribs) (restored from archive.org)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

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