2. Определить то, что объект является письмом конечно можно. А вот то, что объект -- вложение, вряд ли. Разве что смотреть на то, из какой папки он пришёл в карантин
Необязательно по названию папки, скажем Finder умеет показывать URL <messages:xxxxxxx> в свойствах, а при открытии сравнительно недавно пришедших приложений (attachments), он даже выдаёт диалог типа: "Данный объект из письма, Вы уверены? Открыть письмо в котором его прислали? Отказаться от открытия? Открыть?". Честно говоря, я в этих атрибутах, что свинья в помидорах. Но попробовать можно, например:
$ xattr -l ~/Library/Application\ Support/DrWeb/quarantine/text.pif.6lDUH4
com.apple.metadata:kMDItemWhereFroms:
00000000 62 70 6C 69 73 74 30 30 A3 01 02 03 5F 10 18 73 |bplist00...._..s|
00000010 74 65 70 68 61 6E 65 2E 6D 61 65 73 40 6F 72 61 |tephane.maes@ora|
00000020 63 6C 65 2E 63 6F 6D 5F 10 0F 64 65 6C 69 76 65 |cle.com_..delive|
00000030 72 79 20 66 61 69 6C 65 64 5F 10 3F 6D 65 73 73 |ry failed_.?mess|
00000040 61 67 65 3A 25 33 43 32 30 30 37 30 35 31 33 31 |age:%3C200705131|
00000050 35 32 38 2E 6C 34 44 46 53 42 57 48 30 32 37 39 |528.l4DFSBWH0279|
00000060 31 37 40 62 61 6C 64 65 72 2D 32 32 37 2E 70 72 |17@balder-227.pr|
00000070 6F 70 65 72 2E 63 6F 6D 25 33 45 08 0C 27 39 00 |oper.com%3E..'9.|
00000080 00 00 00 00 00 01 01 00 00 00 00 00 00 00 04 00 |................|
00000090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7B |..............{|
0000009f
com.apple.quarantine: 0000;46473b59;Mail;8DAF9557-1A3B-4648-BA00-6A6690727FC3|com.apple.mail
$ mdls -name kMDItemWhereFroms ~/Library/Application\ Support/DrWeb/quarantine/text.pif.6lDUH4
kMDItemWhereFroms = (
"stephane.maes@oracle.com",
"delivery failed",
"message:%3C200705131528.l4DFSBWH027917@balder-227.proper.com%3E"
)
$ open "message:%3C200705131528.l4DFSBWH027917@balder-227.proper.com%3E"
А не проще после обнаружения удалить заражённое письмо с IMAP-сервера, чтобы оно не мешало и вреда не нанесло по случайности? Но если хочется попробовать с обходными путями, то:
Возможно и проще, в теории, т.к. есть два но:
- Если процесс не слишком запущен;
- Если папка удалённых писем находится в исключениях (иначе шаги по удалению придётся проводить дважды, ещё и с ней тоже).
Как я понимаю, этот процесс на настоящий момент. Мне представляется, что необходимым условием является добавление в исключения SpIDer папки удалённых писем.
Случай 1 - удаление письма, содержащего "неизлечимый" "вирус". Если мы видим в карантине запись типа: "/Users/xxx/Library/Mail/IMAP-yyy@zzz/BBBB.imapmbox/Messages/673.emlx", это тело письма попало в карантин, нужно выполнить следующие действия:
- В карантине сказать восстановить объект;
- В терминале выполнить команду "open /Users/xxx/Library/Mail/IMAP-yyy@zzz/BBBB.imapmbox/Messages/673.emlx" и, либо сразу нажать кнопку удалить, либо сначала нажать ссылку "показать в ящике", а потом удалить;
- Очистить папку удалённых писем.
Случай 2 - удаление письма, вложение которого содержит "неизлечимый" "вирус". Если мы видим в карантине запись типа: "/Users/xxx/Library/Mail/IMAP-yyy@zzz/BBBB.imapmbox//Attachments/23949/3.2/mail.zip", это приложение к письму попавшее в карантин, если само письмо не попало в карантин, то, нужно выполнить следующие действия:
- В терминале выполнить команду "open /Users/xxx/Library/Mail/IMAP-yyy@zzz/BBBB.imapmbox/Messages/23949.emlx" (IMHO имя каталога - совпадает с номером письма) и, либо сразу нажать кнопку удалить, либо сначала нажать ссылку "показать в ящике";
- Очистить папку удалённых писем;
- Удалить объект в карантине.
К сожалению я, в настоящее время, не понимаю как автоматизировать этот процесс в запущенных случаях. Например,
$ ls -l ~/Library/Application\ Support/DrWeb/quarantine/ | wc
11977 107956 939078
А несколько десятков тысяч объектов просто так не обработать. И не понятно где искать от этих файлов метаинформацию о каталогах, откуда они попали в карантин. А замечу на секундочку, что при просмотре в карантине, по-моему, даже по столбцам сортировать нельзя (или я ошибаюсь и что-то сделать можно?)
А дестяки тысяч файлов в карантине - это плод, как выше описанного дублирования объектов в Mail без исключений для папок со спамом (при условии, что спам сортирует сервер), так и частично заработавшей Time Machine.
Дело было не слишком плохо (файлы размножены, но коэффициент размножение всяко меньше 10 , см. прилагаемый файл), пока доблестная тех. поддержка не посоветовала, не просто обновить, а установить новую сборку с дистрибутива. Тут то и возникли одновременно две беды, во-первых, слетели исключения SpIDer (на папки спама и на тома TM), во-вторых частично заработала Time Machine без этих исключений (а что чаще всего обновляется и попадает в резервную копию? Правильно, файлы карантина
, ну эта троица TM, Mail и Dr.Web и порезвились на славу и подняли коэффициент размножения до нескольких сотен).
3. Любой каталог можно добавить в исключения. Например найти его в Finder и перетащить в окно настроек SpiderGuard.
Спасибо, я бы сам бы не догадался бы использовать что-то, кроме кнопки "+", это частично облегчает проблему.
А можно просто отредактировать файлы:
- ~/Library/Application\ Support/DrWeb/scan.ini;
- /Library/Application\ Support/DrWeb/drweb32.ini;
А то это создание исключений для Time Machine (монтируемые тома) дело не самое приятное.
Возможно ли такое редактирование? И требуется ли что-нибудь, кроме перезагрузки после редактирования?
P.S.
У меня несколько раз Mail переставал получать почту с сервера (перезапуск Mail и перезагрузка ОС не помогали). Есть, необоснованное, конечно, но правдоподобное подозрение, что это, возможно, происходит из за того, что SpIDer ворует файлы из под носа Mail и тащит их в карантин. В этом случае мне помогало сравнительно "полное" стирание кэш Mail командой типа:
rm -rf ~/Library/Mail/IMAP-yyy\@zzz/.mboxCache.plist ~/Library/Mail/IMAP-yyy\@zzz/INBOX.imapmbox/ ~/Library/Mail/IMAP-yyy\@zzz/.OfflineCache/
P.P.S.
Я направил в тех. поддержку запрос на улучшение интерфейса пользователя Dr.Web для Mac OS X. Изложу его так же здесь.
Собственно задача была сформулирована, удалить письмо с IMAP/Exchange/POP сервера сравнительно малой кровью.
Если добавть в окно просмотра карантина три-четыре простых функции:
- Сортировка представления записей карантина по имени файла (нажать на столбец);
- Восстановить и перейти к объекту в Finder (или даже восстановить и открыть, как бы это страшно не выглядело, т.к. на настоящий момент, IMHO основной функцией антивируса под Mac OS X является блокирование функции переноса вирусов от других систем через почту, файлы и прочие каналы);
- Скопировать имя объекта карантина в буфер обмена;
- Перейти по URL источника (попытаться перейти, ведь и исходное письмо могло быть отправлено в карантин).
Тогда, даже в запущенном случае, ручная работа становится несложной:
- Сортируем крантин;
- Для случая письма, восстанавливаем, открываем, удаляем письмо;
- Для случая вложения, либо копируем название в терминал, редактируем (руками или используем простой командный файл) и открываем письмо, либо восстанавливаем, открываем в Finder, копируем URL из свойств файла, выполняем команду типа "open message:%3CF110D9F613A6AD41BFF6469514C78D7E012F7620@xrays.cp.ru%3E";
- Удаляем остальные копии объекта в карантине;
- и т.д.
Для быстрого поиска потерянных писем, желательна работоспособность (Cmd-F).
Сообщение было изменено Serge3leo: 16 Июнь 2010 - 08:36