【问题标题】:Duplicate permission setting instructions CodeDeploy重复权限设置说明 CodeDeploy
【发布时间】:2015-12-23 11:12:03
【问题描述】:

我正在尝试使用 CodeDeploy 将应用程序部署到 EC2 上,但遇到以下错误

/var/www/html/storage/framework 的重复权限设置说明

我的 appspec.yml 在下面

version: 0.0
os: linux
files:
 - source: /
   destination: /var/www/html

permissions:
  - object: /var/www/html
    owner: apache
    group: apache
    mode: 644
    except:
      - storage/*
    type:
      - directory
  - object: /var/www/html/storage
    owner: apache
    group: apache
    mode: 777
    type:
      - directory

我已经为except 尝试了各种格式,包括

  • 明确列出相对路径

    except:
     - storage
     - storage/app
     - storage/logs
     - storage/framework
     - storage/framework/views
     - storage/framework/cache
     - storage/framework/sessions
    
  • 使用通配符

    except:
     - storage/*
    
  • 仅使用文件夹名称

    except:
     - storage
    

似乎都没有解决问题。

类似的问题

【问题讨论】:

  • 为什么是 chmod 777?这样做应该会让你不寒而栗。如果所有者是apache,755应该是合适的。也不需要允许其他应用程序和服务访问那里,特别是因为它是一个可以公开访问的网站。并不是说这很有可能,但是为什么不正确设置权限呢?此外,在 aws 上,您的资产会很糟糕地存储在本地:即使您使用 EBS,也可能会失败,并且您将无法恢复您的内容。我建议你考虑使用 s3。
  • 777 是实验的副产品。在我摆弄让 CodeDeploy 实际工作时,排除所有权问题等。我已经将 S3 用于文件和 Redis 用于会话和缓存。也就是说,框架仍然需要能够为各种其他编译文件写入该文件夹,因此我需要更改文件夹的权限。
  • 嗯,我个人喜欢针对我想在生产中使用的安全设置进行测试。不过,这让我意识到了另外一些事情:您将 /var/www/html 设置为模式 644, 授予 apache 执行目录的权限,即列出其内容。因此,您可能需要考虑将这些权限调整为 5xx 或 7xx,具体取决于您是否希望 Apache 能够写入 /var/www/html(当前您的设置允许写入和读取但不执行,因此添加 exec 位 woudl为 7,但如果 apache 不应该写入 /var/www/html,则 5 是正确的)
  • 它应该不能写入存储文件夹以外的任何内容。它将在 docroot 之上。 /var/www/html/site/public/ 将是 docroot。我没有测试生产设置,但实际上我只是想让它设置一些权限,这样我就可以理解它在没有调整的沼泽标准 AMI 上是如何工作的。我什至不打算使用 Apache,这只是一个关于如何让 CodeDeploy 在这一点上运行的练习。
  • 那更有意义。是否可以尝试两个来源不重叠的配置?根据您所说的,可以使用 /var/ww/storage 而不是 /var/www/html 下的东西吗?只是一个想法,看看这是否有效可能会很有趣。

标签: aws-code-deploy


【解决方案1】:

except 选项需要指定为数组。 (使用[] 而不是嵌套列表)

您可以在 appspec 参考指南中的权限示例中看到它(向下滚动一点):http://docs.aws.amazon.com/codedeploy/latest/userguide/app-spec-ref.html#app-spec-ref-permissions

【讨论】:

  • 这个我也试过了,只是忘记列出了。由于文档,这实际上是我尝试的第一件事。不幸的是,它没有任何区别。然而,我认为[]- 在 YAML 中是等价的——generic sequences 下的块样式与流样式?
  • 我同意,这些在 yaml 中是等价的。我一直都在使用它们。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-22
  • 1970-01-01
  • 1970-01-01
  • 2020-06-26
  • 2012-10-19
相关资源
最近更新 更多