107 lines
2.6 KiB
Text
107 lines
2.6 KiB
Text
Index: master/_bin/munin-check.in
|
|
--- master/_bin/munin-check.in.orig
|
|
+++ master/_bin/munin-check.in
|
|
@@ -1,4 +1,4 @@
|
|
-#!@@BASH@@
|
|
+#!@@GOODSH@@
|
|
# -*- sh -*-
|
|
# Copyright (C) 2008 Matthias Schmitz
|
|
# This program is free software; you can redistribute it and/or
|
|
@@ -19,20 +19,17 @@
|
|
|
|
####
|
|
# prints usage
|
|
-function usage() {
|
|
+function usage {
|
|
echo "Usage: munin-check [options]
|
|
Options:
|
|
- -h|--help Show this help.
|
|
- -f|--fix-permissions Fix the permissions of the munin dirs and files.
|
|
- Needs superuser rights.
|
|
-
|
|
-Please don't use this script if you are using 'graph_strategy cgi'!
|
|
-It doesn't care about the right permissions for www-data yet...
|
|
+ -h Show this help.
|
|
+ -f Fix the permissions of the munin dirs and files.
|
|
+ Needs superuser rights.
|
|
"
|
|
}
|
|
|
|
# Get options from the command line
|
|
-TEMP=$(getopt -o fh --long fix-permissions,help -n 'munin-check' -- "$@")
|
|
+TEMP=$(getopt fh $*)
|
|
|
|
if [[ $? -ne 0 ]]; then
|
|
echo "Terminating..." >&2
|
|
@@ -44,8 +41,8 @@ eval set -- "$TEMP"
|
|
|
|
while :; do
|
|
case "$1" in
|
|
- -h|--help) usage ; exit 0; shift ;;
|
|
- -f|--fix-permissions) PLEASE_FIXME="true" ; shift ;;
|
|
+ -h) usage ; exit 0; shift ;;
|
|
+ -f) PLEASE_FIXME="true" ; shift ;;
|
|
--) shift ; break ;;
|
|
*) echo "Internal error!" ; exit 1 ;;
|
|
esac
|
|
@@ -53,7 +50,7 @@ done
|
|
|
|
####
|
|
# sets owner to "@@USER@@"
|
|
-function fix_owner() {
|
|
+function fix_owner {
|
|
fix_object=$1; shift
|
|
fix_owner=$1; shift
|
|
|
|
@@ -71,7 +68,7 @@ function fix_owner() {
|
|
####
|
|
# check if "@@USER@@" is owner, if PLEASE_FIXME set it calls fix_owner()
|
|
|
|
-function owner_ok() {
|
|
+function owner_ok {
|
|
object=$1; shift || exit 1
|
|
correctowner=$1; shift || exit 1
|
|
|
|
@@ -93,6 +90,11 @@ function owner_ok() {
|
|
"lost+found") return 0;;
|
|
esac
|
|
|
|
+ # cgi-tmp owner should be www
|
|
+ case $object in
|
|
+ "cgi-tmp") correctowner=www;
|
|
+ esac
|
|
+
|
|
# ... and then dive into it
|
|
for subobject in $object/*; do
|
|
owner_ok $subobject $correctowner
|
|
@@ -101,7 +103,7 @@ function owner_ok() {
|
|
}
|
|
|
|
|
|
-function perm_ok(){
|
|
+function perm_ok {
|
|
object=$1; shift || exit 1
|
|
correctperm=$1; shift || exit 1
|
|
|
|
@@ -144,12 +146,20 @@ for dir in @@DBDIR@@/*; do
|
|
*/plugin-state)
|
|
continue;;
|
|
esac
|
|
+ case $dir in
|
|
+ */cgi-tmp)
|
|
+ continue;;
|
|
+ esac
|
|
echo "check $dir"
|
|
owner_ok $dir @@USER@@
|
|
done
|
|
|
|
+echo "check @@DBDIR@@/cgi-tmp"
|
|
+owner_ok @@DBDIR@@/cgi-tmp www
|
|
+
|
|
echo "check miscellaneous"
|
|
-norec=yes owner_ok @@LOGDIR@@ @@USER@@
|
|
+norec=yes owner_ok @@LOGDIR@@ @@PLUGINUSER@@
|
|
+norec=yes perm_ok @@LOGDIR@@ 775
|
|
|
|
norec=yes owner_ok @@DBDIR@@ @@USER@@
|
|
norec=yes perm_ok @@DBDIR@@ 755
|