{"id":32127,"date":"2022-03-13T21:00:40","date_gmt":"2022-03-13T20:00:40","guid":{"rendered":"https:\/\/www.linuxboxen.dk\/?page_id=32127"},"modified":"2022-03-13T21:00:40","modified_gmt":"2022-03-13T20:00:40","slug":"openldap-installation","status":"publish","type":"page","link":"https:\/\/www.linuxboxen.dk\/?page_id=32127","title":{"rendered":"openldap installation."},"content":{"rendered":"<h3>Hvad er en OpenLDAP server og hvilken form\u00e5r har den.<\/h3>\n<p>I denne tutorial vil du l\u00e6re lidt om LDAP servere og hvad man bruger den til.<br \/>\nEn ldap server bruges til at verificere brugere login p\u00e5 mange systemer normalt.<\/p>\n<p>OpenLDAP best\u00e5r af disse systemer.<\/p>\n<ul>\n<li><a href=\"https:\/\/www.openldap.org\/software\/man.cgi?query=slapd\" target=\"_blank\" rel=\"noopener\">slapd<\/a> \u2013 Base LDAP daemon (server)<\/li>\n<li><a href=\"https:\/\/www.openldap.org\/software\/man.cgi?query=ldap\" target=\"_blank\" rel=\"noopener\">libraries<\/a> implementing af LDAP protocol, og tools.<\/li>\n<li>Admin web interface.<\/li>\n<\/ul>\n<p>For at bruge Openldap skal den f\u00f8rst installeres, her f\u00f8rst en oversigt over pakker som skal installeres med apt.<\/p>\n<p>slapd er ldap serveren som skal installeres.<\/p>\n<p>ldap-utils er Openldap tools.<\/p>\n<p>python3-ldap er LDAP interface modul for Python3<\/p>\n<p class=\"wp-block-code\"><code>$ sudo apt install slapd ldap-utils<\/code><\/p>\n<p>Som standard beder SLAPD installations programmet dig ikke om at indtaste dom\u00e6ne informationerne. Det udfylder dog automatisk DITt med eksempel data baseret p\u00e5 dit server dom\u00e6nenavn<\/p>\n<p>Her skal du angive en administrator password.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-32132 alignleft\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2022\/03\/install-openldap-ubuntu-18.04-set-password-01-min-1024x290-1.png\" alt=\"\" width=\"618\" height=\"175\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Bekr\u00e6ft adgangskoden og forts\u00e6t installationen ved at v\u00e6lge &lt;ok&gt; med TAB-tasten.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-32133 alignleft\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2022\/03\/install-openldap-ubuntu-18.04-set-password-02-min-1024x294-1.png\" alt=\"\" width=\"616\" height=\"177\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Du kan nu checke default v\u00e6rdierne som oprettes i ldap.<\/p>\n<pre class=\"wp-block-preformatted\">$ sudo slapcat\ndn: dc=example,dc=com\nobjectClass: top\nobjectClass: dcObject\nobjectClass: organization\no: example.com\ndc: example\nstructuralObjectClass: organization\nentryUUID: e33fc814-e5b9-1038-8243-39a2e6b74e62\ncreatorsName: cn=admin,dc=example,dc=com\ncreateTimestamp: 20190328152831Z\nentryCSN: 20190328152831.511390Z#000000#000#000000\nmodifiersName: cn=admin,dc=example,dc=com\nmodifyTimestamp: 20190328152831Z\ndn: cn=admin,dc=example,dc=com\nobjectClass: simpleSecurityObject\nobjectClass: organizationalRole\ncn: admin\ndescription: LDAP administrator\nuserPassword:: e1NTSEF9WDIzUEJxbXgycUU3M1dRUmppTVYrZE91U0RNMWswSHE=\nstructuralObjectClass: organizationalRole\nentryUUID: e340fedc-e5b9-1038-8244-39a2e6b74e62\ncreatorsName: cn=admin,dc=example,dc=com\ncreateTimestamp: 20190328152831Z\nentryCSN: 20190328152831.519463Z#000000#000#000000\nmodifiersName: cn=admin,dc=example,dc=com\nmodifyTimestamp: 20190328152831Z<\/pre>\n<p>F\u00f8r du kan opdatere databasen med brugernes OU-oplysninger ovenfor, skal du justere SLAPD-databasens adgangskontrol.<\/p>\n<pre class=\"wp-block-preformatted\">$ vim update-mdb-acl.ldif\ndn: olcDatabase={1}mdb,cn=config\nchangetype: modify\nreplace: olcAccess\nolcAccess: to attrs=userPassword,shadowLastChange,shadowExpire\n  by self write\n  by anonymous auth\n  by dn.subtree=\"gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth\" manage \n  by dn.exact=\"cn=readonly,ou=people,dc=kifarunix-demo,dc=com\" read \n  by * none\nolcAccess: to dn.exact=\"cn=readonly,ou=people,dc=kifarunix-demo,dc=com\" by dn.subtree=\"gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth\" manage by * none\nolcAccess: to dn.subtree=\"dc=kifarunix-demo,dc=com\" by dn.subtree=\"gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth\" manage\n  by users read \n  by * none\n\n<\/pre>\n<p>Du skal nu k\u00f8re.<\/p>\n<pre class=\"wp-block-preformatted\">$ sudo ldapadd -Y EXTERNAL -H ldapi:\/\/\/ -f update-mdb-acl.ldif\nSASL\/EXTERNAL authentication started\nSASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth\nSASL SSF: 0\nadding new entry \"ou=people,dc=example,dc=com\"\nldap_add: Server is unwilling to perform (53)\nadditional info: no global superior knowledge<\/pre>\n<p>&nbsp;<\/p>\n<pre class=\"wp-block-preformatted\">\n<\/pre>\n<p>Vi skal nu have oprettet Base DN.<\/p>\n<h3>Opret Base DN for Brugere og Grupper.<\/h3>\n<p>Nu da vi skal bruge andre typer af brugere skal vi oprette Base DN (organisation) for disse typer.<\/p>\n<p>Det n\u00e6ste trin er at tilf\u00f8je en basis-DN for brugere og grupper. Opret en fil med navnet basedn.ldif med nedenst\u00e5ende indhold:<\/p>\n<pre class=\"wp-block-preformatted\">$ vim user_group_base.ldif\ndn: ou=people,dc=ldapmaster,dc=example,dc=com\nobjectClass: organizationalUnit\nou: people\ndn: ou=group,dc=ldapmaster,dc=example,dc=com\nobjectClass: organizationalUnit\nou: group<\/pre>\n<p>Du skal her igen rette <code>example and com<\/code> med dit rigtige domain navn.<\/p>\n<p>Derefter skal nu tilf\u00f8je det til openldap med kommandoen:<\/p>\n<pre class=\"wp-block-preformatted\">$ ldapadd -x -D cn=admin,dc=example,dc=com -W -f user_group_base.ldif\nEnter LDAP Password:\nadding new entry \"ou=people,dc=example,dc=com\"\nadding new entry \"ou=groups,dc=example,dc=com\"<\/pre>\n<h3>Opret af LDAP Bruger<\/h3>\n<p>S\u00e5 er det tid til at lave oprette en bruger og lave et password for ldap brugeren.<\/p>\n<pre class=\"wp-block-preformatted\">$ sudo slappasswd\nNew password:\nRe-enter new password:\n{SSHA}Zn4\/E5f+Ork7WZF\/alrpMuHHGufC3x0k<\/pre>\n<p>Opret new_user.ldif filen til tilf\u00f8jelse af brugere.<\/p>\n<pre class=\"wp-block-preformatted\">$ vim new_user.ldif\ndn: uid=brugernavn,ou=people,dc=example,dc=com\nobjectClass: inetOrgPerson\nobjectClass: posixAccount\nobjectClass: shadowAccount\nuid: brugernavn\ncn: brugernavn\nsn: Wiz\nuserPassword: {SSHA}Zn4\/E5f+Ork7WZF\/alrpMuHHGufC3x0k\nloginShell: \/bin\/bash\nuidNumber: 2000\ngidNumber: 2000\nhomeDirectory: \/home\/brugernavn\ndn: cn=brugernavn,ou=group,dc=example,dc=com\nobjectClass: posixGroup\ncn: brugernavn\ngidNumber: 10000\nmemberUid: brugernavn<\/pre>\n<p>Her lidt info om hvad felterne betyder.<\/p>\n<ul>\n<li>Udskift <strong>brugernavn<\/strong>\u00a0med det brugernavn som skal oprettes.<\/li>\n<li>dc=<strong>example,dc=com<\/strong> Med det rigtige domain navn.<\/li>\n<li>cn\u00a0&amp; sn with your Username Values<\/li>\n<li><strong>{SSHA}Zn4\/E5f+Ork7WZF\/alrpMuHHGufC3x0k<\/strong> Hashed password<\/li>\n<\/ul>\n<p>N\u00e5r du er f\u00e6rdig med at rette filen <em>ldapusers.ldif<\/em> skal du tilf\u00f8je den til Ldap med kommandoen:<\/p>\n<pre class=\"wp-block-preformatted\">$ ldapadd -x -D cn=admin,dc=example,dc=com -W -f new_user.ldif\nEnter LDAP Password:\nadding new entry \"uid=brugernavn,ou=people,dc=example,dc=com\"\n<\/pre>\n<p>&nbsp;<\/p>\n<h3>Slet af LDAP Bruger og Grupper<\/h3>\n<p>For at slette en LDAP bruger, s\u00e5 brug ldapdelete kommandoen. For eksempelvis at slette bruger med brugernavn <em>brugernavn<\/em> som vi oprettet f\u00f8r.<\/p>\n<pre class=\"wp-block-preformatted\">$ ldapdelete -x -W -D \"cn=admin,dc=example,dc=com\" \"uid=brugernavn,ou=people,dc=example,dc=com\"<\/pre>\n<p>Det samme for at slette i LDAP group.<\/p>\n<pre class=\"wp-block-preformatted\">$ ldapdelete -x -W -D \"cn=admin,dc=example,dc=com\" \"cn=brugernavn,ou=group,dc=example,dc=com\"<\/pre>\n<h3>Reset LDAP bruger password<\/h3>\n<p>Hvis du skal reset en brugers password kan du bruge ldappasswd kommandoen. for at rest password for brugernavn <em>brugernavn<\/em> vi havde for f\u00f8r.<\/p>\n<pre class=\"wp-block-preformatted\">$ ldappasswd -H ldapi:\/\/\/ -x -D \"cn=admin,dc=example,dc=com\" -W -S \"uid=brugernavn,ou=people,dc=example,dc=com\"<\/pre>\n<h3>Opret forbindelse til remote ldap server.<\/h3>\n<p class=\"wp-block-code\">For at oprette remote forbindelse skal du bruge\u00a0 <code>-H ldap:\/\/&lt;ldap-server-IP&gt;<\/code>\u00a0option. For example;<\/p>\n<pre class=\"wp-block-preformatted\">$ ldappasswd -H ldap:\/\/192.168.56.105 -x -D \"cn=admin,dc=example,dc=com\" -W -S \"uid=brugernavn,ou=people,dc=example,dc=com\"<\/pre>\n<p>Hvis du vil lave din egen DIT, du skal reconfigure SLAPD pakken igen med kommandoen.<\/p>\n<p class=\"wp-block-code\"><code>$ dpkg-reconfigure slapd<\/code><\/p>\n<h3>Check LDAP bruger Password<\/h3>\n<p>For at check et password for en bruger skal du bruge ldapwhoami kommandoen. Her checker vi brugernavn <em>brugernavn<\/em><\/p>\n<pre class=\"wp-block-preformatted\">$ ldapwhoami -vvv -h localhost -D \"uid=brugernavn,ou=people,dc=example,dc=com\" -x -W<\/pre>\n<p>Hvis password er rigtigt vil den skrive noget i den retning.<\/p>\n<pre class=\"wp-block-preformatted\">ldap_initialize( ldap:\/\/localhost )\nEnter LDAP Password: \ndn:uid=brugernavn,ou=people,dc=kexample,dc=com\n<strong>Result: Success (0)\n\n<\/strong><\/pre>\n<h3>Test remote forbindelse<\/h3>\n<pre class=\"wp-block-preformatted\">$ ldapwhoami -vvv -h <strong>LDAP-SERVER-IP-ELLER-HOST-NAVN<\/strong> -D \"uid=brugernavn,ou=people,dc=example,dc=com\" -x -W\n<\/pre>\n<h3>Nu er det tid til at installere LDAP Account Manager.<\/h3>\n<p>Jeg har bem\u00e6rket, at phpLDAPadmin ikke fungerer godt med PHP 7.2+. Jeg anbefaler, at du i stedet bruger LDAP Account Manager. F\u00f8lg guiden nedenfor for at installere og konfigurere LDAP Account Manager.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_32127\" class=\"pvc_stats all  \" data-element-id=\"32127\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Hvad er en OpenLDAP server og hvilken form\u00e5r har den. I denne tutorial vil du l\u00e6re lidt om LDAP servere og hvad man bruger den til. En ldap server bruges til at verificere brugere login p\u00e5 mange systemer normalt. OpenLDAP best\u00e5r af disse systemer. slapd \u2013 Base LDAP daemon (server) libraries implementing af LDAP protocol, [&hellip;]<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_32127\" class=\"pvc_stats all  \" data-element-id=\"32127\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_sitemap_exclude":false,"_sitemap_priority":"","_sitemap_frequency":"","footnotes":""},"class_list":["post-32127","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.linuxboxen.dk\/index.php?rest_route=\/wp\/v2\/pages\/32127","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxboxen.dk\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.linuxboxen.dk\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.linuxboxen.dk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxboxen.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=32127"}],"version-history":[{"count":0,"href":"https:\/\/www.linuxboxen.dk\/index.php?rest_route=\/wp\/v2\/pages\/32127\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.linuxboxen.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=32127"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}