Следуют ли права доступа к файлам Windows:
Скажем, у меня есть файл «C: \ MyFile.txt». Я установил для этого файла несколько очень специфических разрешений.
Позже я копирую новый файл поверх этого. То же имя, то же расположение в файловой системе.
Наследует ли он те же разрешения или приносит с собой собственные разрешения?
В момент создания файла ему назначаются разрешения, помеченные как «Наследуемые файлами» из каталога, в котором он был создан. На время существования этого файла права доступа будут изменены только в следующих случаях:
Важно помнить, что все разрешения NTFS явные. Унаследованное разрешение - это разрешение с установленным флагом «Унаследовано», но это все равно это разрешение. Для всех, кроме верхней точки маркера, Windows должна касаться каждого файла ниже точки, для которой было изменено наследуемое разрешение, чтобы фактически внести изменения.
Вот почему, если вы измените права доступа наверху 5-миллионного дерева каталогов файлов и в панике нажмете кнопку «Отмена», вы напортачите. Поскольку эти разрешения будут непоследовательно применяться к этому 5-миллионному дереву файловых каталогов, и единственный способ исправить это - установить разрешение и позволить ему завершить приложение, а затем удалить его снова или сделать `` принудительно применить эти разрешения ко всему, что ниже меня 'который удалит все пользовательские разрешения ниже этой точки.
Тем не мение...
Как отмечалось в другом месте, перемещение файла в пределах той же файловой системы не считается «созданием», поэтому он сохраняет все разрешения, которые у него были при запуске. Перемещение между файловыми системами - это «создание», поэтому файл будет получать разрешения в зависимости от того, куда он перемещен.
Большинство приложений рассматривают «перезапись» как «удаление и повторное создание», в результате чего перезаписанный файл получает унаследованные разрешения в зависимости от его местоположения. Если перезапись на самом деле означает «обнулить файл и заново заполнить его новыми данными», это не создание и сохранит все разрешения, которые у него были до перезаписи; приложения, которые делают это, встречаются редко.
Ответ: вы потеряете настройки разрешений, если замените файл новым (новый файл принесет свои собственные разрешения - зависит от того, каким способом вы будете перемещать его поверх старого), и поэтому он будет делать, если вы просто скопируете файл в другое место. Он не потеряет настройки разрешений, если вы просто переименуете его или переместите в другой каталог.
Видеть Как работают разрешения на технет и Понимание разрешений Windows NTFS для более подробной информации по теме.
Более конкретное объяснение: http://www.tech-faq.com/ntfs-permissions-after-copying-or-moving-files.html (спасибо kwbaker за ссылку)
Нижняя строка:
Когда файл копируется, он наследует разрешения папки, в которую он копируется. Если файл перемещен - он сохранит свои исходные разрешения в новом месте. (Джефф Хенгесбах)
Алексей прав - хотя права доступа являются свойствами файлов и каталогов (а не местоположениями), разные методы перемещения / копирования могут по-разному влиять на эти разрешения. Эта страница есть краткое изложение.