27 lines
719 B
Perl
27 lines
719 B
Perl
|
#!/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: $!";
|