jail revision 119101
183364Sdfr#!/bin/sh 283364Sdfr# 383364Sdfr# $FreeBSD: head/etc/rc.d/jail 119101 2003-08-19 03:49:30Z kuriyama $ 483364Sdfr# 583364Sdfr 683364Sdfr# PROVIDE: jail 783364Sdfr# REQUIRE: LOGIN 883364Sdfr# BEFORE: securelevel 983364Sdfr# KEYWORD: FreeBSD 1083364Sdfr 1183364Sdfr. /etc/rc.subr 1283364Sdfr 1383364Sdfrname="jail" 1483364Sdfrrcvar=`set_rcvar` 1583364Sdfrstart_cmd="jail_start" 1683364Sdfrstop_cmd="jail_stop" 1783364Sdfr 1883364Sdfrjail_start() 1983364Sdfr{ 2083364Sdfr echo -n 'Configuring jails:' 2183364Sdfr echo -n ' set_hostname_allowed=' 2283364Sdfr if checkyesno jail_set_hostname_allow ; then 2383364Sdfr echo -n 'YES' 2483364Sdfr ${SYSCTL_W} 1>/dev/null security.jail.set_hostname_allowed=1 2583364Sdfr else 2683364Sdfr echo -n 'NO' 2783364Sdfr ${SYSCTL_W} 1>/dev/null security.jail.set_hostname_allowed=0 2883364Sdfr fi 2983364Sdfr 3083364Sdfr echo -n ' unixiproute_only=' 3183364Sdfr if checkyesno jail_socket_unixiproute_only ; then 3283364Sdfr echo -n 'YES' 3383364Sdfr ${SYSCTL_W} 1>/dev/null security.jail.socket_unixiproute_only=1 3483364Sdfr else 3583364Sdfr echo -n 'NO' 3683364Sdfr ${SYSCTL_W} 1>/dev/null security.jail.socket_unixiproute_only=0 3783364Sdfr fi 3883364Sdfr 3983364Sdfr echo -n ' sysvipc_allow=' 4083364Sdfr if checkyesno jail_sysvipc_allow ; then 4183364Sdfr echo -n 'YES' 4283364Sdfr ${SYSCTL_W} 1>/dev/null security.jail.sysvipc_allowed=1 4383364Sdfr else 4483364Sdfr echo -n 'NO' 4583364Sdfr ${SYSCTL_W} 1>/dev/null security.jail.sysvipc_allowed=0 4683364Sdfr fi 4783364Sdfr echo '.' 4883364Sdfr 4983364Sdfr echo 'Starting Jails.' 5083364Sdfr for _jail in ${jail_list} 5183364Sdfr do 5283364Sdfr eval jail_rootdir=\"\$jail_${_jail}_rootdir\" 5383364Sdfr eval jail_hostname=\"\$jail_${_jail}_hostname\" 5483364Sdfr eval jail_ip=\"\$jail_${_jail}_ip\" 5583364Sdfr eval jail_exec=\"\$jail_${_jail}_exec\" 5683364Sdfr [ -z "${jail_exec}" ] && jail_exec="/bin/sh /etc/rc" 5783364Sdfr 5883364Sdfr jail ${jail_rootdir} ${jail_hostname} ${jail_ip} ${jail_exec} 5983364Sdfr done 6083364Sdfr} 6183364Sdfr 6283364Sdfrjail_stop() 6383364Sdfr{ 6483364Sdfr kill -TERM $(ps aux | awk '$8 ~ /.*J/ {print $2};') 6583364Sdfr} 6683364Sdfr 6783364Sdfr 6883364Sdfrload_rc_config $name 6983364Sdfrrun_rc_command "$1" 7083364Sdfr