El teu blog de Linux en català

Escanejeu per virus a fitxers només amb el botó dret

Una de les grans possibilitats que ofereix Nautilus (el navegador de fitxers de GNOME), és l’afegit de fer servir els anomenats scripts. Un script sol ser un mini-programa que permet fer tasques concretes com podrien ser conversions directes entre formats d’imatge o vídeo, descarregar subtítols d’un fitxer de vídeo, crear un paquet precompilat .deb o .rpm, etc.

Podeu veure i descarregar molts scripts a la pàgina Gnome-Look. En aquest cas ens centrarem en un script que permet escanejar per virus fitxers concrets. Per exemple, descarreguem un fitxer del Word i volem comprovar si té virus. Doncs només fent clic dret sobre el fitxer, podrem seleccionar l’opció d’escanejar el fitxer en cerca de virus.

La instal·lació requereix els següents passos:

  1. Instal·leu el paquet clamav i zenity des del vostre gestor de paquets (clamav és un antivirus per a GNU/Linux que també té versió per a Windows.
  2. Obriu una terminal i creeu el fitxer virus-scan:
  3. gedit ~/.gnome2/nautilus-scripts/cerca-virus

  4. Copíeu a dins el següent:
  5. #!/bin/bash
    #
    # Nautilus anti-virus scanner script v1.2 – Uses Clam Anti-virus
    # Written by Robert Pectol, December 2005 – http://rob.pectol.com
    #
    # This program is free software. It 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.
    ######################################################################

    # Set some variables used in the script
    files=$1
    if [ “$NAUTILUS_SCRIPT_CURRENT_URI” == “x-nautilus-desktop:///” ]; then
    files_path=$HOME”/Desktop”
    else
    files_path=`echo $NAUTILUS_SCRIPT_CURRENT_URI | sed -e ‘s/^file:////’`
    fi
    gui=`which zenity`
    vscan=`which clamscan`

    # Function to scan file(s)
    scan_it()
    {
    touch /tmp/scanresult
    if [ “$files_path” = “” ]; then
    # Script can run from launchers, scripts other than from Nautilus, etc. (doesn’t require $NAUTILUS_SCRIPT_CURRENT_URI)
    result=`$vscan -r “$files” –log=/tmp/scanresult | $gui –title “Virus Scanner” –progress
    –text=”Scanning $files…” –pulsate –auto-close; cat /tmp/scanresult` &> /dev/null
    else
    result=`$vscan -r “$files_path/$files” –log=/tmp/scanresult | $gui –title “Virus Scanner” –progress
    –text=”Scanning $files…” –pulsate –auto-close; cat /tmp/scanresult` &> /dev/null
    fi
    rm -f /tmp/scanresult &> /dev/null
    # Feedback – if scan ended with errors or was terminated prematurely…
    if [ “$result” = “” ]; then
    err_text=”S’han produït errors quan s’escanejava $files”
    errors
    fi
    # Feedback – if scan completed successfully…
    clean=`echo $result | grep ‘FOUND’`
    # Alter gui feedback according to presense/absense of virus(s) found during scan
    if [ “$clean” != “” ]; then
    $gui –title “S’han trobat virus!” –error –text=”$result” &> /dev/null
    else
    $gui –title “Resultats de l’escaneig” –info –text=”$result” & &> /dev/null
    fi
    }
    # Function to handle errors
    errors()
    {
    $gui –title “S’ha produït un error” –error –text=”$err_text” &> /dev/null
    exit 1
    }

    # Check for presense of required utilities
    if [[ -x “$vscan” && -x “$gui” ]]; then
    scan_it
    else
    if [ -x “$vscan” ]; then
    echo “No s’ha trobat Zenity al vostre sistema. Instal·leu-lo.”
    exit 1
    else
    err_text=”No s’ha trobat Clam Anti-virus al vostre sistema. Instal·leu-lo.”
    errors
    fi
    fi
    exit 0

  6. Per últim, doneu permisos d’execució al fitxer
  7. chmod 755 ~/.gnome2/nautilus-scripts/cerca-virus

Com podeu comprovar, els scripts de nautilus es desen a la carpeta .gnome2/nautilus-scripts del nostre usuari. Normalment podeu descarregar el fitxer d’script i desar-lo allà directament (sense necessitat de crear el fitxer vosaltres mateixos). Una vegada desat allà, us apareixerà directament la opció al menú del botó dret.

script-virus

2 comments

    • Joan on 26 de desembre de 2008 at 02:25

    Reply

    No hem dóna cap sortida aquest script. La versió anglesa de Trutraining funciona correctament. He provat de cercar algun detall potser descuidat en la traducció i no he trobat res.. Us passa el mateix?

    • Pau on 26 de desembre de 2008 at 09:57

    Reply

    Ummm, jo també ho vaig provar en anglès i després ho vaig traduir. Ha de ser algun detall, ho miraré més tard. Gràcies!

Respon a Joan Cancel·la les respostes

Your email address will not be published.