Exile on Keyboard St. - Blog sur Linux et Debian

Aller au contenu | Aller au menu | Aller à la recherche

vendredi 22 décembre 2017

Installer l'Antivirus clamav sous Debian

On va voir aujourd'hui comment installer et utiliser rapidement l'antivirus clamav sous Debian.

Le repository Debian contient les paquets principaux suivants concernant clamav:

  • libclamav7, la librairie de l'Antivirus
  • clamav-base, qui s'occupe de créer et de maintenir le compte système clamav
  • clamav, la commande ligne elle même
  • clamav-freshclam, l'utilitaire de mise à jour de la base virale
  • clamav-daemon, le démon de scan qui s'intègre avec les MTA (Mail Transport Agent)
  • clamdscan, la ligne de commande du démon

On pourrait citer aussi clamtk qui est une interface graphique pour configurer clamav.

Pour installer clamav, le plus simple est d'installer le paquet clamav-daemon, car cela installera tous les paquets dont on a besoin:

sudo apt-get install clamav-daemon
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Les paquets supplémentaires suivants seront installés : 
  clamav clamav-base clamav-freshclam clamdscan libclamav7 libmspack0
Paquets suggérés :
  clamav-docs apparmor daemon libclamunrar7
Les NOUVEAUX paquets suivants seront installés :
  clamav clamav-base clamav-daemon clamav-freshclam clamdscan libclamav7 libmspack0
0 mis à jour, 7 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 2 773 ko/2 820 ko dans les archives.
Après cette opération, 5 819 ko d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] 

clamav s'installe alors sans poser aucune question.

Pour scanner ensuite le répertoire $HOME de l'utilisateur:

sudo clamscan -ir /home/user

Le flag -i ou --infected permet de n'afficher que les fichiers infectés, et le flag -r ou --recursive signifie que le répertoire $HOME sera scanné récursivement.

Le résultat du scan récursif donne:

----------- SCAN SUMMARY -----------
Known viruses: 6369759
Engine version: 0.99.2
Scanned directories: 21168
Scanned files: 91929
Infected files: 0
Data scanned: 10167.24 MB
Data read: 28274.97 MB (ratio 0.36:1)
Time: 3092.957 sec (51 m 32 s)

Si on souhaite entendre un bip lors de la détection d'un virus, on peut ajouter le flag --bell.

On verra prochainement comment paramétrer clamd.conf, le fichier de configuration de clamav-daemon ainsi que freshclam.conf, le fichier de configuration de clamav-freshclam.

dimanche 5 novembre 2017

Le paquet trash-cli ou comment utiliser la corbeille en ligne de commande

On a tous à un moment ou à un autre supprimé un fichier par erreur sous Linux.

On remédie souvent à cette situation malheureuse par un:

alias rm='rm -i'

Cependant, il existe un moyen de se passer de la confirmation de suppression de la commande rm et cela consiste à utiliser la corbeille en ligne de commande.

Linux propose en effet le paquet trash-cli que l'on installe comme suit:

sudo apt-get install trash-cli

Et pour supprimer un fichier, plutôt que d'utiliser la commande rm:

trash-put Readme.md 

Puis:

trash-put Profiles.zip 

Pour afficher la liste des fichiers présents dans la corbeille:

trash-list 
2017-11-05 16:34:05 /home/user/Profiles.zip
2017-11-05 16:33:51 /home/user/Readme.md

La timestamp affiché étant la date de suppression du fichier.

Supposons maintenant que j'ai supprimé Readme.md par erreur:

user@machine:~$ restore-trash 
   0 2017-11-05 16:34:05 /home/user/Profiles.zip
   1 2017-11-05 16:33:51 /home/user/Readme.md
What file to restore [0..1]: 

Il me suffit alors de sélectionner le numéro du fichier pour que celui-ci soit restauré.

Le paquet trash-cli fournit aussi la commande restore-trash qui permet de rétablir l'intégralité des fichiers placés à la corbeille.

Et on peut maintenant définir:

alias rm='trash-put'

mercredi 18 octobre 2017

Bien utiliser les tableaux en bash: les tableaux associatifs

Dans un billet précédent, on a vu comment bien utiliser les tableaux en bash. Il s'agissait des tableaux indexés dont l'indice est un entier comme dans beaucoup de langages.

Mais Bash permet aussi la définition de tableaux associatifs dans lesquels l'indice est une chaîne de caractères et non plus un entier.

Pour reprendre l'exemple des couleurs:

declare -A colours

colours[black]=noir
colours[red]=rouge
colours[green]=vert

Vous remarquerez le flag -A au lieu de -a utilisé pour le tableau indexé.

Pour lister les valeurs du tableau associatif:

for colour in "${colours[@]}"; do
    echo "$colour"
done
rouge
vert
noir

Maintenant si je veux faire le parcours en partant des clés:

for colour in "${!colours[@]}"; do
    echo "$colour: ${colours[$colour]}"
done

Ce qui donne:

red: rouge
green: vert
black: noir

La syntaxe est donc exactement la même qu'avec les tableaux indexés excepté qu'ici la clé est une chaîne de caractères et que l'utilisation des crochets tient lieu de double quotes: la clé peut donc contenir des espaces.

On peut aussi affecter un tableau en une seule instruction:

data=([joe]=30 [mary]=25)

- page 2 de 31 -