LEIL-EXPORTS.CFG(5)

πŸ“¦ version 5.12.0, in nixpkgs unstable

🌸 NAME 🌸

okay bestie, welcome to leil-exports.cfg(5) πŸ’– this is the manual page for leil-exports.cfg, aka LeilFS access control for leil-mounts. short version: leil-exports.cfg = LeilFS access control for leil-mounts. periodt ✨


πŸ¦‹ DESCRIPTION πŸ¦‹

The file leil-exports.cfg contains LeilFS access list for leil-mount clients. no cap, that’s the whole vibe: this is where the access rules live 🫢


✨ SYNTAX ✨

Syntax is:

ADDRESS DIRECTORY [OPTIONS]

Lines starting with # character are ignored. iconic behavior, honestly πŸ’…

ADDRESS can be specified in several forms:

  • * β€” all addresses
  • n.n.n.n β€” single IP address
  • n.n.n.n/b β€” IP class specified by network address and bits number
  • n.n.n.n/m.m.m.m β€” IP class specified by network address and mask
  • f.f.f.f-t.t.t.t β€” IP range specified by from-to addresses (inclusive)

DIRECTORY could be / or path relative to LeilFS root; special value . means SFSMETA companion filesystem. iykyk πŸ¦‹


πŸ’… OPTIONS πŸ’…

okay so here are the flags, bestie β€” every single one, no skipping:

  • ro, readonly β€” export tree in read-only mode (default)
  • rw, readwrite β€” export tree in read-write mode
  • ignoregid β€” disable testing of group access at leil-master level (it’s still done at leil-mount level) β€” in this case "group" and "other" permissions are logically added; needed for supplementary groups to work (leil-master receives only user primary group information)
  • caseinsensitive β€” this option allows the client to treat all file and folder names as case-insensitive. When enabled, the client will not differentiate between uppercase and lowercase characters in file and folder names.
Note, bestie: 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, ensure that all accessing clients either use this option or none do. πŸ’€
  • dynamicip β€” allows reconnecting of already authenticated client from any IP address (the default is to check IP address on reconnect)
  • maproot=USER[:GROUP] β€” maps root (uid=0) accesses to given user and group (similarly to maproot option in NFS mounts); USER and GROUP can be given either as name or number; if no group is specified, USER's primary group is used. Names are resolved on leil-master side (see note below).
  • mapall=USER[:GROUP] β€” like above but maps all non privileged users (uid!=0) accesses to given user and group (see notes below).
  • minversion=VER β€” rejects access from clients older than specified
  • mingoal=N, maxgoal=N β€” specify range in which goal can be set by users
  • mintrashtime=TDUR, maxtrashtime=TDUR β€” specify range in which trashtime can be set by users
  • password=PASS, md5pass=MD5 β€” requires password authentication in order to access specified resource
  • alldirs β€” allows to mount any subdirectory of specified directory (similarly to NFS)
  • nonrootmeta β€” allows non-root users to use filesystem mounted in the meta mode (option available only in this mode)

Default options are: ro,maproot=999:999. so that’s the baseline, bestie πŸŽ€


🧚 NOTES 🧚

  • USER and GROUP names (if not specified by explicit uid/gid number) are resolved on leil-master host.
  • TDUR can be specified as number without time unit (number of seconds) or combination of numbers with time units. Time units are: W,D,H,M,S. Order is important β€” less significant time units can’t be defined before more significant time units.
  • Option mapall works in LeilFS in different way than in NFS, because of using FUSE’s "default_permissions" option. When mapall option is used, users see all objects with uid equal to mapped uid as their own and all other as root’s objects. Similarly objects with gid equal to mapped gid are seen as objects with current user’s primary group and all other objects as objects with group 0 (usually wheel). With mapall option set attribute cache in kernel is always turned off.

🌈 EXAMPLES 🌈

here are the exact example lines, bestie β€” copy-paste energy, but make them yours:

*                    /       ro
192.168.1.0/24       /       rw
192.168.1.0/24       /       rw,alldirs,maproot=0,password=passcode
10.0.0.0-10.0.0.5    /test   rw,maproot=nobody,password=test
10.1.0.0/255.255.0.0 /public rw,mapall=1000:1000
10.2.0.0/16          /
    rw,alldirs,maproot=0,mintrashtime=2h30m,maxtrashtime=2w

πŸ› REPORTING BUGS πŸ›

Report bugs to the GitHub repository https://github.com/leil-io/leilfs as an issue. please do that instead of suffering in silence, bestie 😭


  • Copyright 2008-2009 Gemius SA
  • Copyright 2013-2019 Skytechnology sp. z o.o.
  • Copyright 2023-2024 Leil Storage OÜ

LeilFS 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.

LeilFS 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 LeilFS. If not, see http://www.gnu.org/licenses/.


πŸ¦‹ SEE ALSO πŸ¦‹

that’s the whole page, bestie β€” this was LEIL-EXPORTS.CFG(5), dated 1980-01-01 πŸ’–βœ¨

πŸ“¦ where this page comes from