当前,此提供程序仅生成具有0777
权限的文件。
有没有办法对此进行参数化? 默认情况下使文件可执行似乎有点奇怪。
嗨@brett-richardson!
目前,该资源的选项非常有限,以使其保持简单。 能够设置权限似乎是合理的,我希望我们没有这样做只是因为这引入了一些特定于平台的考虑因素——Terraform 在 Windows 上运行,并且权限在那里的工作方式不同。
也许我们可以通过不过度概括而直接解决您的问题来回避这一点,使用可以设置为false
的新属性executable
#$ 。 该标志在 Windows 上可能绝对不会做任何事情,因为 Windows 通常不会进行这样的区分(或者更确切地说,通过文件名约定进行区分),但是在类似 POSIX 的系统上可以只设置读/写权限,而不是读/写/执行。 (它仍然应该尊重进程的活动umask
,因此实际上磁盘上的文件通常_不_是全局可写的,即使这里的模式建议如此。)
这很有意义。 有时间我看看能不能搞个PR。
@brett-richardson @apparentlymart用#12 提交了一个可能的解决方案。 我允许配置文件权限而不是可执行布尔值。 保持当前行为不变。
这类似于#19,所以我会给出同样的建议。
虽然我们没有多平台功能,但我一直在使用以下解决方法......
resource "local_file" "foo" {
content = "contents"
filename = "foo.txt"
provisioner "local-exec" {
command = "chmod 644 foo.txt"
}
希望能帮助到你!
最有用的评论
@brett-richardson @apparentlymart用#12 提交了一个可能的解决方案。 我允许配置文件权限而不是可执行布尔值。 保持当前行为不变。