Я несколько озадачен всей схемой безопасности файлов Windows. Я работаю в Unix, поэтому не до конца понимаю взаимосвязь между правами доступа к файлам / настройками безопасности и атрибутами; только для чтения, который может иметь файл.
Например, если я вхожу в систему как администратор в свой ящик и у меня есть файл, который позволяет администраторам получить полный контроль, но с установленным атрибутом только для чтения, это означает, что я не могу записать в этот файл? Есть ли способ, кроме удаления атрибута «только для чтения», который я могу записать в файлы, которые якобы имеют полный контроль? Если нет, то в чем преимущество полного контроля, если у вас нет полного контроля?
windows
permissions
Прелич
источник
источник
Ответы:
Права доступа к файлам определяют, какой у вас есть доступ к файлу - так же, как он звучит. Полный контроль позволяет создавать, удалять, добавлять, изменять разрешения, изменять атрибуты и т. Д.
Файлы и папки могут иметь дополнительные атрибуты, как и файлы в большинстве файловых систем * nix. «Скрытое» приходит на ум в качестве примера на обеих платформах.
В Windows некоторые из дополнительных атрибутов включают системный, только для чтения, архив, зашифрованный и сжатый. Когда у вас есть полный контроль (или изменение), у вас есть возможность изменять эти атрибуты, но, как вы обнаружили, файл только для чтения доступен только для чтения, даже кому-то с полным контролем. Несмотря на то, что полный контроль дает вам возможность изменять атрибуты файла, он не переопределяет их автоматически, подобно тому
ls
, как корневой пользователь по умолчанию не показывает скрытый файл в * nix.источник
Разрешение - это контроль безопасности. Атрибут применяется независимо от участника безопасности, пытающегося выполнить операцию.
Есть гораздо больше атрибутов, чем вы видите в командной строке. К ним относятся, если файл представляет собой ссылку, зашифрованный, каталог (тип файла) и целостность (низкий, средний или высокий).
Константы файловых атрибутов
http://msdn.microsoft.com/en-us/library/windows/desktop/gg258117%28v=vs.85%29.aspx
источник
Я предоставлю более длинный ответ, но в целом атрибуты, на которые вы ссылаетесь, являются устаревшими настройками файла со времен файловой системы DOS FAT. FAT хранит эти атрибуты как часть записей каталога файловой системы для файла. NTFS имеет свой собственный набор атрибутов, которые инкапсулируют старые атрибуты. По умолчанию любой пользователь, имеющий доступ к файлам, может изменять их и использовать для предотвращения случайной перезаписи данных.
Разрешения зависят от NTFS, и изменениями этих разрешений можно управлять для каждого пользователя (так что пользователь не может перейти с режима «только чтение» на режим записи). В частности, если вы посмотрите на команду attrib (которая показывает как устаревшие, так и новые добавления атрибутов, такие как целостность в более поздних версиях окон), можно иметь доступ только для чтения, установленный в разрешениях, но не иметь только доступ для чтения, установленный в атрибутах. Также интересно (если не важно) понять, что из-за абстракции технически возможно включить устаревшие атрибуты (хранящиеся в атрибуте $ standard_information NTFS) без их обязательного отображения в обычном графическом интерфейсе.
В частности, полный контроль разрешений позволяет вам изменять любые разрешения NTFS. Установка атрибута только для чтения предотвращает изменения до тех пор, пока он не будет удален.
Атрибуты FAT будут иметь приоритет над атрибутами NTFS в Windows.
источник
in general attributes are legacy settings
- У вас есть источник для этого, потому что я считаю это утверждение неверным. Они дополняют разрешения файловой системы - они не были заменены или заменены ими. В стандартных разрешениях нет ничего, что заменяло бы функции скрытых, архивных или системных.Any user can modify them and can be used to prevent accidental overwrites of data.
Кроме того, это на самом деле неверно. Только пользователи с «записать атрибут» в файл или каталог могут изменять атрибуты этого объекта.