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