ezjail/ezjail.sh

50 lines
1.1 KiB
Bash
Raw Normal View History

2005-10-20 01:41:38 +00:00
#!/bin/sh
#
2005-09-26 01:30:00 +00:00
# $FreeBSD$
#
# PROVIDE: ezjail
# REQUIRE: LOGIN cleanvar
# BEFORE: securelevel
# KEYWORD: nojail shutdown
2005-09-26 01:30:00 +00:00
#
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf to enable ezjail
2005-09-26 01:30:00 +00:00
#
#ezjail_enable="YES"
#
2005-10-14 16:22:05 +00:00
# Please do not change this file, configure in EZJAIL_PREFIX/etc/ezjail.conf
2005-09-26 01:30:00 +00:00
2005-10-14 16:22:05 +00:00
# ugly: this variable is set on port install time
2005-09-26 01:30:00 +00:00
ezjail_prefix=EZJAIL_PREFIX
. /etc/rc.subr
name=ezjail
rcvar=`set_rcvar`
2006-02-06 02:16:30 +00:00
load_rc_config ${name}
2005-09-26 01:30:00 +00:00
ezjail_enable=${ezjail_enable:-"NO"}
restart_cmd="do_cmd restart _"
start_cmd="do_cmd start '_ ezjail'"
stop_cmd="do_cmd stop '_ ezjail'"
2005-09-26 01:30:00 +00:00
do_cmd()
2005-09-26 01:30:00 +00:00
{
action=$1; message=$2; shift 2;
ezjail_list=
[ -n "$*" ] && ezjail_list=`echo -n $* | tr -c "[:alnum:] " _` || echo -n "${message##_}"
ezjail_list=${ezjail_list:-`ls ${ezjail_prefix}/etc/ezjail/`}
ezjail_pass=
for ezjail in ${ezjail_list}; do
if [ -f ${ezjail_prefix}/etc/ezjail/${ezjail} ]; then
. ${ezjail_prefix}/etc/ezjail/${ezjail}
ezjail_pass="${ezjail_pass} ${ezjail}"
else
echo " Warning: Jail ${ezjail} not found."
fi
done
[ "${ezjail_pass}" ] && sh /etc/rc.d/jail one${action} ${ezjail_pass}
2005-09-26 01:30:00 +00:00
}
run_rc_command $*