Mike Barcroft néhány rég várt módosítást eszközölt a FreeBSD -CURRENT ágában a jail megvalósításban.A módosítások:
- új sysctl (security.jail.list), amely az éppen aktív jaileket tartalmazza
- jls(8) parancs, amely a fentit felhasználva az aktív jaileket listázza ki
- jexec(8) parancs, amely egy már futó jailben indít új processzt
- -j opció a killall(1) parancshoz, amelynek segítségével egy adott jailben futó összes program leállítható
- -i opció a jail(8) parancshoz, amely egy új jail indításakor kiírja annak azonosítóját (ID)
Mike írt pár sort arról is, hogy miként működik ez a valóságban:
sol# jail /tmp/jail localhost 127.0.0.1 /bin/sh &
[1] 19114
sol# jail /tmp/jail localhost 127.0.0.1 /bin/csh &
[2] 19139
[1] + Suspended (tty input) jail /tmp/jail localhost 127.0.0.1 /bin/sh
sol# jls
JID IP Address Hostname Path
2 127.0.0.1 localhost /tmp/jail
1 127.0.0.1 localhost /tmp/jail
[2] + Suspended (tty input) jail /tmp/jail localhost 127.0.0.1 /bin/csh
sol# jexec 2 /bin/ps -auxww
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
0 19139 0.0 0.1 1268 708 p4 TJ 3:09AM 0:00.03 /bin/csh
0 19217 0.8 0.1 640 312 p4 R+J 3:09AM 0:00.01 /bin/ps -auxww
sol# jexec 1 /bin/csh
%ps -auxww
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
0 19114 0.0 0.1 872 444 p4 TJ 3:08AM 0:00.02 /bin/sh
0 19318 0.8 0.2 1504 1200 p4 SJ 3:09AM 0:00.04 /bin/csh
0 19331 0.0 0.1 640 440 p4 R+J 3:09AM 0:00.01 ps -auxww
%exit
sol# killall -KILL -j 2
[2] - Killed jail /tmp/jail localhost 127.0.0.1 /bin/csh
sol# killall -KILL -j 1
[1] + Killed jail /tmp/jail localhost 127.0.0.1 /bin/sh
sol# jls
sol#