#!/bin/bash ################################################################################## # # ClamAV_Scan_Script # Script que ejecuta un escaneo con ClamAV del dir o archivo seleccionado # Copyright (C) 2010 HacKan # hackan@hackan.com.ar # http://www.hackan.com.ar # # 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 3 of the License, 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. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # ################################################################################## # # Realiza un escaneo con clamav del directorio pasado como primer parĂ¡metro # empleando opciones por default # Se recomienda NO ejecutar con SUDO, el script lo pedirĂ¡ llegado el caso # # v1.0 # -- Config -- # # NO deben estar vacias las siguientes variables clamuserfolder=".clamav" logfoldername="logs" cuarentenafoldername="cuarentena" logfilename="clamscan-`date +%F_%T`.log" # -- -- # # -- Main -- # userhome="$HOME" user=`whoami` echo "ClamAV scan script by HacKan & CuBa co. - Iniciado el dia `date` por el usuario ${user} - Guardado como \"${userhome}/${clamuserfolder}/${logfoldername}/${logfilename}\"" > "${userhome}/${clamuserfolder}/${logfoldername}/${logfilename}" echo "Actualizando base de datos de ClamAV..." sudo freshclam --quiet if ( [ -n "${clamuserfolder}" ] && [ -n "${1}" ] && ( [ -d "${1}" ] || [ -e "${1}" ] ) ); then if [ ! -d "${userhome}/${clamuserfolder}/${logfoldername}" ]; then mkdir -p "${userhome}/${clamuserfolder}/${logfoldername}" fi if [ ! -d "${userhome}/${clamuserfolder}/${cuarentenafoldername}" ]; then mkdir -p "${userhome}/${clamuserfolder}/${cuarentenafoldername}" fi echo "Iniciando escaneo de ${1} con ClamAV..." echo # Pueden borrar el sudo de la siguiente linea sin inconvenientes sudo clamscan --infected --log="${userhome}/${clamuserfolder}/${logfoldername}/${logfilename}" --recursive=yes --detect-pua=yes --detect-broken=yes --move="${userhome}/${clamuserfolder}/${cuarentenafoldername}" ${1} scan_result=$? echo if [ ${scan_result} -ne 0 ]; then echo "ClamAV devolvio un error; revisar parametros de escaneo" echo "ClamAV devolvio un error; revisar parametros de escaneo" >> "${userhome}/${clamuserfolder}/${logfoldername}/${logfilename}" else echo "ClamAV ha finalizado correctamente" echo "ClamAV ha finalizado correctamente" >> "${userhome}/${clamuserfolder}/${logfoldername}/${logfilename}" fi exit ${scan_result} else echo "No se ha seleccionado directorio de trabajo" echo "No se ha seleccionado directorio de trabajo" >> "${userhome}/${clamuserfolder}/${logfoldername}/${logfilename}" exit 1 fi # -- -- #