gpt4 book ai didi

azure - Azure 文件的权限

转载 作者:行者123 更新时间:2023-12-03 01:35:41 29 4
gpt4 key购买 nike

我使用 azure 文件作为 kubernetes 的卷,但我遇到了问题。

我可以设置整个共享的权限,但无法更改特定文件/目录的权限。

如果我将默认权限设置为整个共享(例如 644 (rw/r/r))并尝试更改特定文件(例如 Chmod 0644 文件)的此权限,则 chmod 不会产生任何效果,它始终是默认值权限。

即使我没有提到默认权限,它也会需要 0777,但我无法更改共享内文件/目录的权限。

我做了一些研究,发现此功能尚未实现(来源是 2016 年)我希望现在启用此功能吗?

否则还有其他解决方案吗?

问候,

<小时/>

更新

非常感谢@Charles Xu的建议,它非常有用。我使用了你的介词,但让我解释一下我的用例:

  • 我需要对同一目录具有不同的文件权限,因为该目录用于 SSH。我可以更改文件夹.ssh的权限,因此其中的所有文件都有0644,但正如你所知,我必须将私钥的权限更改为0600
  • 必须更改私钥的权限,否则 SSH 将无法工作。

    -rw-r--r-- 1 userx userx 182 10 月 8 日 15:13 配置

    -rw-r--r-- 1 userx userx 1675 10 月 8 日 15:13 id_rsa

    -rw-r--r-- 1 userx userx 409 10 月 8 日 15:13 id_rsa.pub

最佳答案

首先,只有将整个 Azure 文件共享作为持久卷挂载到 Pod 上时,您才能控制整个 Azure 文件共享的权限。不支持更改共享内特殊文件的权限。

我建议的是,你可以将文件过滤到不同的目录中,并且同一目录中的文件具有相同的权限。然后您可以将Azure文件共享的目录作为不同的持久卷挂载到Pod中,并根据需要为持久卷设置不同的权限。

例如,您需要一个权限为0644的目录以及其中的文件权限为0664。然后您可以像这样创建一个持久卷:

apiVersion: v1
kind: PersistentVolume
metadata:
name: azurefile
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteMany
storageClassName: azurefile
azureFile:
secretName: azure-secret
shareName: aksshare/subfolder1
readOnly: false
mountOptions:
- dir_mode=0644
- file_mode=0664
- uid=1000
- gid=1000
- mfsymlinks
- nobrl

并创建一个 PersistentVolumeClaim ,它将使用您在上面创建的 PersistentVolume:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: azurefile
spec:
accessModes:
- ReadWriteMany
storageClassName: azurefile
resources:
requests:
storage: 5Gi

最后,使用带有 volumes 的 PersistentVolumeClaim 创建 pod,如下所示:

...
volumes:
- name: azure
persistentVolumeClaim:
claimName: azurefile

如果没问题,您可以看到如下设置的内容:

enter image description here

关于azure - Azure 文件的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58301985/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com