Так что если пользователь сделал что-то вроде
cd super_important_directory
del /s /q *.*
в командной строке Windows отправляет эти файлы в корзину? Они удаляются навсегда и единственный вариант восстановления — специализированное ПО?
решение1
Короткий ответ
Нет, восстановление файлов, удаленных из командной строки, невозможно, и это «окончательное» удаление.
Не такой уж короткий ответ
Команда del
не стирает часть данных файла, она просто удаляет запись из файловой системы.
Это означает, что с помощью специализированного программного обеспечения восстановлениеможетвозможно, если на эту область диска больше ничего не записано (насколько известно системе, эта область теперь является «свободным» пространством).
Напротив, корзина — это просто место, куда перемещаются файлы, поэтому файловая система по-прежнему знает об их существовании.
Что ты можешь сделать:
Лучший способ помешать пользователям делать это — запретить им удалять файлы.
Посмотрите на права доступа к файлу:
- Щелкните правой кнопкой мыши по файлу.
- ВыбиратьХарактеристики.
- Нажмите наБезопасностьвкладка.
Лучший способ сделать это — вообще не допустить их изменения, изменив разрешения и удалив Modify
и Write
.
Если пользователи должны иметь возможность изменять файлы, можно использовать более подробные разрешения, чтобы запретить удаление, но при этом разрешить внесение изменений.
Чтобы получить доступ к расширенным разрешениям, нажмитеПередовойна вкладке безопасность.
Вы можете сохранить предоставленные права, Modify
а затем просто снять флажок Delete
разрешения.
Убедитесь, что у них также нет Delete Subfolders and Files
разрешения на доступ к родительской папке, иначе они в любом случае смогут удалить файл.
Подробнее
ВидетьКак установить, просмотреть, изменить или удалить специальные разрешения для файлов и папок в Windows XP(применимо к любой версии Windows, использующей NTFS).
решение2
нет, я не думаю, что это так. После того, как я это сделал del foobar.txt
, я не нашел foobar.txt в своей корзине. Командная строка считается инструментом для ""профессионалов"". Кроме того, вы не хотите, чтобы все файлы, которые вы удаляете с помощью пакетного файла, оставались там, пока пользователь не почувствует необходимость в конечном итоге очистить корзину. Часто пользователь даже не знает, что какой-то пакетный файл что-то удалил.
Под Linux вы можете создать псевдоним для rm
команды и перенаправить ее на какую-то другую команду или задать другие параметры. Например, вы можете сделать так, чтобы она спрашивала "вы уверены?". Но я не знаю, есть ли такая вещь, как псевдонимы в Windows.
Вы также можете ограничить доступ к cmd для ваших обычных пользователей. Я не верю, что они могут пойти и удалить системные файлы в любом случае.