Предотвратяване на 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