46 lines
1.0 KiB
Bash
Executable File
46 lines
1.0 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
# PROVIDE: ezjail
|
|
#
|
|
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf to enable ezjail
|
|
#
|
|
#ezjail_enable="YES"
|
|
#
|
|
# Please do not change this file, configure in EZJAIL_PREFIX/etc/ezjail.conf
|
|
|
|
# ugly: this variable is set on port install time
|
|
ezjail_prefix=EZJAIL_PREFIX
|
|
|
|
. /etc/rc.subr
|
|
|
|
name=ezjail
|
|
rcvar=`set_rcvar`
|
|
load_rc_config ${name}
|
|
|
|
ezjail_enable=${ezjail_enable:-"NO"}
|
|
|
|
restart_cmd="do_cmd restart _"
|
|
start_cmd="do_cmd start '_ ezjail'"
|
|
stop_cmd="do_cmd stop '_ ezjail'"
|
|
|
|
do_cmd()
|
|
{
|
|
action=$1; message=$2; shift 2;
|
|
[ -n "$*" ] && jail_list=`echo -n $* | tr -c "[:alnum:] " _` || echo -n "${message##_}"
|
|
jail_list=${jail_list:-`ls ${ezjail_prefix}/etc/ezjail/`}
|
|
jail_pass=
|
|
for jail in ${jail_list}; do
|
|
if [ -f ${ezjail_prefix}/etc/ezjail/${jail} ]; then
|
|
. ${ezjail_prefix}/etc/ezjail/${jail};
|
|
jail_pass="${jail_pass} ${jail}"
|
|
else
|
|
echo " Warning: Jail ${jail} not found."
|
|
fi
|
|
done
|
|
[ "${jail_pass}" ] && sh /etc/rc.d/jail one${action} ${jail_pass}
|
|
}
|
|
|
|
run_rc_command $*
|