Я предполагаю, что target ( ../
) был где-то внутри /home/
или в другой точке монтирования, где /
была смонтирована файловая система, отличная от указанной .
- Это стандартное поведение для
mv
команды?
Да. Если файл перемещается между файловыми системами, он копируется, а затем источник удаляется, а право на копирование настраивается для зеркального отображения источника. Я предполагаю, что это было так, но часть «удалить» выдавала ошибки «отказано в разрешении» и ничего не было удалено (или почти ничего, я вернусь к этому через некоторое время).
Если перемещение должно происходить в пределах одной файловой системы, mv
попытайтесь обновить записи каталога без копирования. Когда обычный пользователь пытается переместить что-то в корневую файловую систему, процесс обычно нажимает «отказано в разрешении» и ничего не происходит. Но в этом случае целевая файловая система была другой, как описано выше. И все же mv
в какой-то момент попытался переместить /home/
(или другую) точку монтирования в своей файловой системе, глубже в дерево, где ../
был. Это действие очевидно невозможно, вы не можете переместить каталог в его подкаталог. Таким образом, файлы пользователя в той же файловой системе, которые ../
были оставлены нетронутыми, несмотря на то, что он или она мог перемещать их ../
по одному.
Единственная опасность, о которой я могу подумать, - это следующий сценарий: если бы пользователь мог удалить любые файлы и / или каталоги в файловой системе, отличные от того, где он ../
находился, mv
действовал бы так, cp
и тогда исходные файлы и / или каталоги были бы удалены . Вы должны проверить, могло ли это случиться и насколько это серьезно. В этом случае некоторые файлы могут быть перемещены назад. Этого не должно быть, если пользователь является полностью обычным пользователем. Пользователь, возможно, переместил некоторые файлы, /tmp/
но это, вероятно, ничего серьезного.
- Что-нибудь еще, что я должен проверить, чтобы удостовериться, что системе не был нанесен ущерб?
Я так не думаю. Если система настроена правильно, обычный пользователь не может ничего сделать, чтобы навредить ей. Ну, в этом случае целевая файловая система может быть переполнена из-за этих неожиданно скопированных файлов, но это все. После того, как вы имеете дело с опасным сценарием, описанным выше, удалить копию, и ваша система должна быть тонкой.
Я бы сделал все очистки, как на пользователя, а не корень, даже если кто - то должен это сделать (как sudo -u user rm something
). Дело в том, чтобы избежать повреждения системы в случае другой ошибки.