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

метадані, пов'язані з комп'ютерним файлом, що визначають поведінку файлової системи

Атрибут файлу (англ. 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. Архів оригіналу за 16 січня 2013. Процитовано 2 грудня 2012. 
  2. File attributes. Computer Hope. Архів оригіналу за 30 листопада 2012. Процитовано 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. Архів оригіналу за 10 січня 2013. Процитовано 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. Архів оригіналу за 22 листопада 2012. Процитовано 2 грудня 2012. 
  6. Архівована копія. Архів оригіналу за 22 квітня 2014. Процитовано 21 квітня 2014. 
  7. а б Архівована копія. Архів оригіналу за 22 квітня 2014. Процитовано 21 квітня 2014. 
  8. а б Архівована копія. Архів оригіналу за 22 квітня 2014. Процитовано 21 квітня 2014. 
  9. Архівована копія. Архів оригіналу за 22 квітня 2014. Процитовано 21 квітня 2014. 
  10. Архівована копія. Архів оригіналу за 24 вересня 2015. Процитовано 21 квітня 2014. 
  11. Архівована копія. Архів оригіналу за 22 квітня 2014. Процитовано 21 квітня 2014. 
  12. Definition of: DOS Attrib. PC Magazine. Ziff Davis. Архів оригіналу за 2 березня 2012. Процитовано 2 грудня 2012. 
  13. Use a PowerShell Cmdlet to Work with File Attributes. Hey, Scripting Guy! Blog. Microsoft. 26 січня 2011. Архів оригіналу за 29 січня 2011. Процитовано 3 грудня 2012. 

ПосиланняРедагувати