First test in live system yielded several problems :)
This commit is contained in:
parent
2e8a290b5d
commit
668c4dfc58
27
ezjail
27
ezjail
@ -16,27 +16,38 @@ ezjail_prefix=EZJAIL_PREFIX
|
|||||||
. /etc/rc.subr
|
. /etc/rc.subr
|
||||||
|
|
||||||
name=ezjail
|
name=ezjail
|
||||||
ezjail_enable=${ezjail_enable:-"NO"}
|
|
||||||
rcvar=`set_rcvar`
|
rcvar=`set_rcvar`
|
||||||
|
load_rc_config $name
|
||||||
|
|
||||||
|
ezjail_enable=${ezjail_enable:-"NO"}
|
||||||
|
|
||||||
|
restart_cmd="do_restart"
|
||||||
start_cmd="do_start"
|
start_cmd="do_start"
|
||||||
stop_cmd="do_stop"
|
stop_cmd="do_stop"
|
||||||
|
|
||||||
do_start()
|
do_start()
|
||||||
{
|
{
|
||||||
jail_enable=${ezjail_enable}
|
[ -n "$*" ] && jail_list=`echo $* | tr /~. ___`;
|
||||||
jail_list=`ls ${ezjail_prefix}/etc/ezjail/`
|
jail_list=${jail_list:-`ls ${ezjail_prefix}/etc/ezjail/`}
|
||||||
for jail in $jail_list; do . ${ezjail_prefix}/etc/ezjail/${jail}; done
|
for jail in $jail_list; do . ${ezjail_prefix}/etc/ezjail/${jail}; done
|
||||||
sh /etc/rc.d/jail start $*
|
sh /etc/rc.d/jail onestart $jail_list
|
||||||
|
}
|
||||||
|
|
||||||
|
do_restart()
|
||||||
|
{
|
||||||
|
[ -n "$*" ] && jail_list=`echo $* | tr /~. ___`;
|
||||||
|
jail_list=${jail_list:-`ls ${ezjail_prefix}/etc/ezjail/`}
|
||||||
|
for jail in $jail_list; do . ${ezjail_prefix}/etc/ezjail/${jail}; done
|
||||||
|
sh /etc/rc.d/jail onestop $jail_list
|
||||||
|
sh /etc/rc.d/jail onestart $jail_list
|
||||||
}
|
}
|
||||||
|
|
||||||
do_stop()
|
do_stop()
|
||||||
{
|
{
|
||||||
jail_enable=${ezjail_enable}
|
[ -n "$*" ] && jail_list=`echo $* | tr /~. ___`;
|
||||||
jail_list=`ls ${ezjail_prefix}/etc/ezjail/`
|
jail_list=${jail_list:-`ls ${ezjail_prefix}/etc/ezjail/`}
|
||||||
for jail in $jail_list; do . ${ezjail_prefix}/etc/ezjail/${jail}; done
|
for jail in $jail_list; do . ${ezjail_prefix}/etc/ezjail/${jail}; done
|
||||||
sh /etc/rc.d/jail stop $*
|
sh /etc/rc.d/jail onestop $jail_list
|
||||||
}
|
}
|
||||||
|
|
||||||
load_rc_config $name
|
|
||||||
run_rc_command $*
|
run_rc_command $*
|
||||||
|
38
ezjail-admin
38
ezjail-admin
@ -43,7 +43,8 @@ create)
|
|||||||
newjail_softlink=
|
newjail_softlink=
|
||||||
newjail_fill="YES"
|
newjail_fill="YES"
|
||||||
|
|
||||||
for arg in args; do
|
set -- $args
|
||||||
|
for arg do
|
||||||
case $arg in
|
case $arg in
|
||||||
-x) newjail_fill="NO"; shift;;
|
-x) newjail_fill="NO"; shift;;
|
||||||
-r) newjail_root="$2"; shift 2;;
|
-r) newjail_root="$2"; shift 2;;
|
||||||
@ -58,7 +59,7 @@ create)
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# relative paths don't make sense in rc.scripts
|
# relative paths don't make sense in rc.scripts
|
||||||
if [ "${ezjail_jaildir#/}" == "${ezjail_jaildir}" ]; then
|
if [ ${ezjail_jaildir#/} = ${ezjail_jaildir} ]; then
|
||||||
echo Error: Need an absolute path in ezjail_jaildir, it is currently set to: $ezjail_jaildir
|
echo Error: Need an absolute path in ezjail_jaildir, it is currently set to: $ezjail_jaildir
|
||||||
exit 1;
|
exit 1;
|
||||||
fi
|
fi
|
||||||
@ -73,7 +74,7 @@ create)
|
|||||||
|
|
||||||
# if jail root specified on command line is not absolute,
|
# if jail root specified on command line is not absolute,
|
||||||
# make it absolute inside our jail directory
|
# make it absolute inside our jail directory
|
||||||
if [ "${newjail_root#/}" = "${newjail_root}" ]; then
|
if [ ${newjail_root#/} = ${newjail_root} ]; then
|
||||||
newjail_root=$ezjail_jaildir/$newjail_root
|
newjail_root=$ezjail_jaildir/$newjail_root
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -100,22 +101,20 @@ create)
|
|||||||
|
|
||||||
# if the automount feature is not disabled, create an
|
# if the automount feature is not disabled, create an
|
||||||
# fstab entry for new jail
|
# fstab entry for new jail
|
||||||
echo $ezjail_jailbase $newjail_root/basejail nullfs ro 0 0 > /etc/fstab.$newjail_name
|
echo $ezjail_jailbase $newjail_root/basejail nullfs ro 0 0 > /etc/fstab.$newjail_nname
|
||||||
|
|
||||||
# now, where everything seems to have gone right,
|
# now, where everything seems to have gone right,
|
||||||
# create control file in ezjails config dir
|
# create control file in ezjails config dir
|
||||||
mkdir -p $ezjail_jailcfgs
|
mkdir -p $ezjail_jailcfgs
|
||||||
echo \
|
echo export jail_${newjail_nname}_hostname=\"${newjail_name}\" >> ${ezjail_jailcfgs}/${newjail_nname}
|
||||||
jail_${newjail_nname}_hostname=\"${newjail_name}\" \n \
|
echo export jail_${newjail_nname}_ip=\"${newjail_ip}\" >> ${ezjail_jailcfgs}/${newjail_nname}
|
||||||
jail_${newjail_nname}_ip=\"${newjail_ip}\" \n \
|
echo export jail_${newjail_nname}_rootdir=\"${newjail_root}\" >> ${ezjail_jailcfgs}/${newjail_nname}
|
||||||
jail_${newjail_nname}_rootdir=\"${newjail_root}\" \n \
|
echo export jail_${newjail_nname}_exec=\"/bin/sh /etc/rc\" >> ${ezjail_jailcfgs}/${newjail_nname}
|
||||||
jail_${newjail_nname}_exec=\"/bin/sh /etc/rc\"
|
echo export jail_${newjail_nname}_mount_enable=\"${ezjail_mount_enable}\" >> ${ezjail_jailcfgs}/${newjail_nname}
|
||||||
jail_${newjail_nname}_mount_enable=\"${ezjail_mount_enable}\" \n \
|
echo export jail_${newjail_nname}_devfs_enable=\"${ezjail_devfs_enable}\" >> ${ezjail_jailcfgs}/${newjail_nname}
|
||||||
jail_${newjail_nname}_devfs_enable=\"${ezjail_devfs_enable}\" \n \
|
echo export jail_${newjail_nname}_devfs_ruleset=\"devfsrules_jail\" >> ${ezjail_jailcfgs}/${newjail_nname}
|
||||||
jail_${newjail_nname}_devfs_ruleset="devfsrules_jail"
|
echo export jail_${newjail_nname}_procfs_enable=\"${ezjail_procfs_enable}\" >> ${ezjail_jailcfgs}/${newjail_nname}
|
||||||
jail_${newjail_nname}_procfs_enable=\"${ezjail_procfs_enable}\" \n \
|
echo export jail_${newjail_nname}_fdescfs_enable=\"${ezjail_fdescfs_enable}\" >> ${ezjail_jailcfgs}/${newjail_nname}
|
||||||
jail_${newjail_nname}_fdescfs_enable=\"${ezjail_fdescfs_enable}\" \n \
|
|
||||||
> ${ezail_jailcfgs}/newjail_nname
|
|
||||||
|
|
||||||
;;
|
;;
|
||||||
delete)
|
delete)
|
||||||
@ -132,11 +131,12 @@ update)
|
|||||||
exit 1;
|
exit 1;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
updatejail_installaction=world
|
updatejail_installaction="world"
|
||||||
|
|
||||||
for arg in args; do
|
set -- $args
|
||||||
|
for arg do
|
||||||
case $arg in
|
case $arg in
|
||||||
-i) updatejail_installaction=installworld; shift;;
|
-i) updatejail_installaction="installworld"; shift;;
|
||||||
-s) ezjail_sourcetree="$2"; shift 2;;
|
-s) ezjail_sourcetree="$2"; shift 2;;
|
||||||
--) shift; break;;
|
--) shift; break;;
|
||||||
esac
|
esac
|
||||||
@ -158,8 +158,10 @@ update)
|
|||||||
chflags -R noschg ${a}; rm -r ${a}; ln -s /basejail/${a} ${a}
|
chflags -R noschg ${a}; rm -r ${a}; ln -s /basejail/${a} ${a}
|
||||||
done
|
done
|
||||||
mkdir basejail
|
mkdir basejail
|
||||||
|
ln -s /basejail/usr/ports usr/ports
|
||||||
|
|
||||||
if [ -d ${ezjail_jailtemplate} ]; then
|
if [ -d ${ezjail_jailtemplate} ]; then
|
||||||
|
rm -rf ${ezjail_jailtemplate}_old
|
||||||
mv ${ezjail_jailtemplate} ${ezjail_jailtemplate}_old
|
mv ${ezjail_jailtemplate} ${ezjail_jailtemplate}_old
|
||||||
fi
|
fi
|
||||||
mv ${ezjail_jailfull} ${ezjail_jailtemplate}
|
mv ${ezjail_jailfull} ${ezjail_jailtemplate}
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
#
|
#
|
||||||
# Note: If you have spread your jails to multiple locations, use softlinks
|
# Note: If you have spread your jails to multiple locations, use softlinks
|
||||||
# to collect them in this directory
|
# to collect them in this directory
|
||||||
ezjail_jaildir=/usr/jails/
|
ezjail_jaildir=/usr/jails
|
||||||
|
|
||||||
# Location of the tiny skeleton jail template
|
# Location of the tiny skeleton jail template
|
||||||
ezjail_jailtemplate=$ezjail_jaildir/newjail
|
ezjail_jailtemplate=$ezjail_jaildir/newjail
|
||||||
|
Loading…
x
Reference in New Issue
Block a user