Red Hat Bugzilla – Bug 1285126
GlusterFS NFS does not implement an all_squash volume setting
Last modified: 2016-10-13 00:04:54 EDT
Description of problem:
all_squash is a standard NFS volume export option that sets all incoming request UIDs to anonuid and all GIDs to anongid. root_squash is a standard NFS volume export option that sets incoming requests from root to anonuid and anongid. GlusterFS implements volume settings for anonuid (server.anonuid), anongid (server.anongid), and root_squash (server.root-squash), but does not implement all_squash (should be server.all-squash).
This option was requested in https://bugzilla.redhat.com/show_bug.cgi?id=1043886 but that part of the request was overlooked.
Version-Release number of selected component (if applicable): 3.7.6
How reproducible: always
Steps to Reproduce:
1. gluster volume set volume1 server.all-squash on
volume set: failed: option : server.all-squash does not exist
Did you mean server.root-squash?
volume set: success
Advanced configuration options for uid/gid squashing is available through NFS-Ganesha. Only very little work is put into Gluster/NFS, NFS-Ganesha will become the preferred NFS-server in the future. If you rely on this functionality, you probably should give NFS-Ganesha with FSAL_GLUSTER a try.
The server.*-squash options are not NFS specific, they are usable for FUSE mounts and libgfapi access as well.
It probably makes sense to provide a server.all-squash option that makes all access to the volume done through the anonymous user/group (anonuid/anongid). However, the server.root-squash is volume wide option, and can only be turned on/off. It might be more useful to have a server.all-squash option that checks for the IP-address instead of an all-or-nothing switch.
Earl, could you explain a little about the expected feature and config options that you would like to see?
The request was to implement all_squash, anonuid and anongid. The example given in https://bugzilla.redhat.com/show_bug.cgi?id=1043886 was the export line:
... which will map all incoming user requests to UID 150, GID 100.
glusterfs-3.6.1 implements root_squash, anonuid and anongid.
root_squash maps UID 0 / GID 0 requests to anonuid / anongid.
all_squash should map ALL UIDs to anonuid and ALL GIDs to anongid.