jail revision 113711
1#!/bin/sh
2#
3# $FreeBSD: head/etc/rc.d/jail 113711 2003-04-19 07:50:32Z mtm $
4#
5
6# PROVIDE: jail
7# REQUIRE: LOGIN
8# KEYWORD: FreeBSD
9
10. /etc/rc.subr
11
12name="jail"
13rcvar=`set_rcvar`
14start_cmd="jail_start"
15stop_cmd="jail_stop"
16
17jail_start()
18{
19	echo -n 'Configuring jails:'
20	echo -n ' set_hostname_allowed='
21	if checkyesno jail_set_hostname_allow ; then 
22		echo -n 'YES'
23		${SYSCTL_W} 1>/dev/null security.jail.set_hostname_allowed=1
24	else
25		echo -n 'NO'
26		${SYSCTL_W} 1>/dev/null security.jail.set_hostname_allowed=0
27	fi
28
29	echo -n ' unixiproute_only='
30	if checkyesno jail_socket_unixiproute_only ; then 
31		echo -n 'YES'
32		${SYSCTL_W} 1>/dev/null security.jail.socket_unixiproute_only=1
33	else
34		echo -n 'NO'
35		${SYSCTL_W} 1>/dev/null security.jail.socket_unixiproute_only=0
36	fi
37
38	echo -n ' sysvipc_allow='
39	if checkyesno jail_sysvipc_allow ; then
40		echo -n 'YES'
41		${SYSCTL_W} 1>/dev/null security.jail.sysvipc_allowed=1
42	else
43		echo -n 'NO'
44		${SYSCTL_W} 1>/dev/null security.jail.sysvipc_allowed=0
45	fi
46	echo '.'
47
48	echo 'Starting Jails.'
49	for _jail in ${jail_list} 
50	do
51		eval jail_rootdir=\"\$jail_${_jail}_rootdir\"
52		eval jail_hostname=\"\$jail_${_jail}_hostname\"
53		eval jail_ip=\"\$jail_${_jail}_ip\"
54		eval jail_exec=\"\$jail_${_jail}_exec\"
55		[ -z ${jail_exec} ] && jail_exec="/bin/sh /etc/rc"
56		
57		jail ${jail_rootdir} ${jail_hostname} ${jail_ip} ${jail_exec}
58	done
59}
60
61jail_stop()
62{
63	kill -TERM $(ps aux | awk '$8 ~ /.*J/ {print  $2};')
64}
65
66
67load_rc_config $name
68run_rc_command "$1"
69