Управление файлами. Инструменты управления сервером. Дополнительный софт для упрощения работы с файлами

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

В широком смысле понятие "файловая система" включает:

    совокупность всех файлов на диске;

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

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

СУФ реализует выполнение следующих базовых функций.

      Организацию логической системы в виде томов памяти и каталогов файлов.

      Управление томами, в том числе:

    инициализацию (форматирование);

    подключение (перевод в оперативное состояние);

    отключение (перевод в автономное состояние).

    Управление каталогами файлов:

    создание каталогов;

    переключение между каталогами;

    удаление каталогов.

    Манипуляции с файлами:

    создание файла (определение имени, выделение места во внешней памяти);

    удаление файла (освобождение имени и занимаемого файлами пространства);

    открытие файла (объявление ОС о намерении использовать файл с определенными функциями доступа и правами);

    закрытие открытого файла (запрещение всякого доступа к файлу);

    копирование и переименование файла.

      Связь файлов и потоков ввода/вывода, соединение и переадресацию потоков.

      Организацию логической структуры файлов и доступа к записям файлов в требуемом порядке.

      Защиту файлов от несанкционированного доступа и управление правами доступа.

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

Файлы бывают разных типов: обычные файлы, специальные файлы, файлы-каталоги.

Обычные файлы в свою очередь подразделяются на текстовые и двоичные. Текстовые файлы состоят из строк символов, представленных в ASCII-коде. Это могут быть документы, исходные тексты программ и т.п. Текстовые файлы можно прочитать на экране и распечатать на принтере. Двоичные файлы не используют ASCII-коды, они часто имеют сложную внутреннюю структуру, например, объектный код программы или архивный файл. Все операционные системы должны уметь распознавать хотя бы один тип файлов - их собственные исполняемые файлы.

В разных файловых системах могут использоваться в качестве атрибутов разные характеристики, например:

    информация о разрешенном доступе;

    пароль для доступа к файлу;

    владелец файла;

    создатель файла;

    признак "только для чтения";

    признак "скрытый файл";

    признак "системный файл";

    признак "архивный файл";

    признак "двоичный/символьный";

    признак "временный" (удалить после завершения процесса);

    признак блокировки;

    длина записи;

    указатель на ключевое поле в записи;

    длина ключа;

    время создания, последнего доступа и последнего изменения;

    текущий размер файла;

    максимальный размер файла.

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

Для пользователей файл обозначается с помощью идентификаторов - внешних имен (могут быть и внутренние имена файлов). Пользователи дают файлам символьные имена, при этом учитываются ограничения ОС как на используемые символы, так и на длину имени. До недавнего времени эти границы были весьма узкими. Так, в популярной файловой системе FAT длина имен ограничивается известной схемой 8.3 (8 символов - собственно имя, 3 символа - расширение имени), а в ОС UNIX System V имя не может содержать более 14 символов. Однако пользователю гораздо удобнее работать с длинными именами, поскольку они позволяют дать файлу действительно мнемоническое название, по которому даже через достаточно большой промежуток времени можно будет вспомнить, что содержит этот файл. Поэтому современные файловые системы, как правило, поддерживают длинные символьные имена файлов. Например,Windows NT в своей новой файловой системе NTFS устанавливает, что имя файла может содержать до 255 символов, не считая завершающего нулевого символа.

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

Длинные имена поддерживаются не только новыми файловыми системами, но и новыми версиями хорошо известных файловых систем. Например, в ОС Windows 95 используется файловая системаVFAT, представляющая собой существенно измененный вариантFAT . Среди многих других усовершенствований одним из главных достоинствVFAT является поддержка длинных имен. Кроме проблемы генерации коротких эквивалентных имен, при реализации нового варианта FAT важной задачей была задача хранения длинных имен при условии, что принципиально метод хранения и структура данных на диске не должны были измениться.

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

Простой одноуровневый каталог представляет собой оглавление тома (используется в однопользовательских ОС - рис.11.1)

Рис.11.1. Простой одноуровневый каталог .

Иерархический, многоуровневый каталог (древовидный или сетевой) - это совокупность каталогов и дескрипторов файлов различной глубины (рис.11.2).

Рис.11.2. Иерархический многоуровневый каталог

Каталоги образуют дерево, если файлу разрешено входить только в один каталог, и сеть - если файл может входить сразу в несколько каталогов. В MS-DOS каталоги образуют древовидную структуру, а в UNIX"е - сетевую. Как и любой другой файл, каталог имеет символьное имя и однозначно идентифицируется составным именем, содержащим цепочку символьных имен всех каталогов, через которые проходит путь от корня до данного каталога.

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

ОС обеспечивает определение нескольких текущих каталогов (путей доступа), которые в заданной последовательности просматривается при обращении к файлу по имени:

PATH C:\; C:\nc; D:\ альтернативные маршруты .

В процессе диалога ОС для группировки и удобства работы с файлами используются 2-х и 3-х компонентные идентификаторы:

[ <префикс>:] <имя файла> [ .суффикс/расщирение] .

Например, в MS-DOS C:\sys\forrmat.com .

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

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

Важной характеристикой СУФ является обеспечение независимости программ от используемых ПУ и файлов. Для этого вводится понятие потока ввода/вывода как средства отсроченного установления связи программы с конкретными файлами и ПУ.

Поток ввода/вывода - это объект, который обладает всеми характеристиками устройства ввода/вывода, но не является реально существующим. Программа работает не с файлами, а потоками ввода/вывода.

В операционной системе MS-DOS, например, по умолчанию в качестве входного потока данных рассматривается клавиатура, а выходной поток направляется на дисплей. Для переопределения потоков ввода/вывода используются следующие символы:

< - для определения входного потока;

>- для определения выходного потока;

>> - для модификации (добавления) ранее определенного выходного потока.

Выполнение команды DIR>LPT приведет выводу содержимого текущего каталога на принтер.

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

Команда DIR|SORT выведет на дисплей отсортированный список файлов, полученный командойDIR.

Так как инфраструктура и развёртывание становятся гибридными, а рабочие нагрузки распределены по облакам, усилия по управлению всеми этими областями многократно возрастают. Это очевидно плохо и хотелось бы иметь более контролируемый способ управления ресурсами, которые могут существовать не только локально, но и в Azure.

Инструменты управления сервером (SMT) представляют размещённый в Azure веб-интерфейс и инструменты командной строки . Администраторы могут управлять из этого GUI Nano Server или ядром сервера не затрагивая зону обслуживания этих развёртываний.

Этот инструмент в настоящее время имеет следующие возможности

  • Просмотр и изменение конфигурации системы
  • Просмотр производительности различных ресурсов и управление процессами и службами
  • Управление подключёнными к серверу устройствами
  • Просмотр журналов событий
  • Просмотр списка установленных ролей и компонентов
  • Использование консоли для управления и автоматизации

Пример развёртывания инструментов управления сервером

На диаграмме (в середине диаграммы) вы увидите, что для того, чтобы внутренняя инфраструктура могла взаимодействовать со службой в Azure, требуется сервер шлюза.

Поддержка SMT для Windows 2012 и более поздних версий

Если это Windows Server 2016, предварительная работа не требуется, но если вы используете предыдущую версию Windows (т. е. 2012 или 2012 R2), для того, чтобы управлять хостами Windows Server 2016, включая , необходимо установить WMF 5.0.

За исключением Windows Update и Device Manager, все SMT инструменты будут работать с Windows 2012 и 2012 R2. При подключении SMT и использовании его для управления предыдущими версиями Windows, есть одна вещь, которую следует учитывать: зависимости установленных приложений на сервере. Например, будет ли работать ваше приложение, если вы установите более новую версию WMF?

Примечание . Прежде чем начинать подключение сервера к SMT, проверьте, можете ли вы установить WMF 5.0, для чего перейдите на .

Чтобы убедиться, что ваши приложения правильно работают с WMF 5.0 вам могут потребоваться дополнительные тесты.

Постоянная учётная запись

В инструментах управления сервером Windows Server 2016 вы можете хранить учётные данные, которые зашифрованы с помощью шифрования AES256 и хранятся в . За шифрование этих учётных данных с сертификатом, отвечает шлюз. Они существуют только на шлюзе и перед загрузкой учётных данных в Azure находятся в безопасном состоянии. Эти учётные данные могут быть расшифрованы только шлюзом, с помощью сертификата, с которым шифровались ранее. Сертификат никогда не покидает шлюза и существует только на шлюзе.

Правила брандмауэра

Централизованное управление брандмауэром Windows, обеспечивает для серверов многочисленные преимущества, гарантируя реализацию стандартизированной политики. К сожалению, работа с брандмауэром Windows за пределами традиционных инструментов корпоративного мониторинга, как правило, была сложной задачей. Вы не могли работать в масштабе, было сложно полностью понять, какие правила включены и каков их статус. В SMT Microsoft, для поиска правил брандмауэра на конкретной машине, предоставляет поддержку графического интерфейса, что упрощает понимание происходящего.


Правила брандмауэра в SMT

Улучшения редактора сценариев Windows PowerShell

Редактор сценариев Windows PowerShell в SMT, для поддержки возможностей просмотра файлов на компьютере, был значительно обновлён. Теперь вы можете открывать, редактировать и сохранять сценарии на указанных машинах.

А также, редактор сценариев имеет возможность прямого подключения к Azure Storage Blob и сохранения ваших скриптов на нём. Затем скрипты становятся доступными для всех серверов вашей подписке и за её пределами!

Подключение редактора скриптов Windows PowerShell в SMT к Blob Storage

Проводник файлов

Наряду с основными возможностями редактора сценариев Windows PowerShell, для взаимодействия и работы со сценариями на указанных машинах, вы также можете выполнять основные действия по управлению файлами, такие как просмотр, переименование и удаление. На рисунке ниже показан пример того, как выглядит в SMT.

Проводник, показывающий содержимое машины в SMT

Локальное хранилище

SMT теперь имеет возможность предоставлять более подробную информацию о хранилище для конкретной машины. Можно отобразить информацию о дисках, томах и общих файловых ресурсах. В настоящее время эта информация доступна в формате "только для чтения", но эта технология с течением времени будет развиваться.

Информация о хранилище в SMT

Менеджер сертификатов

Сертификаты для любой ИТ-организации представляют проблемы с их управлением. Например, как проверить сертификаты на нескольких компьютерах, если не запускать Certificate Authority. SMT представляет диспетчер сертификатов, так, что теперь вы можете управлять сертификатами на указанных машинах удалённо. На следующем рисунке показано, как вы можете просмотреть все или совокупный набор сертификатов, просмотреть журнал событий и управлять жизненными циклами сертификатов с помощью функций импорта, экспорта и удаления.

Certificate Manager в SMT

Развёртывание

Развёртывание SMT относительно простое. однако это связано с использованием Azure и требует подписки Azure. Существуют различные способы получения подписки Azure, но проще всего перейти на . Здесь, если ваша организация ещё не имеет её, вы можете создать подписку.

Создаваемый вами сервер шлюза, также нуждается в доступе к Интернет, поэтому он должен быть включён в маршрутизируемую подсеть вашей организации.

Существует два способа развёртывания SMT: через Azure Portal или Windows PowerShell. Для развёртывания графического интерфейса вы можете перейти на . Чтобы использовать Windows PowerShell, перейдите по адресу .

Для дополнительного изучения возможностей сценариев WMI рекомендую обратиться к Microsoft Windows 2000 Professional Resource Kit или Microsoft Windows 2000 Server Resource Kit. Там можно найти более 50 сценариев WMI для управления или создания отчетов о чем угодно, начиная с параметров загрузки компьютера и заканчивая учетными записями пользователей. Файлы VBScript (.vbs) можно просмотреть в каталоге, куда установлен Resource Kit, но для того, чтобы освоить WMI, нужно изучить внутренний механизм работы сценариев.

WMI-сценарии 101

Сценарии WMI - это библиотека интерфейсов автоматизации, которые располагаются над Common Information Model Object Manager (CIMOM). COM-совместимые языки сценариев (например, Windows Script, WS, ActivePerl) используют интерфейсы автоматизации для доступа к инфраструктуре WMI. Библиотека Wbemdisp.dll наследует WMI объекты автоматизации, методы и свойства.

Для доступа к WMI через библиотеку сценариев WMI нужно сделать три шага, которые являются общими для большинства сценариев WMI. Первое - необходимо подключиться к службе Windows Management service, второе - получить экземпляры управляемых объектов WMI, третье - вызвать метод или получить доступ к свойствам управляемого объекта. После знакомства с интерфейсами, которые используются для выполнения этих трех шагов, гораздо увереннее чувствуешь себя на пути к вершине искусства написания сценариев.

Рассмотрим WMI-сценарий, демонстрирующий все три шага в действии. В Листинге 1 приведен WMI-сценарий Winmgmts.vbs.

Сценарий инициализирует две строковые переменные - strComputer и strProcsToKill. Имя целевого компьютера находится в переменной strComputer, а переменной strProcsToKill присвоено имя процесса, которое используется в сценарии для обнаружения и остановки всех текущих процессов с таким именем. В приведенном примере имя текущего процесса notepad.exe.

Сценарий возвращает каждый экземпляр Win32_ Process как SWbemObject из коллекции SwbemObjectSet. SWbemObjectSet и SWbemObject - это лишь два из нескольких интерфейсов, которые предоставляет библиотека сценариев WMI. Так как SWbemObjectSet является коллекцией, то доступ к ее элементам можно организовать при помощи конструкции For...Each языка сценариев VBScript (см. Листинг 1 , метка B).

Меткой B выделена часть сценария, которая выполняет последний шаг для доступа к WMI. Внутри цикла For...Each организован доступ к двум свойствам и одному методу, которые определены в классе Win32_Process. Сначала, при выполнении сценария, для каждого экземпляра Win32_ Process выводятся его идентификатор процесса ProcessID и имя Name. Затем имя текущего экземпляра процесса Win32_Process Name сравнивается со значением переменной strProcsToKill. Если эти значения совпадают, то в сценарии вызывается определенный в классе Win32_ Process метод уничтожения текущего экземпляра процесса.

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

Перечислим основные операции с файлами и каталогами:

■ создание файлов и каталогов;

■ удаление файлов и каталогов;

■ копирование файлов и каталогов;

■ перемещение файлов и каталогов;

■ смена текущего каталога;

■ переименование файлов и каталогов;

■ создание ярлыков - ссылок на файлы и каталоги.

Основной средой управления этими операциями в операционных системах с графическим интерфейсом пользователя являются:

■ рабочий стол;

■ программа, отображающая файлы на компьютере, т. е. Explorer (Проводник) в Windows (рис. 8.22) и Konqueror в Linux (рис. 8.23).

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

Создание нового файла или каталога. Перейдите в нужную папку и щёлкните в ней правой кнопкой мыши, после чего выберите из контекстного меню пункт New (Создать). Далее следует выбрать пункт Folder (Папка) для создания нового каталога или же один из доступных типов файла для создания файла. Например, если необходимо создать текстовый файл, из этого меню следует выбрать пункт Text Document (Текстовый документ).

Впрочем, выбор этого пункта можно также использовать при создании файлов неизвестного типа или типа, который не отображён в данном меню. Ведь при создании пустого текстового документа возникает файл, который не содержит ничего и который впоследствии можно наполнить любым содержимым.

Итак, значок нового каталога или файла появится в окне Проводника (Konquerora), после чего ему можно дать любое имя. Закончив ввод имени, нажмите Enter.

Удаление файлов и каталогов в современных операционных системах производится через Корзину. При этом файл не выбрасывается из файловой системы окончательно, а лишь переносится в «мусорную
корзину», откуда его по желанию можно восстановить. Содержимое Корзины можно просмотреть и вернуть случайно выброшенные нужные файлы. Файлы, выброшенные в Корзину, продолжают занимать место на жёстком диске компьютера, так как Корзина - это специальная системная папка, в которую «выбрасываемые» файлы и перемещаются.

Для удаления файла (перемещения его в корзину) выберите в Проводнике удаляемый файл и нажмите клавишу Delete. Можно также щёлкнуть правой кнопкой мыши и выбрать соответствующую команду из контекстного меню. Можно удалить сразу несколько файлов, выделив их. Чтобы выделить несколько файлов, щёлкните на каждом из них по очереди, удерживая клавишу Ctrl. Если удерживать клавишу Ctrl и щёлкнуть мышью на уже выделенном файле, то он будет исключён из выделения.

Рве. 8.2S Программа Konqueror в Linux
Для выделения файлов можно также использовать клавишу Shift. Чтобы выделить сразу несколько файлов, которые стоят друг за другом в Проводнике, щёлкните мышью сначала на первом файле, а затем, удерживая клавишу Shift, на последнем, или наоборот.

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

Если вы совершенно уверены в том, что удаляемый файл больше не потребуется, можно удалить его сразу, не помещая в Корзину. Для этого, выделив его, нажмите сочетание Shift-Delete. В Konqueror для этого также имеется соответствующий пункт контекстного меню.

Кроме того, если в Konqueror нажать сочетание Ctrl-Shift-Delete, то выделенный файл или группа файлов будут не только удалены из файловой системы, но и физически «затёрты», чтобы полностью исключить возможность даже частичного восстановления. Правда, эта функция работает, если вы от неё не отказались при установке системы Linux. В Windows аналогичной функции нет.

Неподготовленному пользователю рекомендуется всегда удалять файлы в Корзину - «мало ли что». Однако удалённые таким образом файлы занимают всё то же место на жёстком диске. Поэтому Корзину время от времени нужно очищать, как мы очищаем время от времени мусорное ведро в квартире. Для этого щёлкните правой кнопкой мыши по значку Корзины на рабочем столе и выберите из контекстного меню пункт Empty Recycle Bin (Очистить Корзину). После этого все файлы будут удалены из Корзины уже без возможности восстановить их обычными методами.

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

■ открыв нужную папку, выделите нужные файлы и нажмите Ctrl-C или выберите в меню Edit (Правка) пункт Сору (Копировать);

■ открыв папку, в которую будут копироваться файлы (папка назначения), нажмите Ctrl-V или выберите в меню Edit (Правка) пункт Paste (Вставить) - файлы будут скопированы;

■ если в предыдущем пункте выбрать из меню Edit (Правка) пункт Paste Shortcut, то вместо копирования файла в папке назначения будет создан ярлык, то есть ссылка на этот файл;

■ для перемещения файлов выделите их и нажмите Ctrl-X или выберите в меню Edit (Правка) пункт Cut (Вырезать);

■ откройте папку назначения и нажмите Ctrl-V или выберите в меню Edit пункт Paste. Файлы будут перемещены в папку назначения.

Можно также использовать метод Drag-and-Drop, т. е. перетаскивание файлов мышью при нажатой левой кнопке. При этом нужно иметь в виду следующее:

■ перетаскивать файлы можно как в открытые окна папок, так и просто на значок папки, возможно, находящийся в том же окне Проводника, или на значок диска (в Windows);

■ в Windows, если папка назначения файлов находится на том же разделе (диске), что и исходная, то при перетаскивании файлы будут перемещены;

■ в Windows, если папка назначения находится на другом разделе (диске), нежели исходная, то при перетаскивании файлы будут скопированы; в Windows при перетаскивании файлов, имеющих расширение исполняемых (ехе), на них будут созданы ярлыки;

■ чтобы скопировать файлы, при их перетаскивании удерживайте клавишу Ctrl;

■ чтобы переместить файлы, при их перетаскивании удерживайте клавишу Shift;

■ в Windows, если перетаскивать файлы не левой, а правой кнопкой мыши, то при её отпускании появится контекстное меню, в котором можно выбрать, что делать с «перетащенными» файлами: скопировать их, переместить или создать ярлыки. В Linux такое меню появляется и при перетаскивании левой кнопкой мыши.

Смена текущего каталога. В левой части Проводника (Konquerora) выберите из дерева папок нужный каталог и щёлкните на нём мышью. При этом в правой части окна отобразится содержимое выбранного каталога (папки). Кроме того, можно ввести путь к нужной папке в адресной строке в верхней части окна Проводника, подобно тому, как вводят адреса Интернета (об этом см. в гл.9).

Переименования файлов. Щёлкните на нужном файле правой кнопкой мыши и выберите из контекстного меню пункт Rename (Переименовать). Можно также выделить нужный файл, щёлкнув на нём мышью, и нажать клавишу F2. При этом откроется поле ввода, куда можно ввести новое имя файла. По окончании ввода нажмите клавишу Enter.

Разумеется, всё, что описано выше, касается стандартных графических средств управления файлами в Windows и Linux - Explorer и Konqueror. На самом деле возможности этих программ гораздо шире.

Кроме того, можно пользоваться командами, вводя их в командной строке. Некоторые основные команды Windows (DOS) и Linux были приведены выше.

Для того чтобы в системе Windows XP воспользоваться командной строкой, выберите из меню Start (Пуск) -> All Programs (Все программы) ■> Accessories (Стандартные) ■> Command Prompt (Командная строка). Откроется окно терминала командной строки (рис. 8.24).

В системе Linux для этого нужно открыть окно терминала, выбрав из стартового меню пункт Системные ■> Терминал или перейдя на одну из текстовых консолей с помощью сочетания клавиш Ctrl-Alt-Fl, Ctrl-Alt-F2 и т. д. Для возвращения в графическую среду следует нажать сочетание Ctrl-Alt-F7.
Рис. 8.24 Командная строка в Windows XP