radicale.rights (1461B)
1 # 2 # Authentication login is matched against the "user" key, and collection's path is matched against the "collection" key. 3 # You can use Python's ConfigParser interpolation values %(login)s and %(path)s. 4 # You can also get groups from the user regex in the collection with {0}, {1}, etc. 5 # 6 # For example, for the "user" key, ".+" means "authenticated user" and ".*" means "anybody" (including anonymous users). 7 # 8 # Section names are only used for naming the rule. 9 # Leading or ending slashes are trimmed from collection's path. 10 # 11 12 # This means all users starting with "admin" may read any collection 13 [admin] 14 user: ^admin.*$ 15 collection: .* 16 permission: r 17 18 # This means all users may read and write any collection starting with public. 19 # We do so by just not testing against the user string. 20 [public] 21 user: .* 22 collection: ^public(/.+)?$ 23 permission: rw 24 25 # A little more complex: give read access to users from a domain for all 26 # collections of all the users (ie. user@domain.tld can read domain/\*). 27 [domain-wide-access] 28 user: ^.+@(.+)\..+$ 29 collection: ^{0}/.+$ 30 permission: r 31 32 # Allow authenticated user to read all collections 33 [allow-everyone-read] 34 user: .+ 35 collection: .* 36 permission: r 37 38 # Give write access to owners 39 [owner-write] 40 user: .+ 41 collection: ^%(login)s(/.+)?$ 42 permission: rw 43 44 # Allow CardDavMATE-, CalDavZAP- or InfCloud- WEBclient to work 45 # anonymous users have read access to "/" but no files or subdir 46 [infcloud] 47 user: .* 48 collection: / 49 permission: r