Дозволи та атрибути файлів Windows


15

Я дещо розгублений щодо всієї схеми захисту файлів Windows. Я походжу з фонових зображень Unix, тому я не повністю розумію взаємозв'язок між дозволами файлів / налаштуваннями безпеки та атрибутами; спеціально лише для читання, який може мати файл.

Наприклад, якщо я ввійшов як адміністратор до свого вікна і у мене є файл, який дозволяє повністю контролювати адміністраторів, але встановлений атрибут "лише для читання", це означає, що я не можу записати у цей файл? Чи є якийсь спосіб окрім видалення атрибута лише для читання, який я можу записувати у файли, над якими я нібито маю повний контроль? Якщо ні, то яка перевага мати повний контроль, якщо ви насправді не маєте повного контролю?


1
Фантастичне питання
Джим Б

Атрибути файлів Windows є аналогічними прапорам файлів Unix
Chris S

Я відредагував це, щоб бути більш загальним, оскільки ці принципи застосовуються до всіх сучасних версій Windows, а не лише до сервера 2003.
MDMarra

Насправді можливо змінитись у 2012 році та вище
Jim B

Відповіді:


16

Дозволи файлів диктують, який у вас доступ до файлу - так, як це звучить. Повний контроль дозволяє створювати, видаляти, додавати, змінювати дозволи, змінювати атрибути тощо.

Файли та папки можуть мати додаткові атрибути, подібно до файлів у більшості * nix файлових систем. "Прихований" приходить на думку як приклад цього на обох платформах.

У Windows деякі додаткові атрибути включають системні, лише для читання, архіви, зашифровані та стислі. Коли ви маєте повний контроль (або модифікуєте), у вас є можливість змінювати ці атрибути, але, як ви виявили, файл лише для читання є лише для читання, навіть тому, хто має повний контроль. Хоча повний контроль дає вам змогу змінювати атрибути файлу, він автоматично не переосмислює їх, як lsі не показує кореневому користувачеві прихований файл за замовчуванням у * nix.


Немає такого поняття, як "прихований" файл NTFS з використанням атрибута. Файли можна приховати за допомогою потоків. NTFS підтримує будь-які атрибути, потрібні будь-якій програмі, використовуючи розширене поле атрибутів ($ EA), тому ви можете зберігати дозволи файлів unix у файловій системі NTFS
Jim B,

6
Я не сказав, що "прихований" - це функція NTFS де завгодно, але "прихований" - це, безумовно, атрибут, який ви можете встановити у файлі чи папці. Я справді не маю уявлення, в чому полягає справа, яку ти намагаєшся зробити.
MDMarra

Що це за прихований атрибут в Unix?
Едвард Томсон

Прихований був, можливо, поганим прикладом, але ілюстрував мою думку. Сам по собі не існує "прихованого" атрибуту, а лише файли, які мають префікс із періодом. Розглянуті атрибути файлів Windows насправді є аналогічними чимось на зразок прапорів файлів в unix: freebsd.org/cgi/man.cgi?query=chflags&sektion=1 .
MDMarra

4

Дозвіл - це контроль безпеки. Атрибут застосовується незалежно від принципу безпеки, який намагається виконати операцію.

Набагато більше атрибутів, ніж те, що ви бачите в командному рядку. До них відносяться, якщо файл є посиланням, зашифрованим, каталогом (тип файлу) та цілісністю (низький, середній або високий).

Константи атрибутів файлу
http://msdn.microsoft.com/en-us/library/windows/desktop/gg258117%28v=vs.85%29.aspx

FILE_ATTRIBUTE_ARCHIVE 32 (0x20)

Файл або каталог, який є архівом або каталогом. Зазвичай програми використовують цей атрибут для позначення файлів для резервного копіювання або видалення.

FILE_ATTRIBUTE_COMPRESSED 2048 (0x800)

Файл або каталог, який стискається. Для файлу всі дані у файлі стискаються. Для каталогу стиснення є типовим для новостворених файлів і підкаталогів.

FILE_ATTRIBUTE_DEVICE 64 (0x40)

Це значення зарезервоване для використання в системі.

FILE_ATTRIBUTE_DIRECTORY 16 (0x10)

Ручка, що ідентифікує каталог.

FILE_ATTRIBUTE_ENCRYPTED 16384 (0x4000)

Файл або каталог, які зашифровані. Для файлу всі потоки даних у файлі зашифровані. Для каталогів шифрування є типовим для новостворених файлів і підкаталогів.

FILE_ATTRIBUTE_HIDDEN2 (0x2) Файл або каталог приховано. Він не входить до звичайного списку каталогів.

FILE_ATTRIBUTE_INTEGRITY_STREAM 32768 (0x8000)

Каталог або потік даних користувача налаштовано цілісно (підтримується лише на томах ReFS). Він не входить до звичайного списку каталогів. Параметр цілісності зберігається з файлом, якщо він перейменований. Якщо файл скопійовано, у файлі призначення буде встановлено цілісність, якщо в вихідному файлі або в каталозі призначення встановлено цілісність.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 та Windows XP: Цей прапор не підтримується до Windows Server 2012.

FILE_ATTRIBUTE_NORMAL 128 (0x80)

Файл, який не має інших атрибутів. Цей атрибут є дійсним лише тоді, коли використовується сам.

FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 8192 (0x2000)

Файл або каталог не має індексуватися службою індексації вмісту.

FILE_ATTRIBUTE_NO_SCRUB_DATA 131072 (0x20000)

Користувацький сканер цілісності фонових даних (AKA scrubber) не повинен читати потік даних користувача. Якщо встановлено в каталозі, він надає лише спадщину. Цей прапор підтримується лише в просторах зберігання та томах ReFS. Він не входить до звичайного списку каталогів.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 та Windows XP: Цей прапор не підтримується до Windows 8 та Windows Server 2012.

FILE_ATTRIBUTE_OFFLINE 4096 (0x1000)

Дані файлу недоступні одразу. Цей атрибут вказує на те, що дані файлу фізично переміщуються в офлайн-сховище. Цей атрибут використовується віддаленим зберіганням, яке є ієрархічним програмним забезпеченням для зберігання даних. Програми не повинні довільно змінювати цей атрибут.

FILE_ATTRIBUTE_READONLY 1 (0x1)

Файл, який доступний лише для читання. Програми можуть читати файл, але не можуть його написати чи видалити. Цей атрибут не шанується в каталогах. Для отримання додаткової інформації див. Розділ "Не можна переглядати або змінювати атрибути папок" лише для читання "або" Системні системи "в папках Windows Server 2003, в Windows XP, в Windows Vista або в Windows 7.

FILE_ATTRIBUTE_REPARSE_POINT 1024 (0x400)

Файл або каталог, що містить пов'язану точку повторного розбору, або файл, який є символьним посиланням.

FILE_ATTRIBUTE_SPARSE_FILE 512 (0x200)

Файл, який є розрідженим файлом.

FILE_ATTRIBUTE_SYSTEM 4 (0x4)

Файл або каталог, в якому операційна система використовує частину або використовує виключно.

FILE_ATTRIBUTE_TEMPORARY 256 (0x100)

Файл, який використовується для тимчасового зберігання. Файлові системи уникають запису даних на масове зберігання, якщо є достатня кількість кеш-пам’яті, оскільки зазвичай програма видаляє тимчасовий файл після закриття ручки. У такому сценарії система цілком може уникнути запису даних. В іншому випадку дані записуються після закриття ручки.

FILE_ATTRIBUTE_VIRTUAL 65536 (0x10000)

Це значення зарезервоване для використання в системі.


Це точно не відповідає на питання. Їм було цікаво, чому лише читання витісняє привілей "повного контролю". Ці атрибути використовуються в межах програм.
Натан C

1
Ви також змішали FAT-Style та NTFS Attributes - не в цьому вже є велика різниця, але бувають випадки, коли важливо відрізнятись.
Кріс Ш

1
@Nathan C. Це також точно відповідає на питання. Лише для читання не виходить повний контроль. Як йдеться у відповіді, "Атрибут застосовується незалежно від принципу безпеки, який намагається виконати операцію". Однак, як зазначив Кріс С, необов'язкові спадкові атрибути змішуються з атрибутами NTFS.
Джим Б

-6

Я дам більш довгу відповідь, але загалом атрибути, на які ви посилаєтесь, - це застарілі параметри файлу з часів файлової системи DOS FAT. FAT зберігає ці атрибути як частину записів у файлі файлової системи. NTFS має власний набір атрибутів, що інкапсулює старіші атрибути. За замовчуванням будь-який користувач із доступом до файлів може змінювати їх і може бути використаний для запобігання випадкових перезаписів даних.

Дозволи мають специфічний NTFS, і зміною цих дозволів можна керувати на основі кожного користувача (так що користувач не може переходити від читання лише до запису). Зокрема, якщо ви шукали команду attrib (яка показує як застарілі, так і нові доповнення атрибутів, як цілісність у пізніших версіях Windows), можливо, ви можете мати лише доступ для читання, встановлений у дозволах, але не встановлений лише набір у атрибутах. Також цікаво (якщо це не важливо) зрозуміти, що завдяки абстракції технічно можливо включити застарілі атрибути (зберігаються в атрибуті $ standard_information NTFS) без того, щоб вони обов'язково відображалися в звичайному графічному інтерфейсі.

Зокрема, повні дозволи управління дозволяють змінювати будь-які дозволи NTFS. Встановлення атрибута лише для читання запобігає змінам, поки його не буде видалено.

Атрибути FAT матимуть перевагу над атрибутами NTFS під Windows.


3
in general attributes are legacy settings- У вас є джерело для цього, тому що я вважаю, що це твердження є невірним. Вони безкоштовні для дозволів файлової системи - їх не замінювали та не заміняли. У стандартних дозволах немає нічого, що замінює функціональність прихованого, архіву чи системи.
MDMarra

1
Any user can modify them and can be used to prevent accidental overwrites of data.Також це фактично неправильно. Тільки користувачі з "атрибутом запису" у файл або каталог можуть змінювати атрибути на цьому об'єкті.
MDMarra

1
i.stack.imgur.com/2fhEr.png для уточнення.
Натан C

2
Джим, будь ласка, знайди хвилинку, щоб розглянути це спочатку. Ви зайшли так далеко вниз по кролячій норі "атрибут NTFS", що забули, що ви єдиний, хто говорить про атрибути NTFS. В ОП чітко йдеться про глобальні атрибути файлів типу "Прихований" та "Тільки для читання". У питанні він прямо зазначає "Лише читання". Я не можу сказати, чи ти намагаєшся бути педантичним і невдалим, чи ти законно пропустив цю точку. Так, ми знаємо, що атрибути NTFS (розширені) не є такими ж, як глобальні атрибути файлів / папок у стилі FAT. Ніхто цього не стверджує.
MDMarra

3
Я думаю, що ви явно пропустили дух і намір цього питання, і ви намагаєтеся висловити позицію, яка є однією частиною неправильною, а одна - недоброю. Ви чітко показали, що ви розумієте, як працюють атрибути NTFS, проте ніхто про них не питав, і ніхто не використовував їх у відповіді . Якщо ви намагалися показати свої знання атрибутів NTFS, ви добре зробили. Проблема полягає в тому, що ви повністю пропустили суть питання.
MDMarra
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.