diff options
author | jonas <jonas@8f53b18a-e215-0410-8885-9f593d34873e> | 2006-06-10 18:18:37 +0000 |
---|---|---|
committer | jonas <jonas@8f53b18a-e215-0410-8885-9f593d34873e> | 2006-06-10 18:18:37 +0000 |
commit | b6d85b04286d30498a11aaac36e75032b1e72801 (patch) | |
tree | 2fc597a2ae2cf69a5cc6b3e7162f02f89613b08d /tweaks/usr/local/sbin | |
parent | 369cb1e5a343ec9e7c6f05de64f0eb102488d77f (diff) |
Added all work so far...
git-svn-id: svn+ssh://xayide/home/jonas/private_svn/fleshybrid/trunk@2 8f53b18a-e215-0410-8885-9f593d34873e
Diffstat (limited to 'tweaks/usr/local/sbin')
-rwxr-xr-x | tweaks/usr/local/sbin/policy-rc.d | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/tweaks/usr/local/sbin/policy-rc.d b/tweaks/usr/local/sbin/policy-rc.d new file mode 100755 index 0000000..b89a676 --- /dev/null +++ b/tweaks/usr/local/sbin/policy-rc.d @@ -0,0 +1,65 @@ +#!/bin/sh + +# $Id: policy-rc.d,v 1.3 2006/04/22 16:04:55 jonas Exp $ +# +# Copyright © 2006 Jonas Smedegaard <dr@jones.dk> +# Description: Suppress system V scripts if invoked within a chroot. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. + +# Policy-rc.d is mentioned in manpage invoke-rc.d(8) and documented at +# http://people.debian.org/~hmh/invokerc.d-policyrc.d-specification.txt + +set -e + +PRG=`basename $0` + +TEMP=`getopt -s sh --long list,quiet -n "$PRG" -- "$@"` +if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi +eval set -- "$TEMP" + +quiet="" +list="" +while true ; do + case "$1" in + --quiet) quiet="1" ; shift ;; + --list) list="1" ; shift ;; + --) shift ; break ;; + *) echo "Internal error!" ; exit 1 ;; + esac +done +initscript="$1" +actions="$2" +runlevel="$3" + +if [ "$list" ]; then + cat <<EOF +The following policies are known to this policy daemon: + + default: All actions are allowed. + chroot: If invoked from within a chroot environment, + no actions are allowed, else all are allowed. + +This policy daemon care not about actions, so all standard actions +(start, [force-]stop, restart, [force-]reload and status), and any +additionally implemented ones, are supported. +EOF + exit 0 +fi + +if [ ! -r /proc/1/root ]; then + if ! [ "$quiet" ]; then + echo >&2 "Chroot environment detected, suppressing sysV script." + fi + exit 101 +fi + +exit 0 |