SFSEXPORTS.CFG(5)
β¨ SFSEXPORTS.CFG(5) β the whole vibe π
okay bestie, sit down, we're talking about sfsexports.cfg(5), aka the access-control glow-up list for your SaunaFS sfsmount clients. no cap, this is the file that decides who gets in and who gets told "not today".
πΈ NAME πΈ
sfsexports.cfg β SaunaFS access control for sfsmounts π«Ά
π DESCRIPTION π
So the tea is: the file sfsexports.cfg holds the SaunaFS access list for sfsmount clients. that's it, that's the whole job, and it does it iconically.
π SYNTAX π
the syntax goes a little something like this:
ADDRESS DIRECTORY [OPTIONS]
and lowkey the most important rule: any line starting with the # character is ignored. hashtag comment, hashtag boundaries, we love to see it. π
ADDRESS can show up in several forms, pick your fighter:
*β all addresses, everybody invited to the functionn.n.n.nβ a single IP addressn.n.n.n/bβ an IP class specified by network address and bits numbern.n.n.n/m.m.m.mβ an IP class specified by network address and maskf.f.f.f-t.t.t.tβ an IP range specified by from-to addresses (inclusive, so the ends are in the group chat too)
DIRECTORY can be /, or a path relative to the SaunaFS root. and there's one special girly: the special value . means the SFSMETA companion filesystem β¨
π OPTIONS π
okay here's the full menu, no skipping, all of them matter:
ro,readonlyβ export the tree in read-only mode. this is the default, she's the baseline.rw,readwriteβ export the tree in read-write mode. now we're cooking. π₯ignoregidβ disables testing of group access at the sfsmaster level (it's still done at the sfsmount level, don't worry). in this case the"group"and"other"permissions are logically added; this is needed for supplementary groups to work, because sfsmaster only receives the user's primary group information. it's giving "we work with what we got".caseinsensitiveβ this option lets the client treat all file and folder names as case-insensitive. when it's on, the client will not differentiate between uppercase and lowercase characters in file and folder names.
Note β οΈ System administrators are strongly advised not to allow simultaneous access to the same directory or subdirectory by multiple clients where some have the caseinsensitive option enabled and others do not β especially if these clients connect from different session IPs. This configuration can lead to filesystem inconsistencies and unpredictable behavior. For any given path or subfolder, make sure all accessing clients either use this option or none of them do. like, pick a lane, bestie, for real. π
dynamicipβ allows reconnecting of an already authenticated client from any IP address. (the default behavior is to check the IP address on reconnect, so this is the chill mode.)maproot=USER[:GROUP]β maps root (uid=0) accesses to the given user and group, similarly to themaprootoption in NFS mounts.USERandGROUPcan be given either as a name or as a number; if no group is specified,USER's primary group is used. Names are resolved on the sfsmaster side (see the note below, bestie).mapall=USER[:GROUP]β like the one above, but it maps all non-privileged users (uid!=0) accesses to the given user and group (see the notes below π).minversion=VERβ rejects access from clients older than the specified version. grandma clients, be gone. πmingoal=N,maxgoal=Nβ specify the range in which goal can be set by users.mintrashtime=TDUR,maxtrashtime=TDURβ specify the range in which trashtime can be set by users.password=PASS,md5pass=MD5β requires password authentication in order to access the specified resource. πalldirsβ allows mounting any subdirectory of the specified directory (similarly to NFS).nonrootmetaβ allows non-root users to use the filesystem mounted in meta mode (this option is available only in this mode).
and the default options, drumroll please: ro,maproot=999:999. that's the starting fit. π
π§ NOTES π§
USERandGROUPnames (if they're not specified by an explicit uid/gid number) are resolved on the sfsmaster host.TDURcan be specified as a number without a time unit (that's the number of seconds) or as a combination of numbers with time units. The time units are:W,D,H,M,S. Order is important β less significant time units can't be defined before more significant time units. so2h30mslays,30m2hdoes not.- the
mapalloption works in SaunaFS in a different way than in NFS, because SaunaFS uses FUSE's"default_permissions"option. When themapalloption is used, users see all objects with uid equal to the mapped uid as their own, and all other objects as root's objects. Similarly, objects with gid equal to the mapped gid are seen as objects with the current user's primary group, and all other objects as objects with group0(usuallywheel). With themapalloption set, the attribute cache in the kernel is always turned off. no cap, that's just how it is.
π EXAMPLES π
these are literally the looks, copy them directly:
*β/withro192.168.1.0/24β/withrw192.168.1.0/24β/withrw,alldirs,maproot=0,password=passcode10.0.0.0-10.0.0.5β/testwithrw,maproot=nobody,password=test10.1.0.0/255.255.0.0β/publicwithrw,mapall=1000:100010.2.0.0/16β/with
rw,alldirs,maproot=0,mintrashtime=2h30m,maxtrashtime=2w
π REPORTING BUGS π
found a bug? not the vibe, but fair. Report bugs to the GitHub repository https://github.com/leil-io/saunafs as an issue. π
π COPYRIGHT π
Copyright 2008-2009 Gemius SA
Copyright 2013-2019 Skytechnology sp. z o.o.
Copyright 2023-2024 Leil Storage OΓ
SaunaFS is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3.
SaunaFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with SaunaFS. If not, see http://www.gnu.org/licenses/.
β SEE ALSO β
and that's the whole page, bestie β SFSEXPORTS.CFG(5), dated 2026-07-29, from the sfsexports.cfg(5) era. now go forth and configure your exports correctly, mwah π«Άπβ¨
π¦ where this page comes from
- ubuntu stonking: saunafs-master 5.8.0-1ubuntu1 Β· GPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms