Я установил Ubuntu Server на Amazon EC2, и когда я попытался использовать «rm -rf» для удаления ненужного каталога, я получил приглашение:
rm: it is dangerous to operate recursively on '/'
rm: use --no-preserve-root to override this failsafeCode language: JavaScript (javascript)
Затем, следуя подсказке, я добавил –no-preserve-root к команде rm -rf..бинго! система повреждена.
Я провел тщательное исследование и, к сожалению, данные, удаленные с помощью rm -rf, невозможно восстановить, особенно при удалении корневого каталога. Поэтому очень важно обращать внимание на запросы безопасности при использовании rm -rf.
Как правило, выполнение «rm -rf /» запрещено, поскольку в современных версиях команды rm реализованы проверки безопасности от такого деструктивного поведения. Это означает, что не только «rm -rf/» не опасен, но и такие действия, как «rm -rf //» или «rm -rf /tmp/../», тоже не опасны. Хотя «rm -rf /» больше не представляет опасности, «rm -rf /*» по-прежнему может быть очень опасным из-за присутствия подстановочного знака «*».
root@mark:/# rm -rf /*
rm: cannot remove '/boot/efi': Device or resource busy
rm: cannot remove '/dev/pts/1': Operation not permitted
...<snip>...
rm: cannot remove '/proc/26/mountstats': Operation not permitted
^C
root@mark:/#
root@mark:/# ls
bash: /usr/bin/ls: No such file or directory
root@mark:/# rm /test/del.ini
bash: /usr/bin/rm: No such file or directoryCode language: PHP (php)
Если вам интересно, вы можете попробовать это на своей виртуальной машине. Однако я категорически не советую этого делать! В противном случае подобный вывод зальет ваш терминал, и даже если вы сразу же нажмете CTRL+C, это не поможет. Основные системные команды, такие как ls и rm, исчезнут, по крайней мере, временно.
Важно проявлять осторожность при использовании мощных команд, таких как rm -rf, и помнить о возможных последствиях. Прежде чем выполнять такие команды, всегда убедитесь, что у вас есть соответствующие резервные копии, чтобы минимизировать возможную потерю данных.
Прежде чем использовать rm -rf для удаления чего-либо, очень важно дважды проверить целевой каталог и убедиться, что он указан правильно. Настоятельно рекомендуется не пытаться использовать подстановочные знаки (rm -rf /*) для удаления файлов.