Azure 文件权限

Permissions on Azure File

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

我可以设置整个共享的权限,但我无法更改特定 file/directory 的权限。

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

即使我没有提到默认权限也需要 0777,但我无法在共享中更改 file/directory 的权限。

我做了一些研究,我发现这个功能还没有实现来源是 2016 年我希望现在启用这个功能?

不然还有什么解决方案可以提出吗?

此致,


更新

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

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

我推荐的是可以将文件过滤到不同目录下,同一目录下的文件权限相同。然后您可以将 Azure 文件共享的目录作为不同的持久卷挂载到 pods 并根据需要为持久卷设置不同的权限。

比如你需要一个权限为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

当一切正常时,您可以看到如下设置的内容: