Диспетчер служб iis в windows 10 как открыть
Перейти к содержимому

Диспетчер служб iis в windows 10 как открыть

  • автор:

Настройка веб-сервера IIS

Большинство пользователей при работе в тонком или веб-клиенте используют в основном публикацию информационных баз на основании протокола HTTP. С одной стороны — это простой и быстрый способ дать доступ к информационной базе пользователю, у которого нет дистрибутива тонкого клиента, и он может работать только в веб-клиенте или у пользователя нет прямого доступа к серверу «1С:Предприятие». С другой стороны – информационные базы, опубликованным таким образом, категорически не рекомендуются публиковать в глобальной сети Интернет, так как в таком случае используется незащищенный канал, данные по которому могут быть перехвачены злоумышленниками. Например, распространенные виды атак это:

Решением этих проблем является использование расширения протокола HTTP и в данной статье рассмотрены публикации информационных баз с использование протокола с шифрованием (HTTPS) для веб-сервера IIS.

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

План работ:

  1. Включение компонент веб-сервера.
    1. Windows 10.
    2. Windows Server 2012 R2, 2016 и 2019.

    1. Включение компонент веб-сервера

    По умолчанию в операционной среде Windows компоненты веб-сервера не установлены. В зависимости от версии установка может несущественно различаться. Мы будем рассматривать два варианта – это распространенный дистрибутив Windows 10, если планируются использовать для пробного включения шифрования протокола и Windows Server 2016/2018, если уже планируется непосредственное разворачивание публикации в продуктивной зоне.

    1.1. Windows 10

    Включение компонентов веб-сервера IIS в операционной системе Windows 10 выполняется достаточно просто. Для начала нужно открыть раздел «Программы и компоненты» («Programs and Features») в панели управления (Control panel). Сделать можно это несколькими способами:

    • Нажать сочетание клавиш Win + R и в открывшемся окне ввести «appwiz.cpl» и нажать ОК.
    • Открыть панель управления (Control panel) и выбрать пункт меню Программы – Программы и компоненты (Programs – Programs and features).

    В окне «Программы и компоненты» («Programs and Features») нажмите на кнопку «Включение и отключение компонентов Windows» («Turn Windows features on or off»).

    Когда откроется окно «Компоненты Windows» («Windows features») в нем необходимо будет проставить флажки для следующих элементов:

    • Службы IIS
      • Службы интернета
        • Компоненты разработки приложений
          • Расширение ISAPI
          • Фильтры ISAPI

          • Консоль управления IIS

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

          1.2 Windows Server 2012 R2, 2016 и 2019

          Настройка компонент для Windows Server 2012 R2, Windows Server 2016 и Windows Server 2019 одинаковая и все настройки производятся в диспетчере серверов (Server Manager).

          Откройте диспетчер серверов (Server Manager) и нажмите Управление – Добавить роли и компоненты (Manage – Add Roles and Features).

          В ответ на нажатие откроется окно мастера добавления ролей и компонентов (Add Roles and Features).

          В этом окне нажмите два раза «Далее» («Next») пока мастер не переключится на страницу ролей сервера (Server Roles).

          Во вкладке роли сервера (Server Roles) установите флажок «Web Server IIS». Так как эта роль зависит от другой роли ([Tools] IIS Management Console), то будет предложено установить ее дополнительно. Это можно сделать с помощью нажатия кнопки «Добавить компоненты» (Add Features) в открывшемся окне. После чего нажимаем кнопку «Далее» («Next») пока мастер не дойдет до вкладки «Роль веб-сервера IIS» («Web Server Role IIS»). На этой вкладке нажимайте кнопку «Далее» («Next») и попадете на вкладку «Службу ролей» («Role Services»). Во вкладке нужно найти пункт «Application Development» и выбрать в нем с помощью флажков пункты «ISAPI Extensions» и «ISAPI Filters». Как только закончите с установкой флажков нажимайте «Далее» («Next») и «Установить» («Install»).

          На этом установка веб-сервера завершена. Можно переходить к настройкам сертификатов.

          2. Выпуск самоподписанного сертификата

          Выпуск самоподписанного сертификата для веб-сервера IIS максимально простой.

          Для реальных систем не рекомендуем использовать самоподписанный сертификат.

          Для начала процедуры выпуска откройте окно Диспетчера служб IIS (Internet Information Services (IIS) Manager) и выделите сервер в списке Подключений (Connections) . После этого нажмите на ссылку «Сертификаты сервера» («Server Certificates») .

          Откроется окно доступных сертификатов сервера (Server Certificates) в котором нужно нажать «Создать самозаверенный сертификат…» («Create Self-Signed Certificate…»).

          В окне мастера создания самоподписанного сертификата остается указать только произвольное название сертификата. В большинстве случаев, во избежание путаницы лучше явно указывать в качестве значения «Полное имя сертификата» («Specify a friendly name for the certificate») адрес сервера, на котором расположен сервер IIS. Как только имя сертификата будет задано нажимайте на кнопку OK и переходите к пункту привязки сертификата.

          3. Привязка сертификата

          Предполагается, что сертификат получен и добавлен в список сертификатов сервера. Если сертификат получен с помощью распространенного сертифицирующего центра, то его нужно предварительно импортировать в окне «Сертификаты сервера» («Server Certificates»).

          Как только сертификат появится в списке, переходим непосредственно к его привязки к публикации сайта. Для этого выделяем «Default Web Site» и в окне «Действия» («Actions») нажимаем на пункт «Привязки…» («Binding…»).

          В этом окне можно увидеть, что публикация работает только на порту 80, который относится к незащищенному протоколу HTTP. Чтобы его расширить, нажмите кнопку Добавить… (Add…) слева от списка привязок сайта и в открывшемся окне выберите Тип (Type) в качестве значения «https». Завершением настройки будет выбор ранее импортированного сертификата в списке «SSL-сертификат» («SSL certificate»). Нажимаем кнопку OK и закрываем мастер привязок сайта.

          Можно переходить к публикации информационной и проверки его работоспособности.

          4. Проверка публикации

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

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

          После этого требуется нажать кнопку «Опубликовать» и дождаться окончания операции.

          Для проверки корректной работы нужно открыть страницу в браузере и перейти по ссылке, которая состоит из двух частей:

          • Имя вашего сервера (например, server1)
          • Имя публикации базы (которое было указано в окне настройки публикации)

          Для таких параметров ссылка будет иметь вид:

          Если все хорошо, то откроется страница с вашей информационной базой.

          Веб сервер IIS, запуск и настройки

          IIS (Internet Information Services) — комплекс служб Интернета от компании Майкрософт. IIS распространяется с операционными системами семейства Windows. IIS включает несколько серверов, в том числе и веб-сервер обслуживающий веб-сайты расположенные на локальной машине и в сети интернет. IIS поддерживает протоколы HTTP, HTTPS, FTP, POP3, SMTP.

          Веб-сервер IIS поддерживает сайты созданные в любой программной среде: ASP.NET, PHP, Python и др., использование любых баз данных, например: MSSQL, MySQL, PostgreSQL, SQLite. Веб-сервер IIS характеризуется малым потреблением ресурсов процессора, является одним из самых быстрых серверов, и что важно, имеет централизованную поддержку компании Microsoft.

          Тестирование сайтов на IIS localhost

          Перед опубликованием сайтов в интернете желательно их тщательно протестировать у себя на локальной сети компьютера. Для этого необходимо активировать и настроить службу веб-сервера IIS. Для повышения «производительности» выпуска сайтов, IIS можно настроить на одновременную работу нескольких веб-приложений на одном компьютере.

          Включение служб сервера IIS

          Службы IIS не устанавливаются по умолчанию при установке Windows. Чтобы включить веб-сервер для работы с сайтами необходимо включить компонент Windows службы IIS и компоненты для поддержки сайтов соответствующих технологий.

          Активация служб IIS:
          Панель Управления -> Программы -> Включение и отключение компонентов Windows
          поставьте галочки у себя также как на рисунке, для тестирования веб-сайтов этого вполне достаточно, в дальнейшем можно будет отредактировать состав включенных компонентов. После изменения состава компонентов Windows компьютер перегрузить.

          Компоненты ASP, при необходимости устанавливаются для отладки сайтов Active Server Pages устаревших версий. Для более современных включаются возможности поддержки сайтов на ASP.NET.

          Компонент CGI включается для создания динамических сайтов на скриптовых технологиях CGI и FastCGI практически для любых языков программирования: PHP, Python, C, C#, Java и др.

          Диспетчер служб IIS

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

          Включение подразумевает постановку галочки напротив пункта Консоль управления IIS. После изменения состава компонентов Windows компьютер перегрузить.

          Запустить диспетчер служб IIS можно из панели управления:
          Панель управления->Система и безопасность->Администрирование->Диспетчер служб IIS.

          Для удобства пользования консолью управления IIS можно добавить ярлык диспетчера на начальный экран.

          Дополнительные установки

          Для работы веб сайтов на основе ASP.NET возможно потребуется установка .NET Framework, старых и/или новейших версий. Для веб приложений .NET Core необходима установка пакета ASP.NET Core Hosting Bundle, включающего в себя среду выполнения .NET Core и среду выполнения ASP.NET Core. Для сервера IIS, данный пакет добавит ещё и модуль ASP.NET Core IIS.

          Для работы сайтов на PHP, Python, Java, Kotlin и других языках устанавливаются программные пакеты, указанные в документации к соответствующему языку.

          Создание сайтов на localhost веб-сервере IIS

          После активирования служб IIS операционной системы Windows, стандартно, на диске С:\ создается папка inetpub, где находятся файлы тестового сайта. Тестовый сайт вызывается в браузерах по адресу http://localhost.

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

          Процесс создания локального сайта включает последовательность действий:

          В открытом диспетчере служб IIS вызвать окно добавление сайта

          В открывшемся диалоговом окне назначить имя сайта, указать физический путь до папки с файлами сайта. А также назначить имя узла по которому сайт будет открываться в браузере. Имя узла выбирается из предварительно отредактированного файла hosts.

          После перечисленных процедур сайт добавится на веб-сервер IIS.

          Несколько сайтов на разных именах, файл hosts

          Если локальных сайтов у вас несколько и все они будут использовать стандартный порт 80, то для каждого сайта необходимо установить привязки: прикрепление сайта к имени узла. Имя узла (доменное имя) — это текстовый адрес по которому вы будете получать доступ к сайту через браузер.

          Имена узлов необходимо зарегистрировать в операционной системе. Для этого в файл hosts, расположенный по адресу C:\Windows\System32\drivers\etc требуется вписать строки соответствия IP-адреса имени сайта как на рисунке. Редактировать файл hosts нужно с правами администратора. Не обязательно, но если требуется можно привязывать имена узлов к разным локальным IP в пределах 127.0.0.1 — 127.255.255.254. Например, 127.0.0.1, 127.0.0.2, 127.0.0.3, 127.0.0.4 и т.д. Для вступления изменений в силу операционную систему требуется перегрузить.

          Несколько сайтов на одном имени

          Иногда необходимо быстро протестировать работу сайта на веб-сервере IIS. Для этого можно использовать принцип разделения доступа к сайтам по портам. Это один из способов избежать перезагрузок компьютера и начать тестирование сайтов в кратчайшее время.

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

          При вызове сайта в адресную строку браузера вписывать имя и порт, например: http://localhost:8001. Сочетание одного имени и разных портов будут уникальными адресными идентификаторами тестируемых сайтов.

          Таким способом можно использовать не только localhost, но и любое имя узла сайтов уже зарегистрированных в файле hosts. По такому же принципу можно редактировать привязки уже созданных сайтов. Вызвать окно редактирования привязок можно в контекстном меню имени сайта.

          Windows 10, IIS 10: доступ к файлам, часть 2 (архитектура IIS)

          Вот схема работы (архитектуры) веб-сервера IIS из документации на сайте компании «Microsoft»:

          Эта схема интересна, но не слишком понятна, пока не посмотришь, как она работает на практике. Ниже я попытаюсь это сделать.

          Архитектура веб-сервера IIS 10 на практике

          Как видно из рисунка выше, программа-сервер IIS 10 реализована в операционной системе «Windows 10» в качестве службы (на самом деле, нескольких служб). «Службой» называют программу, которая работает на компьютере постоянно, в фоновом режиме ожидая запросов от пользователя или других программ. Некоторые службы могут быть запущены по запросу (вручную), другие же запускаются автоматически (при начале работы операционной системы). Программа-сервер IIS 10 запускается автоматически, при начале работы операционной системы.

          Все службы (когда они запущены) в списке процессов отображаются именем «svchost.exe» (название этой программы расшифровывается как «Service Host», тут подробнее). Список процессов, запущенных на компьютере, можно посмотреть в программе «Диспетчер задач» (я ее запускаю комбинацией клавиш «Ctrl+Shift+Esc»). Если вы когда-нибудь заглядывали в эту программу, то, думаю, замечали в списке процессов множество позиций с именем «svchost.exe». Так много их потому, что на компьютере постоянно запущено и работает множество разных служб. Одна программа «svchost.exe» может «хостить» (служить главным процессом) и для одной, и сразу для нескольких служб.

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

          Окно программы «Диспетчер задач», вкладка «Процессы»:

          Окно программы «Диспетчер задач», вкладка «Подробности»:

          Окно программы «Диспетчер задач», вкладка «Службы» (из этой вкладки, внизу, по ссылке «Открыть службы», можно открыть сохраненную консоль «Службы» [файл «services.msc»] программы «mmc.exe»):

          Как видно из иллюстраций, приведенных выше, один процесс с идентификатором 3392 и с именем «svchost.exe» хостит (является главным процессом) сразу две службы: «WAS» и «W3SVC» (это соответствует схеме из документации с сайта компании «Microsoft», приведенной в начале данного поста). Понятно, что идентификатор 3392 тут не имеет значения, он назначается случайным образом при запуске процесса, его удобно использовать, чтобы сопоставить строки на разных вкладках программы «Диспетчер задач».

          Название службы «WAS» расшифровывается как «Windows Activation Service» (по-русски «Служба активации Windows»), а точнее «Windows Process Activation Service». Название немного запутывает: имеется в виду не активация операционной системы «Windows», а запуск некоторых процессов операционной системы «Windows». Эта служба используется и для веба (протоколы HTTP и HTTPS) и для сетевого общения по другим протоколам. Как видно из схемы из начала данного поста, служба «WAS» получает настройки веб-сервера IIS из главного файла настроек «applicationHost.config» и вводит эти настройки в действие.

          Название службы «W3SVC» расшифровывается как «World Wide Web Publishing Service», по-русски «Служба веб-публикаций».

          Работая вместе, эти две службы в случае необходимости запускают так называемые «рабочие процессы» (по-английски «worker process») веб-сервера IIS.

          Отмечу, что и главный процесс «svchost.exe», и хостящиеся на нем службы «WAS» и «W3SVC» по умолчанию запускаются от имени учетной записи пользователя «СИСТЕМА» (это видно на одной из иллюстраций выше, на вкладке «Подробности» программы «Диспетчер задач»). Эту учетную запись вы не найдете в списке пользователей в программе (сохраненной консоли программы «mmc.exe») «Управление компьютером». Но это одна из служебных встроенных учетных записей операционной системы (тут подробнее).

          Рабочие процессы веб-сервера IIS, пулы приложений

          Две вышеописанные службы «WAS» и «W3SVC» не обеспечивают саму работу сайтов и веб-приложений, находящихся под управлением веб-сервера IIS. Для каждого отдельного сайта и/или веб-приложения можно назначить запуск отдельного процесса, который называют «рабочим процессом», уже упомянутым выше. Это делается с помощью так называемого «пула приложений» (по-английски «application pool»). Грубо говоря, каждый рабочий процесс веб-сервера IIS соответствует своему пулу приложений.

          Отдельные пулы приложений (отдельные рабочие процессы) для отдельных сайтов и/или веб-приложений придумали для обеспечения безопасности. При такой архитектуре один сайт не может вмешаться в работу другого сайта и/или веб-приложения, если они используют разные пулы приложений. Тут всё зависит от настроек: можно настроить работу веб-сервера так, что к одному пулу приложений будет привязано несколько сайтов и/или веб-приложений. Либо можно для каждого сайта и/или веб-приложения создавать свой собственный пул приложений. Эти настройки можно выполнить в программе «Диспетчер служб IIS».

          Даже статический сайт на веб-сервере IIS работает через пул приложений. Мы рассматриваем настройки веб-сервера IIS по умолчанию, поэтому будем говорить про сайт «Default Web Site», который был создан автоматически по умолчанию при включении веб-сервера IIS. Если посмотреть в его основных настройках, он привязан к пулу приложений «DefaultAppPool», который тоже был создан автоматически по умолчанию при включении веб-сервера IIS.

          Посмотрим, как это работает на практике. У меня в корневой папке сайта «Default Web Site» размещена простая HTML-страница «index.html». То есть это, можно сказать, маленький статический сайт. Я открываю браузер и перехожу по URL-адресу http://localhost/ , после чего браузер отображает упомянутую HTML-страницу «index.html». Чтобы это произошло, рассмотренные выше две службы «WAS» и «W3SVC» обеспечивают запуск рабочего процесса для пула приложений «DefaultAppPool», через который работает мой маленький статический сайт «Default Web Site». Этот рабочий процесс обладает именем «w3wp.exe».

          После перехода на статическую HTML-страницу рабочий процесс «w3wp.exe», соответствующий определенному пулу приложений, можно увидеть на вкладках «Процессы» и «Подробности» программы «Диспетчер задач». Или открыв функцию «Рабочие процессы» веб-сервера IIS в программе «Диспетчер служб IIS». Вот как это выглядит у меня:

          Как видно на иллюстрации с вкладкой «Подробности» программы «Диспетчер задач» выше, рабочий процесс «w3wp.exe», представляющий пул приложений «DefaultAppPool», запущен от имени учетной записи пользователя «DefaultAppPool» (это по умолчанию, а вообще эта настройка может быть изменена). Для каждого пула приложений на веб-сервере IIS имеется своя встроенная учетная запись, имя которой совпадает с именем пула приложений. Следует иметь в виду, что, опять же, как и в случае с учетной записью «СИСТЕМА», описанной ранее в этом посте, встроенные учетные записи пулов приложений не показаны в списке пользователей в программе (сохраненной консоли программы «mmc.exe») «Управление компьютером».

          Кроме этого, отмечу, что рабочий процесс «w3wp.exe» не остается запущенным постоянно, как службы «WAS» и «W3SVC», а через некоторое время (минут через пятнадцать у меня) исчезает из списка запущенных процессов. То есть он завершается, если от браузера не поступает новых HTTP-запросов к пулу приложений, который представляет данный процесс «w3wp.exe».

          Процессы, запускаемые веб-сервером IIS для скриптов на языке PHP

          Выше я описал работу веб-сервера IIS для статического сайта. А как веб-сервер IIS работает в случае динамического сайта? Для примера я поместил в корневую папку сайта скрипт на языке PHP в файле «phpinfo.php». Напомню, у меня установлен интерпретатор PHP версии 8.1.10 и он настроен для работы с веб-сервером IIS. Я открыл страницу с этим скриптом в браузере по URL-адресу http://localhost/phpinfo.php , скрипт сформировал HTML-страницу так, как от него ожидалось. После этого я посмотрел, какие процессы появились в списке процессов в программе «Диспетчер задач» на вкладках «Процессы» и «Подробности». Вот что у меня там оказалось:

          Как видно из иллюстраций, приведенных выше, как и в случае с статическим сайтом, тут тоже запустился рабочий процесс «w3wp.exe», представляющий пул приложений «DefaultAppPool» (хотя я могу разместить веб-приложение в отдельной папке и создать для него отдельный пул приложений, если мне этого захочется). Кроме этого, запустился еще процесс «php-cgi.exe», связывающий веб-сервер IIS и интерпретатор PHP через интерфейс FastCGI.

          Отмечу, что порядок запуска процессов такой: «svchost.exe» запускает «w3wp.exe» (пул приложений), а «w3wp.exe», в свою очередь, запускает «php-cgi.exe». Если дальнейших запросов от браузера не поступает, процессы «w3wp.exe» и «php-cgi.exe» через некоторое время (у меня минут через пятнадцать) автоматически завершаются и исчезают из списка процессов в программе «Диспетчер задач».

          Как видно на иллюстрации выше, процесс «php-cgi.exe» по умолчанию тоже запускается от имени учетной записи пользователя «DefaultAppPool», это та же учетная запись, от имени которой запущен процесс «w3wp.exe». Если открыть функцию «Рабочие процессы» в окне программы «Диспетчер служб IIS», в этом окне будет отображен только процесс «w3wp.exe», а процесс «php-cgi.exe» там отображен не будет (его видно только в программе «Диспетчер задач»).

          Windows 10, IIS 10: доступ к файлам, часть 4 (как менять доступ)

          Очевидно, что менять доступ к папкам и файлам в операционной системе «Windows 10» можно средствами самой операционной системы. Для этого можно открыть свойства нужного ресурса (папки или файла) и найти там вкладку «Безопасность», на которой можно выполнить все нужные действия по изменению доступа, меняя список управления доступом (ACL). Это можно сделать, например, из программы «Проводник Windows».

          При работе с веб-сервером IIS удобнее менять доступ к папкам и файлам сайтов, находящихся под управлением веб-сервера IIS, средствами программы «Диспетчер служб IIS». В принципе, это тот же способ, что и в параграфе выше. Для этого сначала следует открыть окно программы «Диспетчер служб IIS» и в древовидном левом меню «Подключения» выбрать нужную ветку. Например, если я хочу изменить доступ к подпапке «wp» сайта «Default Web Site», я выберу ветку этой подпапки:

          Затем в правом меню «Действия» следует выбрать пункт «Редактировать разрешения. ». Этот пункт открывает те же свойства папки, которые можно было бы открыть из программы «Проводник Windows». Однако, если много времени работаете в окне программы «Диспетчер служб IIS», то быстрее это сделать именно из программы «Диспетчер служб IIS», а не открывая отдельно программу «Проводник Windows».

          То же самое можно сделать и для конкретных файлов, находящихся в подпапке «wp» сайта «Default Web Site», если в этом возникнет необходимость. Хотя в большинстве случаев мы регулируем доступ в свойствах папок, а эти свойства доступа затем с помощью наследования передаются файлам внутри конкретной папки (при этом следует иметь в виду, что наследование свойств доступа может быть как включено, так и отключено).

          Чтобы отрегулировать свойства конкретного файла из подпапки «wp» сайта «Default Web Site», следует в средней части окна программы «Диспетчер служб IIS» переключиться из режима «Просмотр возможностей» в режим «Просмотр содержимого», это можно сделать в средней части окна внизу:

          На иллюстрации выше видно, что после переключения в режим «Просмотр содержимого» в средней части окна программы «Диспетчер служб IIS» появилось содержимое подпапки «wp» сайта «Default Web Site». Я выбрал в этом списке файл «index.php», после чего в правом меню «Действия» можно нажать пункт «Редактировать разрешения. » и открыть окно свойств файла «index.php».

          Вкладка «Безопасность» свойств ресурса, владелец ресурса, временное повышение прав

          Вот как выглядит у меня вкладка «Безопасность» свойств папки «C:\inetpub\wwwroot\» (у вас эта папка может находиться на другом диске), это корневая папка сайта «Default Web Site»:

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

          Как видно на иллюстрации выше, по умолчанию владельцем папки «C:\inetpub\wwwroot\» является пользователь с учетной записью «СИСТЕМА». Это одна из встроенных учетных записей операционной системы «Windows 10», которая ее представляет. Папка «C:\inetpub\wwwroot\» была создана операционной системой, когда я включил веб-сервер IIS (он является компонентой операционной системы «Windows 10», по умолчанию выключенной). Список управления доступом, который видно на иллюстрации выше, является списком управления доступом по умолчанию (подробнее об этом рассказано в статье «Default permissions and user rights for IIS 7.0 and later» документации на сайте компании «Microsoft»).

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

          Повышение прав обычного пользователя до прав администратора (временное, так как права повышаются только для выполнения одного указанного действия) по-английски называют «elevation». Часто при запросе такого повышения операционная система спрашивает разрешения на это у пользователя, по-английски такой вопрос называется «elevation prompt». Но в некоторых случаях этот вопрос не задается, а обозначается иконкой щита, раскрашенного синим и желтым цветами в шахматном порядке (см. обе последние иллюстрации выше, на них обеих видны кнопки с этой иконкой). Эта иконка со щитом означает, что для данного действия потребуется повышение прав обычного пользователя до администраторских (при нажатии на кнопку это повышение будет выполнено автоматически). Подробнее об этом можно прочитать в статье «How User Account Control (UAC) works» документации на сайте компании «Microsoft».

          Думаю, теперь должно быть понятно, почему для изменения прав доступа к папке «C:\inetpub\wwwroot\» требуются права администратора: потому что владельцем этой папки является операционная система (учетная запись «СИСТЕМА»). Я не собираюсь менять права доступа к этой папке, всё вышеописанное было приведено для примера, просто чтобы проиллюстрировать работу с доступом к папке. Если изменения всё же потребуется внести, то сначала нужно будет в окне, приведенном на иллюстрации выше, нажать на кнопку «Изменить разрешения», при этом будет проверено право текущего пользователя на редактирование свойств данной папки.

          Приведу пример папки сайта, для изменения доступа к которой не нужны администраторские права доступа. Для этого я ранее создал на рабочем столе папку с названием «wp», работая под своей учетной записью «Илья» с правами обычного пользователя. Таким образом, владельцем папки «wp» был записан пользователь «Илья». После этого я переместил эту папку «wp» в корневую папку «C:\inetpub\wwwroot\» сайта «Default Web Site». Для выполнения перемещения операционная система затребовала поднятия прав моего пользователя «Илья» до прав администратора, так как перемещение в папку «C:\inetpub\wwwroot\» по умолчанию разрешено только от имени администратора. Я на это согласился. После этого, если открыть свойства полученной папки «C:\inetpub\wwwroot\wp\», перейти на вкладку «Безопасность» и нажать на кнопку «Дополнительно», то можно увидеть, что все действия (кроме смены владельца) с этой папкой разрешены от имени обычного пользователя «Илья», так как он является владельцем этой папки.

          Наследование свойств доступа

          Предположим, я хочу поменять список управления доступом к файлу «C:\inetpub\wwwroot\index.html»:

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

          Если добавить новый элемент списка управления доступом к ресурсу я могу теперь без проблем, то удалить имеющийся элемент в этом списке не так просто. Выделим один из элементов в списке управления доступом (после этого кнопка «Удалить» станет активной) и нажмем на кнопку «Удалить». Удаления не произойдет, а появится следующее сообщение с предупреждением:

          В данном случае элементы управления доступом из списка управления доступом унаследованы от родительской для данного файла папки «C:\inetpub\wwwroot\» (один элемент) и прародительской папки «C:\inetpub\» (четыре элемента). Унаследованные элементы можно поменять в свойствах той папки, от которой они унаследованы. Поэтому было выдано приведенное выше сообщение. Однако, это можно обойти: наследование можно отключить, а элементы, которые ранее наследовались от родительских папок, можно сделать назначенными без наследования для текущего ресурса. После этого список управления доступом данного файла можно будет поменять, удалив ненужные элементы.

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

          Выберем первый вариант: «Преобразовать унаследованные разрешения в явные разрешения этого объекта».

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *