[Midnightbsd-cvs] src [6546] trunk/usr.sbin/service/service.sh: jail handling
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Mon Dec 23 08:33:24 EST 2013
Revision: 6546
http://svnweb.midnightbsd.org/src/?rev=6546
Author: laffer1
Date: 2013-12-23 08:33:24 -0500 (Mon, 23 Dec 2013)
Log Message:
-----------
jail handling
Modified Paths:
--------------
trunk/usr.sbin/service/service.sh
Modified: trunk/usr.sbin/service/service.sh
===================================================================
--- trunk/usr.sbin/service/service.sh 2013-12-23 13:31:41 UTC (rev 6545)
+++ trunk/usr.sbin/service/service.sh 2013-12-23 13:33:24 UTC (rev 6546)
@@ -34,11 +34,13 @@
echo ''
echo 'Usage:'
echo "${0##*/} -e"
+ echo "${0##*/} -R"
echo "${0##*/} [-v] -l | -r"
echo "${0##*/} [-v] <rc.d script> start|stop|etc."
echo "${0##*/} -h"
echo ''
echo '-e Show services that are enabled'
+ echo "-R Stop and start enabled $local_startup services"
echo "-l List all scripts in /etc/rc.d and $local_startup"
echo '-r Show the results of boot time rcorder'
echo '-v Verbose'
@@ -45,12 +47,13 @@
echo ''
}
-while getopts 'ehlrv' COMMAND_LINE_ARGUMENT ; do
+while getopts 'ehlrRv' COMMAND_LINE_ARGUMENT ; do
case "${COMMAND_LINE_ARGUMENT}" in
e) ENABLED=eopt ;;
h) usage ; exit 0 ;;
l) LIST=lopt ;;
r) RCORDER=ropt ;;
+ R) RESTART=Ropt ;;
v) VERBOSE=vopt ;;
*) usage ; exit 1 ;;
esac
@@ -57,6 +60,32 @@
done
shift $(( $OPTIND - 1 ))
+if [ -n "$RESTART" ]; then
+ skip="-s nostart"
+ if [ `/sbin/sysctl -n security.jail.jailed` -eq 1 ]; then
+ skip="$skip -s nojail"
+ fi
+ [ -n "$local_startup" ] && find_local_scripts_new
+ files=`rcorder ${skip} ${local_rc} 2>/dev/null`
+
+ for file in `reverse_list ${files}`; do
+ if grep -q ^rcvar $file; then
+ eval `grep ^name= $file`
+ eval `grep ^rcvar $file`
+ checkyesno $rcvar 2>/dev/null && run_rc_script ${file} stop
+ fi
+ done
+ for file in $files; do
+ if grep -q ^rcvar $file; then
+ eval `grep ^name= $file`
+ eval `grep ^rcvar $file`
+ checkyesno $rcvar 2>/dev/null && run_rc_script ${file} start
+ fi
+ done
+
+ exit 0
+fi
+
if [ -n "$ENABLED" -o -n "$RCORDER" ]; then
# Copied from /etc/rc
skip="-s nostart"
More information about the Midnightbsd-cvs
mailing list