# This is the main slapd configuration file. See slapd.conf(5) for more # info on the configuration options. ####################################################################### # Global Directives: # Features to permit #allow bind_v2 # Schema and objectClass definitions include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/inetorgperson.schema include /etc/ldap/schema/mailserver.schema include /etc/ldap/schema/sudo.schema include /etc/ldap/schema/yunohost.schema # Where the pid file is put. The init.d script # will not stop the server if you change this. pidfile /var/run/slapd/slapd.pid # List of arguments that were passed to the server argsfile /var/run/slapd/slapd.args # Read slapd.conf(5) for possible values loglevel none # Hashes to be used in generation of user passwords password-hash {SSHA} # Where the dynamically loaded modules are stored modulepath /usr/lib/ldap moduleload back_mdb moduleload memberof # The maximum number of entries that is returned for a search operation sizelimit 500 # The tool-threads parameter sets the actual amount of cpu's that is used # for indexing. tool-threads 1 # TLS Support TLSCertificateFile /etc/yunohost/certs/yunohost.org/crt.pem TLSCertificateKeyFile /etc/yunohost/certs/yunohost.org/key.pem ####################################################################### # Specific Backend Directives for mdb: # Backend specific directives apply to this backend until another # 'backend' directive occurs backend mdb ####################################################################### # Specific Directives for database #1, of type mdb: # Database specific directives apply to this databasse until another # 'database' directive occurs database mdb # The base of your directory in database #1 suffix "dc=yunohost,dc=org" # rootdn directive for specifying a superuser on the database. This is needed # for syncrepl. # rootdn "cn=admin,dc=yunohost,dc=org" # Where the database file are physically stored for database #1 directory "/var/lib/ldap" # Indexing options for database #1 index objectClass eq index uid,sudoUser eq,sub index entryCSN,entryUUID eq index cn,mail eq index gidNumber,uidNumber eq index member,memberUid,uniqueMember eq index virtualdomain eq index permission eq # Save the time that the entry gets modified, for database #1 lastmod on # Checkpoint the BerkeleyDB database periodically in case of system # failure and to speed slapd shutdown. checkpoint 512 30 # The userPassword by default can be changed # by the entry owning it if they are authenticated. # Others should not be able to see it, except the # admin entry below # These access lines apply to database #1 only access to attrs=userPassword,shadowLastChange by dn="cn=admin,dc=yunohost,dc=org" write by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" write by anonymous auth by self write by * none # Personnal information can be changed by the entry # owning it if they are authenticated. # Others should be able to see it. access to attrs=cn,gecos,givenName,mail,maildrop,displayName,sn by dn="cn=admin,dc=yunohost,dc=org" write by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" write by self write by * read # Ensure read access to the base for things like # supportedSASLMechanisms. Without this you may # have problems with SASL not knowing what # mechanisms are available and the like. # Note that this is covered by the 'access to *' # ACL below too but if you change that as people # are wont to do you'll still need this if you # want SASL (and possible other things) to work # happily. access to dn.base="" by * read # The admin dn has full write access, everyone else # can read everything. access to * by dn="cn=admin,dc=yunohost,dc=org" write by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" write by group/groupOfNames/Member="cn=admin,ou=groups,dc=yunohost,dc=org" write by * read # Configure Memberof Overlay (used for Yunohost permission) # Link user <-> group #dn: olcOverlay={0}memberof,olcDatabase={1}mdb,cn=config overlay memberof memberof-group-oc groupOfNamesYnh memberof-member-ad member memberof-memberof-ad memberOf memberof-dangling error memberof-refint TRUE # Link permission <-> groupes #dn: olcOverlay={1}memberof,olcDatabase={1}mdb,cn=config overlay memberof memberof-group-oc permissionYnh memberof-member-ad groupPermission memberof-memberof-ad permission memberof-dangling error memberof-refint TRUE # Link permission <-> user #dn: olcOverlay={2}memberof,olcDatabase={1}mdb,cn=config overlay memberof memberof-group-oc permissionYnh memberof-member-ad inheritPermission memberof-memberof-ad permission memberof-dangling error memberof-refint TRUE