linux - 在 Azure 自定义脚本扩展和 AWS 用户数据 -Linux 中运行时获得不同的文件权限

标签 linux amazon-web-services azure file-permissions user-data

我在 Azure linux(使用自定义脚本扩展)和 AWS Linux box(使用用户数据)中运行相同的脚本,但是当脚本完成时,我可以看到在两个服务器中创建的相同文件具有不同的文件权限。

更新:现在已经解决了。 我终于找到了答案。 这是在 linux 上强制执行的 selinux。禁用它解决了我所有的问题。

最佳答案

在 Azure 中,您可以使用 Azure 自定义脚本扩展来创建文件,Azure 将使用 root帐户创建文件。

使用自定义脚本扩展创建file1 ,你可以在这个 /var/lib/waagent/Microsoft.OSTCExtensions.CustomScriptForLinux-1.5.2.2/download/0 中找到 file1 ,像这样:

root@jasonvm:/var/lib/waagent/Microsoft.OSTCExtensions.CustomScriptForLinux-1.5.2.2/download/0# pwd
/var/lib/waagent/Microsoft.OSTCExtensions.CustomScriptForLinux-1.5.2.2/download/0
root@jasonvm:/var/lib/waagent/Microsoft.OSTCExtensions.CustomScriptForLinux-1.5.2.2/download/0# ls -al
total 12
drwxr-xr-x 2 root root 4096 Feb 21 01:50 .
drwxr-xr-x 3 root root 4096 Feb 21 01:50 ..
-rw-r--r-- 1 root root    0 Feb 21 01:50 errout
-rw-r--r-- 1 root root    0 Feb 21 01:50 file1
---x------ 1 root root   11 Feb 21 01:50 script.sh
-rw-r--r-- 1 root root    0 Feb 21 01:50 stdout

根据输出,Azure 使用 root创建文件的帐户,因此权限与使用相同root创建文件的帐户,权限为644 .

我不擅长AWS,你可以用ls -al checkin AWS。

希望这对您有所帮助。


更新:

请查看umask在 Azure Linux VM 和 AWS Linux VM 中。

Azure Linux VM 使用 umask 的默认值 0022 ,所以新文件的权限是644,新目录是755 .

enter image description here

[root@jason]# umask
0022

关于linux - 在 Azure 自定义脚本扩展和 AWS 用户数据 -Linux 中运行时获得不同的文件权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48893568/

相关文章:

amazon-web-services - 在 AWS Elastic Beanstalk 上运行 Docker 容器 - 我的 Web 应用程序在哪里?

Azure 函数发布

c - Ubuntu 第一次编译内核模块

linux - 为什么在引导步骤中需要 "MLO"?

amazon-web-services - Elasticsearch 尝试将字段 [null] 解析为对象,但找到了一个具体值

database - 如何列出每个 EC2 实例的使用时间

linux - 使用位于单独文件中的 json 运行 curl -X PUT

linux - 了解 docker : how to avoid changing permissions of linked volumes 中的用户文件所有权

Azure Devops - 如何强制在新分支上触发 CI,或使用发布分支?

image - 如何使用 power shell 捕获 VM 创建类型为 "Specialized"的 Azure VM 镜像?或如何创建 RM VM 的专用镜像?