Назад | Перейти на главную страницу

Изменить пароль IIS .config (шифрование?)

Предыдущая учетная запись, которая использовалась для входа в файл конфигурации, который позволял запускать наш сайт, была удалена. Я абсолютно ничего не знаю о IIS и искал некоторое представление о том, как зашифровать свой пароль, как это делал предыдущий пользователь. Я считаю, что это тип шифрования <add name="IISWASOnlyRsaProvider...". Позже в коде я предоставил свое собственное имя пользователя и пароль, которые позволили ему снова запустить:

virtualDirectory path="/" physicalPath="C:\path\to" userName="" password="" />
<virtualDirectory path="/Pictures" physicalPath="C:\Shares\Public\pictures" userName="" password="" />

Предыдущий пароль начинался с enc:AesProvider и сопровождался зашифрованным паролем. Есть ли способ сгенерировать мой собственный зашифрованный пароль для размещения в указанном выше месте?

Откройте виртуальный каталог в диспетчере IIS, нажмите Advanced Settings... на панели действий справа. При входе Physical Path Credentials нажмите на ... кнопку и установите пользователя и пароль. Он будет сохранен в файле конфигурации.

Обратите внимание, что, хотя шифрование самого пароля является надежным, каждый администратор на машине может легко его просмотреть.

Пример для vDir foo в корне Default Web Site:

Get-WebConfiguration -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.applicationHost/sites/site[@name='Default Web Site']/application[@Path='/']/virtualDirectory[@path='/foo']" | select username, password

При этом используется тот же API, который IIS использует для получения имени пользователя и пароля из конфигурации. В то время как в конфигурации пароль зашифрован, при чтении через API он выходит в виде открытого текста.

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

http://blogs.msdn.com/b/gaurav/archive/2013/12/16/encrypting-section-of-config-file-using-aspnet-regiis-exe-the-configuration-for-physical-path- веб-конфигурация-невозможно-открыть.aspx

Как альтернатива Метод Питера с Powershell, вы также можете использовать appcmd получить пароль

%systemroot%\system32\inetsrv\APPCMD list vdirs mySite/Pictures /text:password

или установить новый

%systemroot%\system32\inetsrv\APPCMD set vdir mySite/Pictures /password:"hunter2"

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