Заметки о Windows и других программных продуктах Microsoft...

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

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

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

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

 

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

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

 Атрибуты

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

H — скрытый (hidden). Скрывает файл, делая его невидимым в проводнике Windows;
S — системный (system).  Указывает ОС обрабатывать файл как системный;
R  — только для чтения (read-only). Защищает файл от изменения, делая его доступным только на чтение;
— архивный (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 7 и XP

 

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

открытие свойств папки из проводника в Windows 8

 

Тем, кто не ищет легких путей 🙂 управлять отображением в проводнике скрытых\системных файлов возможно с помощью прямой правки реестра. Для этого в разделе 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-е отображение скрытых файлов включено по умолчанию.

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

 

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

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

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

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

изменение атрибутов файла в проводнике

 

Еще для управления атрибутами в 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 для изменения атрибутов выделяем файл\папку, затем переходим в меню «Файлы» — «Изменить атрибуты» и в поле «Изменение атрибутов» ставим отметку напротив нужных атрибутов.

изменение атрибутов файла в Total Commander

 

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

изменение атрибутов файла в FAR

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

Немного поговорим о запретах. Например, требуется запретить пользователям изменять настройки отображения скрытых файлов. Сделать это можно с помощью параметра реестра 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 и прочие подобные вещи.

 
 
Комментарии
Дмитрий

Спасибо огромное за полезные советы!

Ответить