Làm cách nào để tự động quét bất kỳ thiết bị lưu trữ usb nào với clamav?


13

Tôi muốn thực hiện quét vi-rút tự động trên mọi thiết bị cắm USB bằng ClamAV. Tôi đang sử dụng Ubuntu 12.04.

Điều gần nhất tôi tìm thấy là:

Cái đầu tiên không hoạt động với tôi và cái thứ hai dường như nhắm vào một thiết bị đã biết.

Có một hướng dẫn xung quanh tôi đã bỏ lỡ? Hoặc tôi có thể nhận được một số trợ giúp với udevcác quy tắc áp dụng cho bất kỳ thiết bị lưu trữ usb nào được thêm vào không? Hiện tại dường như không có gì để làm.


Bạn có thể viết một quy tắc udev cho việc này.
Barafu Albino

Hãy xem cái này: superuser.com/questions/305723/, trong đó RUN + = (vị trí của tệp) là cách tôi đọc.
Không có thời gian

Câu trả lời:


5

Đây là một kịch bản tự động. Chỉ cần chạy nó như root. Bạn có thể thay đổi lệnh được thực hiện bằng cách chỉnh sửa /usr/bin/doOnUSBinsert.

#!/bin/bash
#doOnUSBinsert_0.2.sh
#Author : Totti
# Make it executable by running 'sudo chmod  x doOnUSBinsert_0.2.sh'


if ! [ -f /etc/udev/rules.d/80-doOnUSBinsert.rules ]
then        # rule not added
   cp "$0" /usr/bin/doOnUSBinsert
   chmod u x /usr/bin/doOnUSBinsert

#   echo 'SUBSYSTEM=="usb", ACTION=="add", RUN ="/path/to/script.sh"' | sudo tee     /etc/udev/rules.d/80-clamscan.rules
   echo 'SUBSYSTEM=="usb", ACTION=="add", RUN ="/usr/bin/doOnUSBinsert & "' | tee     /etc/udev/rules.d/80-doOnUSBinsert.rules
   if  [ $? -eq 0 ]
   then
     echo 'Rule Successfully added. See file "/usr/bin/doOnUSBinsert" if you wish to edit the command'
     exit 0
    else
     echo 'ERROR while adding rule'
     exit 1
   fi
fi



lfile="/tmp/doOnUSBinsert.log"     # udev
lfile2="/tmp/clamscanFromUdev.log"   # clamscan
lfile3="/tmp/doOnUSBinsert_mount.log"   # mount


main ()
{
sleep 12  # let the partitions to mount

   #cat /proc/$$/environ | tr '�' 'n' >> /tmp/udevEnvirn.txt
echo "found $ID_SERIAL"   >> "$lfile"
  cat /etc/mtab | grep "^$part_c"   >> "$lfile.3"

if [ "$ID_SERIAL"x = 'x' ]
then
 echo "Exiting on empty ID_SERIAL"   >> "$lfile"
 exit 1
fi

#Eg: ID_SERIAL --> /dev/disk/by-id/usb-sandisk....42343254343543
#i=0
echo 'searching partitions'   >> "$lfile"

for partitionPath in  $( find /dev/disk/by-id/ -name "*$ID_SERIAL*part*" )
do
  echo "current partition = $partitionPath"   >> "$lfile"
 # part[i  ]="$( readlink -f "$partition" )"        # Eg Output: /dev/sdb1     , /dev/sdb2
  part_c="$( readlink -f $partitionPath )"   
  mpoint="$( cat /etc/mtab | grep "^$part_c"  | awk '{print $2}' )"

  echo "partitionPath= $partitionPath, part = $part_c, mountpoint=  $mpoint"  >>     "$lfile"

  echo "Scaning -->  $mpoint"  >> "$lfile.2"
  ############################################
  clamscan -r --bell "$mpoint"/*  >> "$lfile.2"
  #############################################
done
}


main &
echo ______________________________________  >> "$lfile"
exit 0

tại sao bạn lặp lại câu trả lời của bạn và tại sao bạn lại yêu cầu ai đó chỉnh sửa bài viết?
Lynob

@Fischer Nó hoạt động như thế nào?
totti

Tôi đã chạy nó và nó cho SUBSYSTEM=="usb", ACTION=="add", RUN+="/usr/bin/doOnUSBinsert & " Rule Successfully added. See file "/usr/bin/doOnUSBinsert" to edit commandnó hoạt động nhưng tôi không thể tìm thấy tệp nhật ký trong / tmp
Lynob

Mã cập nhật. /tmp/doOnUSBinsert.log cho udev. /tmp/clamscanFromUdev.log cho clamscan. Chạy rm /etc/udev/rules.d/80-doOnUSBinsert.rulestrước khi chạy tập lệnh cập nhật.
totti

0

Trong System> Preferences> Removable Drives and Mediacó một phần để chạy tự động một chương trình khi USB được cắm.

Ở đây thêm lệnh sau:

clamscan -r -z /media

clamscan -r -z /mediaKhông tự động quét, tôi phải cắm usb và chạy nó từ thiết bị đầu cuối ... về hệ thống, hệ thống gì? không có phần nào được gọi systemtrên xubfox của tôi
Lynob

Trong dấu gạch ngang, gõ ibus. Hoặc trong loại thiết bị đầu cuối alacarte. Hoặc nó nằm dưới nút tắt máy.

Tôi đang trên xubfox, không có sự thống nhất không có dấu gạch ngang. Máy tính để bàn Xfce
Lynob

Không có tùy chọn như vậy tồn tại trong Ubuntu 15.04.
TRiG
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.