jail revision 114735
1238405Sjkim#!/bin/sh
2238405Sjkim#
3238405Sjkim# $FreeBSD: head/etc/rc.d/jail 114735 2003-05-05 15:38:41Z mtm $
4238405Sjkim#
5238405Sjkim
6238405Sjkim# PROVIDE: jail
7238405Sjkim# REQUIRE: LOGIN
8238405Sjkim# BEFORE: securelevel
9238405Sjkim# KEYWORD: FreeBSD
10238405Sjkim
11238405Sjkim. /etc/rc.subr
12238405Sjkim
13238405Sjkimname="jail"
14238405Sjkimrcvar=`set_rcvar`
15238405Sjkimstart_cmd="jail_start"
16238405Sjkimstop_cmd="jail_stop"
17238405Sjkim
18238405Sjkimjail_start()
19238405Sjkim{
20238405Sjkim	echo -n 'Configuring jails:'
21238405Sjkim	echo -n ' set_hostname_allowed='
22238405Sjkim	if checkyesno jail_set_hostname_allow ; then 
23238405Sjkim		echo -n 'YES'
24238405Sjkim		${SYSCTL_W} 1>/dev/null security.jail.set_hostname_allowed=1
25238405Sjkim	else
26238405Sjkim		echo -n 'NO'
27238405Sjkim		${SYSCTL_W} 1>/dev/null security.jail.set_hostname_allowed=0
28238405Sjkim	fi
29238405Sjkim
30238405Sjkim	echo -n ' unixiproute_only='
31238405Sjkim	if checkyesno jail_socket_unixiproute_only ; then 
32238405Sjkim		echo -n 'YES'
33238405Sjkim		${SYSCTL_W} 1>/dev/null security.jail.socket_unixiproute_only=1
34238405Sjkim	else
35238405Sjkim		echo -n 'NO'
36238405Sjkim		${SYSCTL_W} 1>/dev/null security.jail.socket_unixiproute_only=0
37238405Sjkim	fi
38238405Sjkim
39238405Sjkim	echo -n ' sysvipc_allow='
40238405Sjkim	if checkyesno jail_sysvipc_allow ; then
41238405Sjkim		echo -n 'YES'
42238405Sjkim		${SYSCTL_W} 1>/dev/null security.jail.sysvipc_allowed=1
43238405Sjkim	else
44238405Sjkim		echo -n 'NO'
45238405Sjkim		${SYSCTL_W} 1>/dev/null security.jail.sysvipc_allowed=0
46238405Sjkim	fi
47238405Sjkim	echo '.'
48238405Sjkim
49238405Sjkim	echo 'Starting Jails.'
50238405Sjkim	for _jail in ${jail_list} 
51238405Sjkim	do
52238405Sjkim		eval jail_rootdir=\"\$jail_${_jail}_rootdir\"
53238405Sjkim		eval jail_hostname=\"\$jail_${_jail}_hostname\"
54238405Sjkim		eval jail_ip=\"\$jail_${_jail}_ip\"
55238405Sjkim		eval jail_exec=\"\$jail_${_jail}_exec\"
56238405Sjkim		[ -z ${jail_exec} ] && jail_exec="/bin/sh /etc/rc"
57238405Sjkim		
58238405Sjkim		jail ${jail_rootdir} ${jail_hostname} ${jail_ip} ${jail_exec}
59238405Sjkim	done
60238405Sjkim}
61238405Sjkim
62238405Sjkimjail_stop()
63238405Sjkim{
64238405Sjkim	kill -TERM $(ps aux | awk '$8 ~ /.*J/ {print  $2};')
65238405Sjkim}
66238405Sjkim
67238405Sjkim
68238405Sjkimload_rc_config $name
69238405Sjkimrun_rc_command "$1"
70238405Sjkim