Сегодня речь пойдет о скрытых и системных файлах в 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}] [[Drive:][Path] FileName] [/S [/D]]
+ — установка атрибута;
— — снятие атрибута;
/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 и прочие подобные вещи.
0 Комментарии