#!/usr/bin/perl # # Copyright (c) 2011 Beyhan CALISKAN beyhan@ulakbim.gov.tr. # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. use warnings; =head1 ATTENTION change mail adress at the end of the script ! =cut $hostname = `uname -n`; @jails=`jls -s` ; foreach (@jails) { if($_ =~ /(jid=\d?).*(host\.hostname=\w+)/) { @JID = split(/=/,$1); @HOSTNAME = split(/=/,$2); $kontrol = `jexec $JID[1] which portaudit` ; if($kontrol !~ /portaudit/ ) { `jexec $JID[1] pkg_add -r portaudit` ; print "portaudit $HOSTNAME[1] installed\n"; } $auditlog = `jexec $JID[1] portaudit -Fda ` ; open AUDIT,">>/tmp/portaudit_log" or die 'dosya acamadi !' ; print AUDIT "$HOSTNAME[1]\n, $auditlog\n" ; } } `cat /tmp/portaudit_log | mail -s "$hostname JAIL AUDIT" admin\@example.com` ; unlink ('/tmp/portaudit_log');