# Save the time that the entry gets modified
lastmod on
+
+##
+## prefix some rules that only apply to certain clients
+## and grant them more privileges
+##
+
# LDAP admins have full access, so has sshdist
access to *
by group="cn=LDAP Administrator,ou=users,@@DN@@" write
by dn="uid=sshdist,ou=users,@@DN@@" write
by * break
-# owner writeable
-access to attrs=userPassword,sudoPassword,bATVToken
+# allow keyring maint to write to the keyFingerPrint attribute
+# (make an exception for adm for security reasons)
+access to filter="(!(supplementaryGid=adm))" attrs=keyFingerPrint
+ by dn="cn=Keyring Maintainers,ou=users,@@DN@@" write
+ by * break
+
+# allow users write access to an explicit subset of their fields
+access to attrs=c,l,loginShell,ircNick,labeledURI,icqUIN,jabberJID,onVacation,birthDate,mailDisableMessage,gender,emailforward,mailCallout,mailGreylisting,mailRBL,mailRHSBL,mailWhitelist,mailContentInspectionAction,mailDefaultOptions,facsimileTelephoneNumber,telephoneNumber,postalAddress,postalCode,loginShell,onVacation,privateSub,latitude,longitude,VoIP,userPassword,sudoPassword,bATVToken
by self write
+ by * break
+
+
+##
+## All ACLs from here on result in a decision. no fall through to later.
+##
+
+# allow authn/z by anyone
+access to attrs=userPassword,sudoPassword,bATVToken
by * compare
+# readable only by self
access to attrs=sshrsaauthkey
by self read
- by * compare
+ by * none
-# debian readable
-access to attrs=activity-pgp,activity-from,dnsZoneEntry
+# debian.org readable, authenticated user readable
+access to attrs=activity-pgp,activity-from,dnsZoneEntry,c,l,loginShell,onVacation,birthDate,mailDisableMessage,gender,emailforward,mailCallout,mailGreylisting,mailRBL,mailRHSBL,mailWhitelist,mailContentInspectionAction,mailDefaultOptions
by peername.ip=127.0.0.1 read
by domain=alioth.debian.org none
by domain.subtree=@@DOMAIN@@ read
by dn.regex="uid=.*,ou=users,@@DN@@" read
by * none
-# owner writeable, debian readable, authenticated user readable
-access to attrs=c,l,loginShell,ircNick,labeledURI,icqUIN,jabberJID,onVacation,birthDate,mailDisableMessage,gender,emailforward,mailCallout,mailGreylisting,mailRBL,mailRHSBL,mailWhitelist,mailContentInspectionAction,mailDefaultOptions
- by self write
+# authenticated user readable
+access to attrs=facsimileTelephoneNumber,telephoneNumber,postalAddress,postalCode,privateSub,latitude,longitude,VoIP
by dn.regex="uid=.*,ou=users,@@DN@@" read
- by peername.ip=127.0.0.1 read
- by domain=alioth.debian.org none
- by domain.subtree=@@DOMAIN@@ read
by * none
-# owner writeable, authenticated user readable
-access to attrs=facsimileTelephoneNumber,telephoneNumber,postalAddress,postalCode,loginShell,onVacation,privateSub,latitude,longitude,VoIP
- by self write
- by dn.regex="uid=.*,ou=users,@@DN@@" read
- by * none
-# globally readable
+# rest is globally readable
access to *
by * read