Предотвращение перезаписи в IIS6 разрешений на файлы

Мой текущий рабочий проект - создать автоматически обновляемый список работающих веб-сайтов для внутреннего использования, доступ к которому будет осуществляться через веб-браузер. Я понял, что могу сделать это, написав сценарий ASP, прочитав XML-данные в MetaBase.xml и отобразив их пользователю.

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

... Но каждый раз, когда кто-то вносит изменения в IIS, разрешения сбрасываются до значений по умолчанию.

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

Есть ли способ предотвратить это? Или, как вариант: если мой подход к этой проблеме совершенно глуп, может ли кто-нибудь предложить лучший?

Спасибо!


person Cassie    schedule 02.10.2012    source источник


Ответы (1)


если вас устраивает ASP.NET / C #, вы можете использовать DirectorEntry для перечисления списка сайтов.

См. Аналогичный пост здесь: Как найти IIS идентификатор сайта на C #?

DirectoryEntry de = new DirectoryEntry("IIS://localhost/W3SVC");
foreach (DirectoryEntry child in de.Children)
{
    if (child.SchemaClassName == "IIsWebServer")
    {
        Response.Write(child.Properties["ServerComment"].Value + "<br/>");
    }
}

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

person CJ Harmath    schedule 03.10.2012