Understanding different shared volume types regarding permission-handling

Portworx had the first Kubernetes storage implementation for PersistentVolumes that supported ReadWriteMany access mode.

The way this was first implemented was using fuse, and that became the ‘shared’ volume type. In newer releases, Portworx has been transitioning the ReadWriteMany implementation to instead use sharedv4, which is now based on NFSv4.

There are some differences however between shared and sharedv4, in the way file permissions are handled. In order for non-root users to be able to access data, a label named allow_others will need to be shared on any volume that is of type sharedv4:

To allow non-root user processes within any attached container to be able to access the data in a sharedv4 volume, update the label on an existing volume using the following command:

pxctl volume update --label allow_others=true <vol-id>

Note: this label requires Portworx 2.2 or newer