Атрибуты файлов. Команда ATTRIB для изменения атрибутов файла

29.01.2019

Каждый файл или папка в Microsoft Windows XP может иметь собственный набор атрибутов, указывающих на какой-либо из возможных методов использования данного файлового объекта. В файловой системе FAT различают три основных атрибута файлов и папок:

    Только чтение (Read Only)- режим защиты файлов от случайного изменения, редактирования или уничтожения хранящейся в нем информации. Если для файла или папки включен режим «Только чтение», запись в них будет невозможна;

    Архивный (Archive)- атрибут файла или папки, обозначающий, что данный файловый объект подлежит компрессии и его содержимое может быть сжато при помощи специальных программ. Следует учитывать, что при изменении данного параметра для группы объектов атрибут может быть недоступен в случае, если часть файлов из выделенного массива подлежит архивации, а другая часть- нет;

    Скрытый (Hidden)- параметр, указывающий на то, что данный файловый объект является скрытым и при обычных условиях в операционной системеWindows XP отображаться не будет. Скрытые файлы и папки нельзя использовать, изменять или открывать, если неизвестно их имя. Данный атрибут обычно используется для защиты файловых объектов от случайного удаления.

Атрибуты, назначенные для каждого из файловых объектов, обозначаются в Windows XP при помощи специального набора символов: R - для атрибута «Только чтение», H - для атрибута «Скрытый», A - для атрибута «Архивный». Список атрибутов, назначенных какому-либо файлу или папке, можно увидеть в поле Атрибуты файлового менеджера Проводник: например, если для некоего файлового объекта в данном поле отображается обозначение RHA, это означает, что файл является скрытым, архивным и открытым только на чтение; если же данное обозначение формулируется, как RA, следовательно, файл открывается только на чтение и является архивным.

Изменить атрибуты файла или папки можно следующим образом: щелкните на значке файлового объекта правой кнопкой мыши и в появившемся контекстном меню выберите пункт Свойства (Properties). В нижней части открывшегося окна свойств файла или папки вы увидите перечень назначенных для данного файлового объекта атрибутов. Назначение или снятия атрибутов файлов или папок осуществляется методом установки или сброса соответствующих флажков (рис. 8.1).

В файловой системе NTFS помимо описанных выше атрибутов файловых объектов различают еще два дополнительных:

    Сжатый (Compressed)- файл или папка сжаты программными средствами NTFS;

    Шифрованный (Encrypted)- файл или папка зашифрованы с использованием внутренних алгоритмов шифрования NTFS.

Рис. 8.1.

Доступ к управлению данными атрибутами файловых объектов осуществляется по нажатию кнопки Дополнительно (Advanced) во вкладке Общие (General) окна свойств файла или папки.

Управление файлами

Доступом называется обращение к файлу с целью чтения или записи в него информации. Файловая система поддерживает два типа доступа к файлам:

Ø последовательный метод доступа;

Ø прямой (непосредственный) метод доступа.

При последовательном доступе записи из файла считываются подряд, строго в порядке их расположения в файле. Поэтому, чтобы обратиться (получить дос­туп) к определенной записи, необходимо читать все предыдущие. При прямом доступе обеспечивается непосредственное обращение к записи по ее номеру в файле. Механизм доступа к файлу и его записям при программировании также имеет два варианта:

· доступ к файлу с использованием специальной таблицы - управляющего
блока файла;

· доступ к файлу по идентификатору.

Управляющий блок файла (FCB - File Control Block) содержит следующую ин­формацию:

· номер (букву) дисковода, где установлен диск с файлом;

· имя файла и его расширение;

· текущий номер блока в файле;

· длину записи в байтах;

· размер файла в байтах;

· дату последней модификации файла;

· относительный номер записи (текущий номер);

· номер записи и т. д.

Некоторые из вышеназванных параметров требуют дополнительного пояснения. Файл состоит из блоков, объединяющих по 128 записей в каждом. Относитель­ный номер записи - это порядковый номер записи в блоке. Текущий номер бло­ка и относительный номер записи используются при последовательном доступе к записям файла. Номер записи - это параметр, объединяющий номер блока и относительный номер записи в блоке, он используется при произвольном досту­пе к записям файла. Важный параметр - длина записи (точнее, длина логиче­ской, кажущейся записи, которая может отличаться от длины физической запи­си из-за наличия различных служебных элементов в структуре записи и файла). Длина записи используется при определении числа байтов, пересылаемых при обмене информацией с ОЗУ и при определении положения записи внутри бло­ка. Блок FCB позволяет получать доступ к файлам только в текущем каталоге. Идентификатор файла - ASCIIZ-строка, идентифицирующая файл. ASCIIZ- (ASCII-Zero) строка содержит следующую информацию:

· номер (логическое имя) дисковода и путь к файлу (если нужно);

· имя файла и его расширение;

· нулевой байт (zero-байт).

Атрибуты файлов

Атрибут - это классифицирующий файл признак, определяющий способ его ис­пользования, права доступа к нему и т. д. ОС DOS допускает задание следую­щих элементов в атрибуте:

R (Read only) - файл предназначен только для чтения и не может быть ни удален, ни изменен. При попытке обновить или уничтожить такой файл сис­темными средствами (при помощи программ DOS) будет выдано сообщение об ошибочных действиях. Атрибут устанавливается для защиты от случайно­го изменения или уничтожения;

Н (Hidden) - скрытый файл. Игнорируется многими командами DOS. При просмотре каталога командой DIR сведения о скрытом файле обычно не вы­даются;

(System) - системный файл. Системные файлы предназначены для работы операционной системы или работы внешних устройств ПК;

A (Archive) - еще не архивированный файл. Этот атрибут позволяет опреде­лить, было ли произведено резервное копирование файла (создание его ре­зервной копии в специальном формате). Атрибут А присваивается каждому вновь создаваемому файлу и сбрасывается (уничтожается) при создании ре­зервной копии файла.

Файлу могут быть присвоены одновременно любые из перечисленных атрибутов или ни один из них.

К группе атрибутов файла можно условно отнести пароль, обеспечивающий раз­граничение доступа к файлам.

Скрытые и системные файлы Windows

Сегодня речь пойдет о скрытых и системных файлах в Windows, а также о способах работы с ними. Для примера возьмем файл подкачки pagefile.sys. Нам совершено точно известно, что он должен находиться в корне системного диска С, однако если открыть проводник Windows, то этого файла мы там не увидим.

Дело в том, что операционная система скрывает некоторые важные системные файлы, защищая их от излишне любопытных пользователей. Для сравнения, так выглядит проводник с включенным отображением скрытых\системных объектов.


Атрибуты

За отображение файлов и папок в проводнике Windows отвечают специальные метаданные — атрибуты . Вот описание некоторых из них:

H — скрытый (hidden). Скрывает файл, делая его невидимым в проводнике Windows;
S — системный (system). Указывает ОС обрабатывать файл как системный;
R — только для чтения (read-only). Защищает файл от изменения, делая его доступным только на чтение;
A — архивный (archive). Указывает на то, что со времени последней архивации файл был изменен, используется системами резервного копирования;
I — проиндексированный (indexed). Указывает на то, что содержимое файла не должно индексироваться;
D — директория (directory). Указывает на то, что объект является директорией;
L — ссылка (link). Указывает на то, что объект является ссылкой.

Проводник умеет показывать атрибуты файлов так же, как любые другие свойства (тип, размер, и пр.). Для этого надо кликнуть правой клавишей мыши по названию столбца и в отметить в контекстном меню пункт «Атрибуты».


Как видите, все скрытые файлы имеют атрибуты H или HS. Именно эти атрибуты влияют на то, будет ли файл отображаться в проводнике или нет. Соответственно, увидеть скрытые файлы можно двумя способами — включив их отображение в проводнике (или другом файловом менеджере) или сняв эти атрибуты.

Включение отображения скрытых файлов

Настройки отображения скрытых файлов и папок в проводнике Windows находятся в оснастке панели управления «Параметры папок» (Folder options). Быстро открыть оснастку можно, нажав Win+R и введя команду control folders .


Для показа скрытых файлов\папок (атрибут H) надо на вкладке «Вид» в поле «Скрытые файлы и папки» установить переключатель в позицию «Показывать скрытые файлы, папки и диски». Для отображения скрытых системных файлов (имеющих атрибуты HS) надо дополнительно убрать галку с пункта «Скрывать защищенные системные файлы».

Оснастку «Параметры папок» можно открыть и напрямую из проводника. В Windows XP и Windows 7 (а также Windows Server 2003\2008\2008R2) для этого надо в меню «Сервис» выбрать пункт «Параметры папок».

Примечание. В Windows 7 меню скрыто, для его появления надо нажать клавишу Alt .


В Windows 8\Server 2012 в проводнике появилась лента (Ribbon), на которую вынесены наиболее нужные опции. Так быстро включить отображение скрытых файлов можно, перейдя на вкладку «Вид» и отметив пункт «Скрытые элементы», а открыть основную оснастку можно кнопкой «Параметры».


Тем, кто не ищет легких путей 🙂 управлять отображением в проводнике скрытых\системных файлов возможно с помощью прямой правки реестра. Для этого в разделе HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Adwanced есть два параметра типа Dword:

Hidden — отвечает за отображение скрытых файлов (0 — не отображать, 1 — отображать);
ShowSuperHidden — отвечает за отображение защищенных системных файлов (0 — не отображать, 1 — отображать).


Если вы пользуетесь альтернативными файловыми менеджерами, такими как FAR или Total Commander, то в них тоже есть возможность включить отображение скрытых файлов папок.

В FAR для того,чтобы увидеть скрытый контент, жмем F9, переходим в раздел меню «Параметры» — «Настройки панели» и отмечаем пункт «Показывать скрытые и системные файлы» (в англ. варианте Options — Panel settings — Show hidden and system files). Впрочем, скорее всего ничего этого делать не понадобится, поскольку в FAR-е отображение скрытых файлов включено по умолчанию.


В Total Commander открываем меню «Конфигурация — «Настройка» — «Содержимое панелей» и отмечаем пункт «Показывать скрытые/системные файлы» (в англ. Configuration — Options — Display — Show hidden/system files). Что интересно, Total Commander (в отличие от FAR-а) не включает отображение скрытых файлов по умолчанию, а кроме того в настройке присутствует предупреждение (только для опытных!).


Изменение атрибутов

Поскольку видимость объекта определяется его атрибутами, то переходим к способам их изменения. Некоторые атрибуты файлов\папок, можно изменить с помощью проводника. Например, чтобы сделать файл скрытым, достаточно открыть его свойства и в поле «Атрибуты» поставить галочку напротив соответствующего атрибута.

Еще для управления атрибутами в Windows есть утилита командной строки attrib.exe , которая может показывать и изменять любые атрибуты объекта. Синтаксис утилиты выглядит примерно так:

attrib [{+R|-R}] [{+A|-A}] [{+S|-S}] [{+H|-H}] [ FileName] ]

+ — установка атрибута;
— снятие атрибута;
/S — применить команду ко всем файлам в текущей директории и поддиректориях;
/D — применить команду к директориям;
/? — вывод справки.

Например, следующая команда выведет атрибуты файла:

attrib ″C:\Temp\file.html″

Так мы уберем у файла атрибут скрытый (-H):

attrib -H ″C:\Temp\file.html″

А так сделаем его скрытым (+H) и системным (+S):

attrib +H +S ″C:\Temp\file.html″

Примечание. Обратите внимание на порядок операций. Дело в том, что атрибуты h и s можно добавлять только вместе. Например, при попытке добавить скрытому файлу атрибут системный будет выдана ошибка. Поэтому, надо сначала удалить атрибут (-H), а потом добавить оба атрибута (+H +S).


В Total Commander для изменения атрибутов выделяем файл\папку, затем переходим в меню «Файлы» — «Изменить атрибуты» и в поле «Изменение атрибутов» ставим отметку напротив нужных атрибутов.


В FAR примерно также, только окно изменения атрибутов открывается комбинацией клавиш Ctrl+A (или через меню F9 — Файлы — Атрибуты файлов).


Запрет на изменение

Немного поговорим о запретах. Например, требуется запретить пользователям изменять настройки отображения скрытых файлов. Сделать это можно с помощью параметра реестра CheckedValue , находящегося в разделе HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\Showall. По умолчанию его значение равно 1, а если задать ему значение 0, то включение отображения скрытых файлов в свойствах папки перестает работать.


Ну и более кардинальный способ — это запретить открытие оснастки «Свойства папок». Для этого необходимо в разделе HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer создать параметр типа Dword с именем NoFolderOptions и присвоить ему значение 1. Отключить запрет можно, задав параметру NoFolderOptions значение 0 или удалив его из реестра.


Примечание. Оба вышеописанных способа отлично работают, однако начиная с Windows 8\Server 2012 изменить видимость скрытых файлов в проводнике можно с помощью чекбокса «Скрытые элементы», на который эти настройки не влияют. Также запреты никак не влияют на возможность FAR и Total Commander показывать скрытые объекты.

Заключение

В качестве заключения еще раз напомню, что атрибуты скрытый и системный никаким образом не защищают файлы и папки от изменения или удаления, а влияют лишь на видимость объектов в проводнике Windows. Полноценно защитить файл с помощью атрибутов невозможно, поэтому для защиты важных файлов вместе с атрибутами (или вместо них) необходимо использовать другие механизмы защиты, такие как права NTFS, шифрование, службу RMS и прочие подобные вещи.

Ниже описывается терминология для не *nix-совместимых систем (DOS, OS/2, Windows). Семейство «никсовых» операционных систем и их способы хранения файлов отличаются и требуют отдельного рассмотрения.

Атрибуты файла являются специальными метками, позволяющими файловой системе идентифицировать действия, допустимые к выполнению над ними. Появление таких атрибутов было вызвано необходимостью повышения отказоустойчивости файловой системы. Так как информация в файловой системе хранится последовательно, то и должны существовать признаки, по которым можно будет отличить файл от директории, системную папку от резервной копии.

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

Их существует небольшое количество, так как изначально они появились в старых операционных и файловых системах, а их поддержка современными ОС - необходимость совместимости.

Атрибуты файла бывают следующие:

Read only. Означает, что в файл запрещена запись, и он предназначен для чтения. При его наличии ОС не позволяет производить изменения в файле. Атрибут актуален для хранения константной информации или данных с ограниченным доступом.

System. Системный файл или директория. Служит для повышенной степени защиты системной информации о данных и оборудовании. Объект с таким атрибутом гораздо сложнее изменить или удалить. В некоторых случаях, ОС полностью блокирует доступ к таким файлам - воспользоваться ими может лишь ядро

Archive. Сигнализирует, что в файле производились изменения. Этот атрибут критичен для При большом объеме резервируемой информации происходит существенное ускорение обновления архивов, если копировать лишь измененные данные - объекты, имеющие атрибуты файла - archive.

Hidden - Чаще всего применяется в связке с атрибутом system. Этот атрибут делает невидимым файл при просмотре содержимого директории.

Рядовой пользователь не использует при работе с файлами. Исключением можно считать лишь несколько моментов:

    Если на съемном носителе или жестком диске внезапно «исчезли» файлы и папки. Это бывает очень часто, когда ЭВМ заражается определенным типом вирусов, которые изменяют атрибуты файла на «системный» и «скрытый». Не стоит паниковать, проблема решается тривиально. Изменить атрибуты файла можно через диалоговое окно «Свойства» файла либо воспользовавшись любой программой-проводником (за исключением Microsoft Explorer). Также, если есть возможность доступа к можно просмотреть и изменить атрибуты файла системной командой ATTRIB. Запустив ее с ключом "/?" можно увидеть перечень возможных действий с файлами.

    Противоположная ситуация - существует ряд файлов, доступ к которым необходимо ограничить, предотвратить их изменение или возможность удаления. Тогда изменение атрибутов файлов позволит справиться с этой задачей.

    Установка атрибута «архивный» позволяет эффективно делать актуальные резервные копии при работе нескольких пользователей над одним проектом. Системы консолидации проектов можно настроить таким образом, чтобы обеспечить последними версиями данных всех пользователей при удаленном доступе.

В настоящее время с появлением современных файловых систем, увеличения требований к защите и скорости обработки информации атрибуты файла уже не так востребованы. На смену им пришли сложные надстройки с индексами, кешированием и распараллеленным доступом.

Сегодня хотелось бы уделить внимание на то, что такое атрибуты файла и как изменить атрибуты файла. Прежде чем задавать себе вопрос, почему меня потянуло в такие тонкости, давайте проведем один небольшой эксперимент. Задайте кому-нибудь из знакомых (в аське, скайпе, социальной сети) один вопрос – «Файл?».

Можете так и написать в окне чата, кстати, если вы не знаете, как установить скайп, то можете прочитать статью: « ». Так вот, могу поспорить, что в ответ на вопрос «Файл?», процентов 75% людей ответят «Какой?», надеясь получить дополнительную информацию о том, какой именно файл вас интересует. Вы можете подробно объяснить своему собеседнику, что именно имели ввиду. А вот для того, чтобы операционная система вашего компьютера получила подобные сведения, используются атрибуты файла. Поэтому уделить им внимание будет не лишним.

Зачем нужны атрибуты файлов

Если сказать по- простому, то это параметр, который указывает операционной системе на возможные действия с файлом.

Для каждого файла есть четыре основных параметра:

  • R – read only (только для чтения)
  • S – system (системный )
  • H – hidden (скрытый )
  • A – archive (архивный, требующий архивации)

R – read only . Этот параметр, который на русский язык переводится как «только чтение» отвечает за потенциальную возможность редактирования. Если его значение «да», то любые попытки внести изменения ни к чему не приведут. ОС просто не даст возможность сохранить их. Это очень удобно, если доступ к файлу имеют несколько пользователей, например в случае общих файлов в локальной сети.

S – system . Этот параметр однозначно указывает ОС, что данный файл является системным и его наличие обязательно для стабильной работы приложения или системы. Поскольку наличие этих файлов критично при попытке перемещения или удаления, Windows настойчиво спросит вас, действительно ли вы хотите проделать эти операции.

Но, вы должны помнить о существовании вирусов, если какой-то файл помечен как системный, то это не повод думать, что это так и есть.

H – hidden . Этот параметр отвечает за видимость файла пользователями. Обычно скрывают служебные или системные файлы для того, чтобы уменьшить риск случайного удаления.

A – archive . Этот параметр указывает на то, что файл находится в сжатом виде.

Как видим все достаточно просто. Стоит отметить, что в UNIX-подобных операционных системах также существуют атрибуты. На них я останавливаться не буду потому что такие ОС распространены гораздо меньше и их пользователям такая информация наверняка известна. Скорее всего, вас также интересует вопрос:

Меняем атрибуты

Сделать это достаточно просто с помощью стандартного проводника Windows. Для этого необходимо выделить файл, открыть контекстное меню (оно активируется кликом правой кнопкой мыши) и выбрать пункт «Свойства».



На вкладке «Общие» мы видим два чекбокса, которые отвечают за присвоение главных атрибутов «Только чтение» и «Скрытый». Можно задать необходимое значение, просто отметив нужный пункт галочкой.



Для примера, можете любому текстовому документу задать атрибут «Только чтение». Откройте только что созданный документ и напечатайте любое слово. Получилось его сохранить?

Кстати, именно из-за этой ситуации я и решил написать статью. Ведь многие начинающие пользователи и не понимают в чем же подвох.

Если продолжить исследование, то можно перейти к подразделу «Дополнительно». В нем содержатся чекбоксы дополнительных атрибутов, которые задают необходимость архивации после редактирования, а также необходимость проиндексировать файл для более быстрого поиска.


Как видим атрибуты файла вещь достаточно простая и задать их не сложно. Думаю, у меня получилось донести до вас информацию, что такое атрибуты файла.

А на сегодня все. Буду рад познакомиться с вашими комментариями 😉 .