【问题标题】:How To Set Folder Permissions in Elastic Beanstalk Using YAML File?如何使用 YAML 文件在 Elastic Beanstalk 中设置文件夹权限?
【发布时间】:2015-02-20 04:02:30
【问题描述】:

我有一个 C# Web API Elastic Beanstalk 应用程序,它需要一个 IUSER 和 IIS_USERS 用户可以写入的部署目录之外的文件夹。我创建了一个 .config 文件并将其放在我项目的顶级 .ebextensions 文件夹中。内容如下:

commands:
  0_mkdir:
    command: mkdir C:\\AppFolder\\

  1_set_iuser_permissions:
    command: cacls C:\\AppFolder\\ /t /e /g IUser:f IIS_Users:f

但是,当文件夹成功创建时,权限并没有设置。如果有人知道我做错了什么,我将不胜感激。非常感谢。

【问题讨论】:

    标签: c# amazon-web-services configuration yaml amazon-elastic-beanstalk


    【解决方案1】:

    最后我转而使用 Json 而不是 YAML,因为尽管我的 YAML 已经过几个在线 YAML 测试人员的验证,但 AWS 仍然不接受它。传递给 icacls 的参数总是存在问题。我还更改为应用程序 App_Data 文件夹中的一个文件夹,因为在应用程序外部的任何目录上设置权限似乎都不起作用。所以,我的最终配置文件如下:

    {
        "container_commands": {
            "01": {
                "command": "icacls \"C:/inetpub/wwwroot/AppName_deploy/App_Data/AppFolder\" /grant DefaultAppPool:(OI)(CI)F"
            }
        }
    }
    

    希望这对其他人有所帮助。

    【讨论】:

    • AppName 是 elasticbeanstalk 应用名称吗?另外,您如何从 WebAPI 访问它? AppDomain.CurrentDomain.BaseDirectory + @"App_Data\";似乎给 wwwroot\App_Data
    【解决方案2】:

    您似乎使用了无效的 .net 帐户(除非这些是您创建的自定义帐户)。这是未设置您的权限的部分原因。他们应该是IUSRIIS_IUSRS

    此外,container_commands您的应用程序/服务器环境已设置,但您的部署开始之前执行。除了在 Visual Studio 中使用 wpp.targets 文件之外,没有其他方法可以对部署目录中的文件/文件夹设置权限。

    以下 SO 帖子是使用 wpp.targets 解决您的问题的好读物。 Can Web Deploy's setAcl provider be used on a sub-directory?

    【讨论】:

      【解决方案3】:

      将文件01_fix_permissions.config 放入.ebextensions 文件夹中。

      内容:

      files:
        "/opt/elasticbeanstalk/hooks/appdeploy/pre/49_change_permissions.sh":
          mode: "000755"
          owner: root
          group: root
          content: |
            #!/usr/bin/env bash
            sudo chown -R ec2-user:ec2-user tmp/
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-04-28
        • 1970-01-01
        • 2015-01-20
        • 1970-01-01
        • 2012-03-02
        • 2011-01-17
        • 2012-12-26
        • 2020-11-10
        相关资源
        最近更新 更多