Атрибут файлу

Атрибут файлу (англ. file attribute) метадані, що описують файл.

Атрибут може знаходитись у двох станах: або встановлений, або знятий. Атрибути розглядаються окремо від інших метаданих, таких як дати, розширення імені файлу або права доступу. Каталоги та інші об'єкти файлової системи також можуть мати певні атрибути.

Різновиди

DOS та Microsoft Windows

В операційних системах DOS та Microsoft Windows, існують чотири атрибути:[1][2][3]

  • Архівний. Коли цей атрибут встановлено, це означає, що файл було змінено з часу проведення останнього резервного копіювання. ПЗ, за допомогою якого виконується резервне копіювання, також відповідає за зняття цього атрибуту.
  • Прихований. Файл з встановленим атрибутом вважається прихованим. Це означає, що команди MS-DOS (dir) та програми Windows (такі як Провідник) за замовчуванням не будуть відображати цей файл, якщо не ввімкнено спеціальний режим[4] .
  • Системний. Файл з встановленим атрибутом вважається системним — таким, існування якого у незміненому вигляді критично важливе для нормальної роботи системи. За замовчуванням команди MS-DOS (dir) та програми Windows (такі як Провідник) не будуть відображати цей файл, якщо не ввімкнено спеціальний режим.
  • Тільки читання. Встановлений атрибут означає, що вміст файлу не можна чи не рекомендовано змінювати. Як правило, програми для Windows ігнорують цей атрибут, якщо він встановлений для каталогів[5].

З виходом нових версій системи Windows у NTFS з'явились додаткові атрибути:

  • Стиснений (Compressed). Встановлений атрибут означає, що Windows зберігає цей файл на диску в архівованому вигляді.
  • Зашифрований (Encrypted). Встановлений атрибут означає, що Windows зберігає цей файл на диску в зашифрованому вигляді.
  • Проіндексований (Indexed). Означає, що відповідні підсистеми Windows не включатимуть вміст файлу до пошукового індексу.

4.4BSD-Lite та похідні від неї системи

У 4.4BSD та 4.4BSD-Lite файли та каталоги можуть отримати чотири атрибути, які встановлюються власником файлу або користувачем з підвищеними правами (відмічені як «User»). Ще два атрибути можуть встановлюватись лише користувачем з підвищеними правами («System»).[6]

  • (User) No-dump: Встановлений атрибут означає, що файл або каталог не повинен копіюватися під час резервного копіювання.
  • (User and System) Immutable: Означає, що файл або каталог мають лишатись незмінними. Будуть блоковані спроби відкрити файл на запис, перейменувати його, перейменувати або створити новий файл в каталозі.
  • (User and System) Append-only: До файлу можна лише додавати інформацію.
  • (User) Opaque: Використовується певна особливість монтування файлових систем в ОС.

У FreeBSD ще з'явився наступний атрибут[7] (також підтримується у DragonFly BSD):[8]:

  • (User and System) No-unlink: Означає, що файл або каталог не можна видаляти. Спроби зробити це закінчаться повідомленням про помилку доступу.

FreeBSD також підтримує:[7]

  • (System) No-archive: Встановлений атрибут означає, що файл або каталог не можна архівувати (засобами файлової системи).
  • (System) Snapshot: Файл належить до спеціального типу файлів, що обробляються системою. Цей атрибут встановлюється лише системою, навіть користувач з підвищеними правами не може його змінити.

Крім того, DragonFly BSD підтримує:[8]

  • (User and System) No-history: Історія змін не повинна зберігатись для даного файлу чи каталогу.
  • (User) Swapcache та (System) Swapcache: Визначає певні особливості роботи з SSD.
  • (System) Archived: Протилежне до No-archive.

NetBSD[9] та OpenBSD:[10] також підтримують (System) Archived.

У OS X було додано ще один атрибут[11]

  • (User) Hidden: Означає, що за замовчуванням файл з таким атрибутом не буде відображатися засобами графічного інтерфейсу, хоча команда ls все одно показуватиме його.

Зміна значення атрибуту

У DOS, OS/2 та командному рядку Windows атрибути файлу можуть бути змінені командою attrib[3][12] За допомогою Провідника Windows також можна змінювати деякі атрибути, але не атрибут «системний»[5]. Windows PowerShell має пару команд для читання/запису атрибутів: Get-ItemProperty та Set-ItemProperty.[13]

У 4.4BSD та її нащадках для перегляду атрибутів використовується команда ls а для зміни chflags.

У Linux використовуються команди chattr та lsattr.

В більшості випадків користувач повинен мати відповідні права доступу для змінення атрибуту.

Примітки

  1. Definition of: file attribute. PC Magazine. Ziff Davis. Процитовано 2 грудня 2012.
  2. File attributes. Computer Hope. Процитовано 2 грудня 2012.
  3. In Windows, what are file attributes, and how can I change them?. Knowledge Base. Університет Індіани. 11 жовтня 2011.
  4. What is a hidden file?. Windows 7 Help. Microsoft. Процитовано 2 грудня 2012.
  5. You cannot view or change the Read-only or the System attributes of folders in Windows Server 2003, in Windows XP, in Windows Vista or in Windows 7. Microsoft Support. Microsoft. 31 травня 2012. Процитовано 2 грудня 2012.
  6. http://www.opennet.ru/man.shtml?topic=chflags&category=2&russian=1
  7. http://www.freebsd.org/cgi/man.cgi?query=chflags&sektion=2
  8. http://leaf.dragonflybsd.org/cgi/web-man?command=chflags&section=2
  9. http://netbsd.gw.com/cgi-bin/man-cgi?chflags+2+NetBSD-current
  10. Архівована копія. Архів оригіналу за 24 вересня 2015. Процитовано 21 квітня 2014.
  11. https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man2/chflags.2.html
  12. Definition of: DOS Attrib. PC Magazine. Ziff Davis. Процитовано 2 грудня 2012.
  13. Use a PowerShell Cmdlet to Work with File Attributes. Hey, Scripting Guy! Blog. Microsoft. 26 січня 2011. Процитовано 3 грудня 2012.

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.