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