# # Authentication login is matched against the "user" key, and collection's path is matched against the "collection" key. # You can use Python's ConfigParser interpolation values %(login)s and %(path)s. # You can also get groups from the user regex in the collection with {0}, {1}, etc. # # For example, for the "user" key, ".+" means "authenticated user" and ".*" means "anybody" (including anonymous users). # # Section names are only used for naming the rule. # Leading or ending slashes are trimmed from collection's path. # # This means all users starting with "admin" may read any collection [admin] user: ^admin.*$ collection: .* permission: r # This means all users may read and write any collection starting with public. # We do so by just not testing against the user string. [public] user: .* collection: ^public(/.+)?$ permission: rw # A little more complex: give read access to users from a domain for all # collections of all the users (ie. user@domain.tld can read domain/\*). [domain-wide-access] user: ^.+@(.+)\..+$ collection: ^{0}/.+$ permission: r # Allow authenticated user to read all collections [allow-everyone-read] user: .+ collection: .* permission: r # Give write access to owners [owner-write] user: .+ collection: ^%(login)s(/.+)?$ permission: rw # Allow CardDavMATE-, CalDavZAP- or InfCloud- WEBclient to work # anonymous users have read access to "/" but no files or subdir [infcloud] user: .* collection: / permission: r