From 44a321cb8a42d6c0ea2d96a1086a17f2134c89cc Mon Sep 17 00:00:00 2001 From: Ethan Galstad Date: Thu, 28 Feb 2002 06:42:51 +0000 Subject: Initial revision git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@2 f882894a-f735-0410-b71e-b25c423dba1c --- contrib/restrict.pl | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100755 contrib/restrict.pl (limited to 'contrib/restrict.pl') diff --git a/contrib/restrict.pl b/contrib/restrict.pl new file mode 100755 index 00000000..75ea5698 --- /dev/null +++ b/contrib/restrict.pl @@ -0,0 +1,26 @@ +#!/usr/bin/perl + +eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' + if 0; + +# Set this to your local Nagios plugin path +my $pluginpath = "/usr/libexec/nagios/plugins/"; + +# Put all the legal commands (i.e. the commands that are +# not Nagios checks but are allowed to be executed anyway) +# in the following associative array. +my %legal_cmds = ("nc" => "/usr/sbin/nc"); + +# This will not work on OpenSSH +# It does work on ssh-1.2.27-1i +@arg = split ' ',$ENV{'SSH_ORIGINAL_COMMAND'}; + +$arg[0] =~ s/.*\///; # strip leading path +$arg[0] =~ tr/-_.a-zA-Z0-9/X/c; # change atypical chars to X + +if (!defined ($cmd = $legal_cmds{$arg[0]})) +{ + $cmd = $pluginpath . $arg[0]; +} + +exec { $cmd } @arg or die "Can't exec $cmd: $!"; -- cgit v1.2.3-74-g34f1