【问题标题】:File / folder permissions Web Deploy + Amazon Elastic Beanstalk文件/文件夹权限 Web Deploy + Amazon Elastic Beanstalk
【发布时间】:2012-12-03 18:32:25
【问题描述】:

我正在为我们的 Web 应用程序设置 Amazon Elastic Beanstalk。使用 Visual Studio Express 我无法使用 AWS 工具包,因此我必须作为 Web 部署包发布,然后将 zip 文件上传到 EB。我遇到的问题与部署中的文件/文件夹权限有关。有一个文件夹需要写权限,但是在部署应用程序时,所有文件夹都获得只读权限。在this 文章之后,我创建了一个用于部署的 .targets 文件,该文件使用 setAcl 设置文件夹的权限。但是,当我部署应用程序时,权限不会出现并且应用程序会中断。以下是我的 .targets 文件中的内容

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
<PropertyGroup>
<IncludeCustomACLs>TRUE</IncludeCustomACLs>

<AfterAddIisSettingAndFileContentsToSourceManifest Condition="$(AfterAddIisSettingAndFileContentsToSourceManifest)==''">
  $(AfterAddIisSettingAndFileContentsToSourceManifest);
  SetCustomACLs;
  </AfterAddIisSettingAndFileContentsToSourceManifest>
</PropertyGroup>

<Target Name="SetCustomACLs" Condition="'$(IncludeCustomACLs)'=='TRUE'">
<Message Text="Adding Custom ACls" />
<ItemGroup>      
  <MsDeploySourceManifest Include="setAcl"
                           Condition="$(IncludeSetAclProviderOnDestination)">
    <Path>$(_MSDeployDirPath_FullPath)\Includes\Site</Path>
    <setAclAccess>Read,Write,Modify</setAclAccess>
    <setAclResourceType>Directory</setAclResourceType>
    <AdditionalProviderSettings>setAclResourceType;setAclAccess</AdditionalProviderSettings>
  </MsDeploySourceManifest>

</ItemGroup>

当我查看创建的 zip 文件并打开 archive.xml 文件时,我会在那里看到我的权限设置:

<setAcl path="C:\Users\Peuge\Documents\Visual Studio 2012\Projects\ProjectName\ProjectWebstie\obj\Release\Package\PackageTmp\Includes\Site" MSDeploy.path="2" isDest="AA==" MSDeploy.isDest.Type="Microsoft.Web.Deployment.DeploymentObjectBooleanAttributeValue" setAclUser="" MSDeploy.setAclUser="1" setAclAccess="Modify" MSDeploy.setAclAccess="1" MSDeploy.MSDeployLinkName="Child4" MSDeploy.MSDeployKeyAttributeName="path" MSDeploy.MSDeployProviderOptions="H4sIAAAAAAAEAE2PwU4CMRCGF4Uq6gWfYB+AbIAVNCYcCFyIQVdAPNhLtztgoWw3nRbdp9dWBJ3DP3+mnX5/g0oQBF+ufPd1deLkbSK4VqiWJvqANMqgkKrcQm6a4QI0CpX3b6N21IpazXBopbEa+jlYo5lsholNpeAPUM7VBvJ+3E6X8V23x7K4dwNxt+ZJnT/AqwOMjoB/NtFqJzLQT4VxQKz6cMXv7JFtoVow817LnUOyY9ICViqE+Pjk1AuCGXBJ/N7n8J6+oEtOE7AroCPFrUcgXQi0TIYzYzOhwk6r3aGOuwbuzp6t4Bswh+6CojBAVbqmU5DAEGjC+Iatjn2+Leg459JmgHTmLtdrjl4nThre/YQ78x/ZhxtwDojk3E2u95MpoLKaw7wsoEEOK3UvE5WJZUku/IsjoV1EpcvLb2s9SavBAQAA" />

我不确定这是否与包含我的本地目录的路径有关?

非常感谢任何帮助。

谢谢

【问题讨论】:

标签: visual-studio amazon-web-services msdeploy amazon-elastic-beanstalk


【解决方案1】:

另一种更简单的方法是在 App_Data.ebextensions\install.config 中使用 AWS 配置。

例如

commands:
  set_iis_log_acl:
    command: icacls "C:\inetpub\logs\LogFiles\W3SVC1" /grant IIS_IUSRS:(OI)(CI)R
    ignoreErrors: true

更多信息在这里http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-windows-ec2.html

【讨论】:

    猜你喜欢
    • 2015-01-20
    • 1970-01-01
    • 2020-11-10
    • 1970-01-01
    • 2016-07-21
    • 2012-05-22
    • 2016-04-28
    • 2015-04-06
    • 2012-12-12
    相关资源
    最近更新 更多