Difference between revisions of "Install ldap server"

From MPSWiki
Jump to: navigation, search
(Created page with "''Install ldap'' '''sudo apt install slapd ldap-utils''' ''configure'' '''sudo dpkg-reconfigure slapd''' enter admin password, domain name (ldap-test.com), at the end of wiza...")
 
Line 18: Line 18:
 
   ou: Groups
 
   ou: Groups
  
and run: ldapadd -x -D cn=admin,dc=example,dc=com -W -f add_nodes.ldif
+
and run: '''ldapadd -x -D cn=admin,dc=example,dc=com -W -f add_nodes.ldif'''
  
enabling MemberOF
+
''enabling MemberOF''
create file: memberof_config.ldif
+
create file: '''memberof_config.ldif'''
"
 
dn: cn=module,cn=config
 
cn: module
 
objectClass: olcModuleList
 
olcModuleLoad: memberof
 
olcModulePath: /usr/lib/ldap
 
  
dn: olcOverlay={0}memberof,olcDatabase={1}hdb,cn=config
+
  dn: cn=module,cn=config
objectClass: olcConfig
+
  cn: module
objectClass: olcMemberOf
+
  objectClass: olcModuleList
objectClass: olcOverlayConfig
+
  olcModuleLoad: memberof
objectClass: top
+
  olcModulePath: /usr/lib/ldap
olcOverlay: memberof
+
 
olcMemberOfDangling: ignore
+
  dn: olcOverlay={0}memberof,olcDatabase={1}hdb,cn=config
olcMemberOfRefInt: TRUE
+
  objectClass: olcConfig
olcMemberOfGroupOC: groupOfNames
+
  objectClass: olcMemberOf
olcMemberOfMemberAD: member
+
  objectClass: olcOverlayConfig
olcMemberOfMemberOfAD: memberOf
+
  objectClass: top
"
+
  olcOverlay: memberof
create file: refint1.ldif
+
  olcMemberOfDangling: ignore
"
+
  olcMemberOfRefInt: TRUE
dn: cn=module{1},cn=config
+
  olcMemberOfGroupOC: groupOfNames
add: olcmoduleload
+
  olcMemberOfMemberAD: member
olcmoduleload: refint
+
  olcMemberOfMemberOfAD: memberOf
"
+
 
 +
create file: '''refint1.ldif'''
 +
 
 +
  dn: cn=module{1},cn=config
 +
  add: olcmoduleload
 +
  olcmoduleload: refint
 +
 
 +
 
 +
create file: '''refint2.ldif'''
 +
 
 +
  dn: olcOverlay={1}refint,olcDatabase={1}hdb,cn=config
 +
  objectClass: olcConfig
 +
  objectClass: olcOverlayConfig
 +
  objectClass: olcRefintConfig
 +
  objectClass: top
 +
  olcOverlay: {1}refint
 +
  olcRefintAttribute: memberof member manager owner
  
create file: refint2.ldif
 
"
 
dn: olcOverlay={1}refint,olcDatabase={1}hdb,cn=config
 
objectClass: olcConfig
 
objectClass: olcOverlayConfig
 
objectClass: olcRefintConfig
 
objectClass: top
 
olcOverlay: {1}refint
 
olcRefintAttribute: memberof member manager owner
 
"
 
 
and run commands:
 
and run commands:
sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f memberof_config.ldif
+
'''sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f memberof_config.ldif'''
sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f refint1.ldif
+
'''sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f refint1.ldif'''
sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f refint2.ldif
+
'''sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f refint2.ldif'''
  
  

Revision as of 07:49, 24 October 2019

Install ldap sudo apt install slapd ldap-utils

configure sudo dpkg-reconfigure slapd enter admin password, domain name (ldap-test.com), at the end of wizard select "hdb" database type


add users ndgroups create file: add_nodes.ldif

 dn: ou=people,dc=ldap-test,dc=com
 objectClass: organizationalUnit
 ou: People
 dn: ou=groups,dc=ldap-test,dc=com
 objectClass: organizationalUnit
 ou: Groups

and run: ldapadd -x -D cn=admin,dc=example,dc=com -W -f add_nodes.ldif

enabling MemberOF create file: memberof_config.ldif

 dn: cn=module,cn=config
 cn: module
 objectClass: olcModuleList
 olcModuleLoad: memberof
 olcModulePath: /usr/lib/ldap
 dn: olcOverlay={0}memberof,olcDatabase={1}hdb,cn=config
 objectClass: olcConfig
 objectClass: olcMemberOf
 objectClass: olcOverlayConfig
 objectClass: top
 olcOverlay: memberof
 olcMemberOfDangling: ignore
 olcMemberOfRefInt: TRUE
 olcMemberOfGroupOC: groupOfNames
 olcMemberOfMemberAD: member
 olcMemberOfMemberOfAD: memberOf

create file: refint1.ldif

 dn: cn=module{1},cn=config
 add: olcmoduleload
 olcmoduleload: refint


create file: refint2.ldif

 dn: olcOverlay={1}refint,olcDatabase={1}hdb,cn=config
 objectClass: olcConfig
 objectClass: olcOverlayConfig
 objectClass: olcRefintConfig
 objectClass: top
 olcOverlay: {1}refint
 olcRefintAttribute: memberof member manager owner

and run commands: sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f memberof_config.ldif sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f refint1.ldif sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f refint2.ldif


create users: generate SHA for userPassword: slappasswd -h {SHA} -s my_password

create file: add_user_test.ldif " dn: cn=test,ou=people,dc=ldap-test,dc=com cn: test givenName: test sn: test uid: test uidNumber: 5000 gidNumber: 10000 homeDirectory: /home/test mail: test@ldap-test.com objectClass: top objectClass: posixAccount objectClass: shadowAccount objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person loginShell: /bin/bash userPassword: {SHA}qUqP5cyxm6YcTAhz05Hph5gvu9M=

" and run command: ldapadd -x -D cn=admin,dc=example,dc=com -W -f add_user_test.ldif

create file: add_user_valera.ldif " dn: cn=valera,ou=people,dc=ldap-test,dc=com cn: valera givenName: valera sn: valera uid: valera uidNumber: 5000 gidNumber: 10000 homeDirectory: /home/valera mail: valera@ldap-test.com objectClass: top objectClass: posixAccount objectClass: shadowAccount objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person loginShell: /bin/bash userPassword: {SHA}/czKZw8hc3yvCKMiU0y1lqqmATU= " and run command: ldapadd -x -D cn=admin,dc=example,dc=com -W -f add_user_valera.ldif

create file: add_user_svan.ldif " dn: cn=svan,ou=people,dc=ldap-test,dc=com cn: svan givenName: svan sn: svan uid: svan uidNumber: 5000 gidNumber: 10000 homeDirectory: /home/svan mail: svan@ldap-test.com objectClass: top objectClass: posixAccount objectClass: shadowAccount objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person loginShell: /bin/bash userPassword: {SHA}D07SmrTu0Yh+eZcgj+nIVWKn8XU= " and run command: ldapadd -x -D cn=admin,dc=example,dc=com -W -f add_user_svan.ldif

create groups: create file: add_group_disabled.ldif " dn: cn=Disabled,ou=groups,dc=ldap-test,dc=com objectClass: groupofnames cn: Disabled description: All users member: cn=test,ou=people,dc=ldap-test,dc=com

" ldapadd -x -D cn=admin,dc=example,dc=com -W -f add_group_disabled.ldif

create file: add_group_openvpn.ldif " dn: cn=OpenVPN,ou=groups,dc=ldap-test,dc=com objectClass: groupofnames cn: OpenVPN description: All users member: cn=valera,ou=people,dc=ldap-test,dc=com member: cn=svan,ou=people,dc=ldap-test,dc=com member: cn=test,ou=people,dc=ldap-test,dc=com

" ldapadd -x -D cn=admin,dc=example,dc=com -W -f add_group_openvpn.ldif


code: for ldap_simple_bind_s: " PWCHAR user_name = L"cn=valera,ou=people,dc=ldap-test,dc=com"; PWCHAR password = L"valera"; ULONG error = ldap_simple_bind_s(pLdapConnection, user_name, password); "

for ldap_search_s: " LDAPMessage *pResults = NULL; PWCHAR base_path = L"dc=ldap-test,dc=com"; PWCHAR base_filter = L"(&(!(memberOf=cn=Disabled, ou=groups, dc=ldap-test, dc=com))(memberOf=cn=OpenVPN, ou=groups, dc=ldap-test, dc=com))"; error = ldap_search_s(pLdapConnection, base_path, LDAP_SCOPE_SUBTREE, base_filter, NULL, 0, &pResults);

"

links: https://help.ubuntu.com/lts/serverguide/openldap-server.html https://www.adimian.com/blog/2014/10/how-to-enable-memberof-using-openldap/ https://computingforgeeks.com/install-and-configure-openldap-phpldapadmin-on-ubuntu-18-04-lts/