2013-02-18 5 views
2

Я пытаюсь запустить мой веб-сайт на новом VPS-сервере Windows 2012/IIS8. Visual studio может подключаться и создает структуру каталогов, а затем сбой. Глядя на журналы сервера, я получаю ошибку, описанную в следующей ссылке: прокрутите вниз.Устранение неполадок MS web deploy Ошибка разрешения ACL

http://www.iis.net/learn/publish/troubleshooting-web-deploy/troubleshooting-common-problems-with-web-deploy

5/12/2011 11:31:41 AM) An error occurred when the request was processed on the remote computer. 
The server experienced an issue processing the request. Contact the server administrator for more information. 
This particular error does not give you much to go on, but the picture becomes much clearer if you look at the Web Deploy error log in Event Viewer. 
User: DEPLOYSERVER\User1 
Client IP: 192.168.0.203 
Content-Type: application/msdeploy 
Version: 8.0.0.0 
MSDeploy.VersionMin: 7.1.600.0 
MSDeploy.VersionMax: 7.1.1070.1 
MSDeploy.Method: Sync 
MSDeploy.RequestId: 63b2f3d1-1817-444f-8280-9fa4f6f85d53 
MSDeploy.RequestCulture: en-US 
MSDeploy.RequestUICulture: en-US 
Skip: objectName="^configProtectedData$" 
Provider: auto, Path: 
Tracing deployment agent exception. Request ID '63b2f3d1-1817-444f-8280-9fa4f6f85d53'. Request Timestamp: '5/12/2011 9:31:41 AM'. Error Details: 
System.UnauthorizedAccessException: Attempted to perform an unauthorized operation. 
at System.Security.AccessControl.Win32.SetSecurityInfo(ResourceType type, String name, SafeHandle handle, SecurityInfos securityInformation, SecurityIdentifier owner, SecurityIdentifier group, GenericAcl sacl, GenericAcl dacl) 
at System.Security.AccessControl.NativeObjectSecurity.Persist(String name, SafeHandle handle, AccessControlSections includeSections, Object exceptionContext) 
at System.Security.AccessControl.NativeObjectSecurity.Persist(String name, AccessControlSections includeSections, Object exceptionContext) 
at Microsoft.Web.Deployment.FileSystemSecurityEx.Persist(String path) 
at Microsoft.Web.Deployment.SetAclProvider.Add(DeploymentObject source, Boolean whatIf) 
at Microsoft.Web.Deployment.DeploymentObject.Update(DeploymentObject source, DeploymentSyncContext syncContext) 
at Microsoft.Web.Deployment.DeploymentSyncContext.HandleUpdate(DeploymentObject destObject, DeploymentObject sourceObject) 
at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest, DeploymentObject source) 
at Microsoft.Web.Deployment.DeploymentSyncContext.ProcessSync(DeploymentObject destinationObject, DeploymentObject sourceObject) 

Чтобы исправить, они предлагают следующее:

From this, we can see that User1 does not have rights to set security information. In this case, the user does not have Modify permissions on the content. Granting "Change Permissions" to the content resolves the problem. 

Что подразумевается под "Предоставление "Изменить разрешения"? Я предположил, что они имели в виду разрешение файла, поэтому дали права на чтение/запись/изменение файлов в структуры каталогов веб-сайтов, но я все равно получаю эту ошибку.

+4

Нашел проблему в основном, мне нужно было предоставить полное разрешение для ЛОКАЛЬНОЙ СЛУЖБЫ. Я дал разрешение на IIS_USER. Следующая ссылка дала мне решение http://forums.iis.net/t/1188531.aspx/1 – MPD

+1

Woah! Надеюсь, вы изменили разрешение на IIS_USER на рекомендованное разрешение. Полные пользовательские разрешения на IIS_USER - это модный сон хакера. –

+1

, как говорится в статье, вам нужно дать ПОЛНЫЙ контроль, а не только MODIFY разрешение на ЛОКАЛЬНОЕ ОБСЛУЖИВАНИЕ –

ответ

4

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

+1

Удивительно, это то, что сработало для меня, после нескольких часов попыток исправить –