6

Я часто использую Linux LiveCD (или Puppy на жестком диске) для дезинфекции компьютеров Windows, которые заражены различными вредоносными программами. Однако, как только вредоносная программа исчезнет, вам все равно придется иметь дело с модификациями, которые она могла бы внести, и, к сожалению, Linux не так хорош для этого.

Недавние программы FakeAV пытаются испугать пользователя, заставляя все исчезнуть - они устанавливают параметр «Не показывать скрытые или системные файлы» (и защищают его с помощью групповой политики), а затем устанавливают скрытые / системные атрибуты. для каждого файла в Documents and Settings\UserName.

Что бы я хотел - но не нашел - это инструмент Linux для сброса этих атрибутов. Я полагаю, что если бы я запустил Samba, разделил том NTFS и правильно установил параметры, я мог бы сделать это из клиента DOS или Windows ... но это настоящая боль, и в любом случае я не уверен в том, чтобы делиться NTFS том через самбу. Есть ли способ сделать это напрямую?

Редактировать:
ОК - звучит как setfattr(1) - это то, что мне нужно; однако, мне кажется, что я бы установил битовую карту значения напрямую, а не применил маску. Правильно ли я понимаю, и если да, что (если что) я могу сделать, чтобы реализовать маску?
Другими словами, некоторые файлы могут на законных основаниях быть только для чтения; у некоторых может быть установлен бит архива. Как мне только сбросить Hidden или System, не касаясь других - например, attrib -s -h в командной строке Windows? Если единственный способ сделать это - сначала получить getfattr , а затем решить, какие параметры передать в setfattr... что ж , я надеюсь, что нет.

5 ответов5

7

NTFS-3G включает команду setfattr :

setfattr -h -v 0x00000000 -n system.ntfs_attrib_be target-file

должен очистить все атрибуты (последний аргумент target-file должен быть изменен, конечно.) Смотрите здесь список доступных атрибутов и как их установить.

5

setfattr вероятно, работает для файловых систем NTFS, но если кому-то нужно сделать то же самое для файловых систем FAT (vfat/fat16/fat32), см. пакет mtools . Это сделает работу!

3

Попробуйте мой сценарий оболочки, который является (в основном) повторной реализацией команды attrib в Windows.

При этом используется атрибут system.ntfs_attrib_be из NTFS-3G, поэтому вам нужны gatfattr и setfattr из вашего дистрибутива (в Debian/Ubuntu: sudo apt-get install attr).

Но после этого просто используйте его, не помня битовых масок, например

./ntfs_attr.sh -h -s some_file_in_ntfs_volume

https://gist.github.com/Explorer09/ac4bf6838c271a9968b3 (Миграция на GitLab; старая ссылка может перестать работать.) https://gitlab.com/snippets/1720133

Заметки:

Параметр /L в attrib в Windows реализован здесь, подробности см. В справке скрипта.

/S и /S /D (намеренно) не реализованы. Попробуйте найти (1) с этим сценарием вместо этого.

3

Если вы монтируете файловую систему с соответствующей последней версией NTFS-3G, вы можете использовать getfattr и setfattr для доступа к этим атрибутам.

1

Просто хотел добавить что-то, что я недавно использовал.

Если вы пытаетесь изменить атрибуты MSDOS в файловой системе FAT16/32 (я использовал Git Bash и пытался отобразить файлы на моей флешке fat32, которая была скрыта вредоносной программой), вы можете использовать fatattr

Синтаксис команды для отображения файлов довольно прост.

fatattr -h /path-to-your-file /file-name

Другие доступные варианты можно проверить здесь.

Его можно скачать с Sourceforge

Просто поместите его в каталог git bash binaries, и все готово!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .