вторник, 31 марта 2009 г.

Изменение DOS-атрибутов файлов из Linux

Имеется flash-накопитель, побывавший в usb-порту зараженной вирусами Windows-машины. Кроме записи обычных autorun.inf, Recycled и System Volume Information, вирус выставил каталогам с этого носителя DOS-атрибут Hidden, т.е. скрытый, создав exe-файлы с названиями этих каталогов. Удалить созданные вирусом файлы и каталоги легко. Но нужные каталоги остались скрытыми. Владельцу флешки необходимо использовать её на других машинах Windows, которые в данный момент вне досягаемости. Поэтому снимать DOS-атрибут Hidden мы будем из-под Linux.

Итак, Linux игнорирует DOS-атрибуты файлов, такие как Hidden, System, Archive и Read-only. Поэтому "исчезнувшие" для Windows-пользователей каталоги мы видим без проблем:
$ ls -l /media/sdb1
итого 12
drwxr-xr-x  11 root root 4096 Мар   5 13:49 GnuWin32
drwxr-xr-x   2 root root 4096 Мар   5 13:52 putty
drwxr-xr-x   3 root root 4096 Мар   5 13:53 Sun

Нам понадобится программа mattrib из пакета mtools.

Gentoo:
# emerge sys-fs/mtools
Mandriva:
# urpmi mtools

Далее открываем любимым редактором файл /etc/mtools/mtools.conf

Обязательно убираем или комментируем третью строчку:
#SAMPLE FILE
А так же выберем виртуальный диск DOS (раскомментируем нужную строчку и исправим путь):
drive c: file="/dev/sdb1"
Теперь мы можем посмотреть DOS-атрибуты:
# mattrib c:\*
H       C:/GnuWin32
H       C:/putty
H       C:/Sun
Нда, каталоги действительно скрытые, о чем говорит 'H' в каждой строчке.

Убираем аттрибут:
# mattrib -H c:\*
Результат:
# mattrib c:\*
C:/GnuWin32
C:/putty
C:/Sun

Владелец флешки счастлив, ведь суровый пользователь Linux избавил его от необходимости искать в своей Windows параметр "Отображать скрытые файлы", либо изучать FAR или Total Commander.

Комментариев нет:

Отправить комментарий