[ FreeBSD ]
by Beat
@ 30.04.2010 19:50 UTC
Mit Hilfe der sysctl-Variable security.jail.jailed kann herausgefunden werden ob man sich in einer FreeBSD-Jail befindet. Ist die Variable auf 0 befindet man sich auf dem Hostsystem, ist die Variable auf 1 befindet man sich innerhalb einer Jail:
# sysctl security.jail.jailed
security.jail.jailed: 0
# jls
JID IP Address Hostname Path
1 192.168.1.2 test1.chruetertee.ch /usr/jails/test1.chruetertee.ch
# jexec 1 tcsh
# sysctl security.jail.jailed
security.jail.jailed: 1
[ FreeBSD ]
by Beat
@ 30.04.2010 19:33 UTC
Möchte man herausfinden in welcher Jail ein Prozess läuft, kann dazu ps mit der -o jid Option auf dem Host-System ausgeführt werden. Danach wird zu jedem Prozess die Jail-ID angezeigt. Prozesse welche auf dem Host-System laufen haben die Jail-ID 0:
# ps axo jid,command
5 screen -r
5 irssi
0 sshd: test [priv] (sshd)
0 sshd: test@ttyp1 (sshd)
3 /usr/sbin/named -u bind
4 /usr/local/sbin/httpd
[...]
Mit jls kann danach herausgefunden werden, welche Jail-ID zu welcher Jail gehört:
# jls
JID IP Address Hostname Path
5 192.168.1.2 test1.chruetertee.ch /usr/jails/test1.chruetertee.ch
4 192.168.1.3 test2.chruetertee.ch /usr/jails/test2.chruetertee.ch
3 192.168.1.4 test3.chruetertee.ch /usr/jails/test3.chruetertee.ch
2 192.168.1.5 test4.chruetertee.ch /usr/jails/test4.chruetertee.ch
1 192.168.1.6 test5.chruetertee.ch /usr/jails/test5.chruetertee.ch
Mehr Informationen findet man in der Manpage ps(1) und jls(8).
[ FreeBSD ]
by Beat
@ 30.04.2010 18:54 UTC
Seit Tinderbox 3.3 ist es nun auch möglich eine Tinderbox-Jail ohne Kompilieren zu erstellen. Dazu muss zuerst lftp installiert werden:
# cd /usr/ports/ftp/lftp && make install clean
Danach kann die Jail erstellt werden. Mit der -u LFTP Option wird angegeben, dass lftp zum Herunterladen einer FreeBSD-Installations-CD verwendet werden soll, aus welcher die Tinderbox-Jail erstellt wird. Mit der -H Option kann der FTP-Server gewählt werden, von welchem die Installations-CD herunterladen wird. Im folgenden Beispiel wird eine 7.3-RELEASE Jail erstellt:
# cd /usr/local/tinderbox/scripts
# ./tc createJail -j 7.3 -d "FreeBSD 7.3-RELEASE" -t 7.3-RELEASE -u LFTP -H ftp.ch.freebsd.org
7.3: initializing tree
7.3: creating top-level directory
7.3: adding to datastore... done.
7.3: initializing new jail...
7.3: updating jail with LFTP
7.3: cleaning out /usr/local/tinderbox/jails/7.3/obj
7.3: cleaning out /usr/local/tinderbox/jails/7.3/tmp
7.3: creating tarball
7.3: cleaning out /usr/local/tinderbox/jails/7.3/tmp
7.3: cleaning out /usr/local/tinderbox/jails/7.3/obj
Cleaning up after Jail creation. Please be patient.