DELTREE
DELTREE — команда командной строки в некоторых операционных системах Microsoft, SpartaDOS X[1] и FreeDOS[2], которая рекурсивно удаляет всю поддиректорию вместе с её содержимым.
Общие сведения
| DELTREE | |
|---|---|
| Тип | Команда |
| Разработчики | Microsoft, Datalight, Charles Dye |
| Операционные системы | MS-DOS 6, SpartaDOS X, ROM-DOS, FreeDOS, Windows 9x |
| Первый выпуск | март 1993 |
| Лицензия |
MS-DOS, ROM-DOS, Windows: проприетарная коммерческая FreeDOS: GPL v2 |
Обзор
При выпуске PC DOS 1.0 и MS-DOS 1.0 компании IBM и Microsoft ещё не поддерживали работу с поддиректориями. Эта возможность появилась лишь с выходом DOS 2.0, которая ввела поддержку поддиректорий и их вложенности; однако в ней не было встроенной функции для удаления целых деревьев директорий[3]. До выпуска MS-DOS 5.0 для удаления вложенных директорий требовалось сначала удалять все файлы в нижних поддиректориях, затем саму директорию, а затем повторять процесс вверх по дереву. К 1991 году конкурентная ОС DR-DOS уже имела инструмент для рекурсивного удаления файлов. С выпуском MS-DOS 6.0 Microsoft добавила команду DELTREE, восстановив функциональное равенство.
DELTREE сохранялась в Windows 9x, но не поставлялась с семейством Windows NT. Вместо этого команда rmdir (или rd) позволяет удалять директории со всем содержимым при использовании ключа /S[4].
Реализации
В MS-DOS, PC DOS и Windows 9x команда DELTREE реализована как внешняя команда и хранится отдельным файлом вне COMMAND.COM. Обычно программа запрашивает подтверждение удаления указанных директорий, однако эту защиту можно отключить специальным параметром. В отличие от большинства команд для работы с файловой системой, DELTREE позволяет указать сразу несколько директорий в одной команде. Существовала неафишируемая возможность — добавить к имени директории завершающий символ «/» для удаления только содержимого (без самой директории). Теоретически, данные, удалённые с помощью команды, могут быть восстановлены.
ROM-DOS от Datalight[5] также включает собственную реализацию DELTREE.
Версия FreeDOS разработана Чарльзом Дайем и распространяется под лицензией GPL v2[6].
Синтаксис
Синтаксис команды:
DELTREE [/Y] [ДИСК:][ПУТЬ]
Использование во вредоносном ПО и саботаже
Команда DELTREE игнорирует все атрибуты файлов и директорий, такие как «скрытый», «только для чтения» и «системный». В источниках команда описывалась как «потенциально опасная» и «способная уничтожить сотни файлов одновременно». В сочетании с PURGE (препятствующим восстановлению данных) её рассматривали как пример «наихудшего сценария» для вредоносных программ и она фигурировала в одном из первых процессов по компьютерному саботажу.
К распространению подобных угроз приводило отсутствие в MS-DOS и Windows 9x поддержки дискреционного управления доступом, тогда как семейство Windows NT такую поддержку получило. Кроме того, начиная с Windows Vista, были введены обязательное управление доступом и контроль учётных записей для дальнейшего снижения рисков.
Примечания
- ↑ SpartaDOS X 4.48 User Guide. Дата обращения: 16 марта 2019. Архивировано 10 октября 2021 года.
- ↑ The FreeDOS Project blog: FreeDOS commands quick-reference (29 июня 2018). Дата обращения: 22 июля 2018. Архивировано 22 июля 2018 года.
- ↑ Dickinson, John. Stalking the Elusive Subdirectory Path (28 мая 1985), С. 231.
- ↑ No DELTREE Command? - MalekTips. malektips.com. Дата обращения: 16 марта 2019. Архивировано 17 марта 2010 года.
- ↑ Datalight ROM-DOS User's Guide. www.datalight.com. Дата обращения: 18 января 2020. Архивировано 21 апреля 2019 года.
- ↑ FreeDOS 1.2 Updates Package — deltree (FreeDOS Base). Ibiblio.org (30 марта 2013). Дата обращения: 8 сентября 2022. Архивировано 30 июля 2021 года.
Литература
- Special Edition Using MS-DOS 6.22, Third Edition. — Que Publishing, 2001. — ISBN 978-0789725738.
- Tim O'Reilly. Windows 98 in a Nutshell: A Desktop Quick Reference / Tim O'Reilly, Troy Mott, Walter Glenn. — O'Reilly, 1999. — ISBN 978-1565924864.