Some ruby code written to manage an ldap directory.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

94 lines
1.9 KiB

:DsAdmin::Storage::Ldap:
:con:
:host: 'host.weird-web-workers.org'
:port: 389
:DsAdmin::Model::User:
:query:
:base: 'ou=user,o=system,dc=weird-web-workers,dc=org'
:filter: '(objectClass=posixAccount)'
:objectClass:
- 'account'
- 'posixAccount'
- 'shadowAccount'
:dnPat: "uid=#{:name}"
:map:
:uid: :name
:userpassword: :pass
:uidnumber: :uid
:gidnumber: :gid
:loginshell: :shell
:homedirectory: :home
:DsAdmin::Model::Group:
:query:
:base: 'ou=group,o=system,dc=weird-web-workers,dc=org'
:filter: '(objectClass=posixGroup)'
:objectClass: 'posixGroup'
:dnPat: "cn=#{:name}"
:map:
:cn: :name
:gidnumber: :gid
:memberuid: :members
:DsAdmin::Model::Site:
:query:
:base: 'o=hosting,dc=weird-web-workers,dc=org'
:filter: '(&(objectClass=organization)(!(o=hosting)))'
:objectClass: 'organization'
:dnPat: "o=#{:name}"
:map:
:o: :name
:DsAdmin::Model::MailAliasRole:
:query:
:base: 'o=hosting,dc=weird-web-workers,dc=org'
:filter: '(&(objectClass=MailAlias)(objectClass=organizationalrole))'
:objectClass:
- 'organizationalRole'
- 'MailAlias'
:dnPat: "cn=#{:user},o=#{:mail|/.*@/, ''}"
:map:
:cn: :user
:DsAdmin::Model::MailAliasPerson:
:query:
:base: 'o=hosting,dc=weird-web-workers,dc=org'
:filter: '(&(objectClass=MailAlias)(objectClass=person))'
:objectClass:
- 'person'
- 'MailAlias'
:dnPat: "mail=#{:mail},o=#{:mail|/.*@/, ''}"
:map:
:sn: :surname
:cn: :name
:DsAdmin::Model::MailAccount:
:query:
:base: 'o=hosting,dc=weird-web-workers,dc=org'
:filter: '(objectClass=mailAccount)'
:objectClass:
- 'person'
- 'MailAccount'
:dnPat: "mail=#{:mail},o=#{:mail|/.*@/, ''}"
:map:
:homedirectory: :home