{"id":229,"date":"2010-11-27T18:53:47","date_gmt":"2010-11-27T17:53:47","guid":{"rendered":""},"modified":"2011-03-15T14:47:46","modified_gmt":"2011-03-15T12:47:46","slug":"konwersja-schematu-do-ldif","status":"publish","type":"post","link":"https:\/\/drfugazi.eu.org\/en\/konwersja-schematu-do-ldif\/","title":{"rendered":"Kowersja schematu LDAP do LDIF"},"content":{"rendered":"<h3>Pot\u0119g\u0105 us\u0142ugi katalogowej LDAP jest mo\u017cliwo\u015b\u0107 definiowania w\u0142asnych atrybut\u00f3w, klas obiekt\u00f3w, regu\u0142 itp. i grupowania ich w tzw. schematy, kt\u00f3re mo\u017cna dodawa\u0107 do konfiguracji.<\/h3>\n<p>Na dzie\u0144 dzisiejszy jednak wi\u0119kszo\u015b\u0107 schemat\u00f3w, kt\u00f3re znajdziecie w sieci jest zorganizowana w bloki zawieraj\u0105ce definicje atrybut\u00f3w i klas obiekt\u00f3w, wygl\u0105da to mniej wi\u0119cej tak:<\/p>\n<p style=\"font-weight: bold;\">definicja typu atrybutu:<\/p>\n<pre><code>\r\nattributetype ( 1.3.6.1.4.1.32349.1.2.2.9 NAME 'accountStatus'\r\n    DESC 'The status of a user account: active, disabled'\r\n    EQUALITY caseIgnoreIA5Match\r\n    SUBSTR caseIgnoreSubstringsMatch\r\n    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26\r\n    SINGLE-VALUE )\r\n<\/code><\/pre>\n<p><!--break--><\/p>\n<p style=\"font-weight: bold;\">definicja klasy obiektu:<\/p>\n<pre><code>\r\nobjectclass ( 1.3.6.1.4.1.32349.1.2.4.2 NAME 'mailAdmin'\r\n    DESC 'Mail Domain Admin' SUP top STRUCTURAL\r\n    MUST ( mail )\r\n    MAY ( domainGlobalAdmin $ description $ enabledService $\r\n        userPassword $ accountStatus $ cn $ sn $ givenName $\r\n        preferredLanguage $ givenName $ expiredDate $\r\n        mailHost $ lastLoginDate $ accountSetting ))\r\n<\/code><\/pre>\n<p>definicje te pochodz\u0105 ze schematu <a href=\"http:\/\/iredmail.googlecode.com\/hg\/iRedMail\/samples\/iredmail.schema\" target=\"_blank\">iredmail.schema<\/a>, kt\u00f3ry wykorzystam tu jako przyk\u0142ad (umieszcz\u0119 go te\u017c w za\u0142\u0105czniku).<\/p>\n<h3>Je\u015bli by\u015bmy u\u017cywali konfiguracji w pliku slapd.conf, to wystarczy\u0142oby skopiowa\u0107 plik schematu do \/etc\/ldap\/schema, wskaza\u0107 w konfiguracji \u015bcie\u017ck\u0119 do tego pliku i zrestartowa\u0107 serwer, ale zak\u0142adam, \u017ce korzystamy z dynamicznej konfiguracji, wi\u0119c musimy przekonwertowa\u0107 schemat do formatu LDIF.<\/h3>\n<p>Do tego celu polecam u\u017cy\u0107 skryptu perlowego, kt\u00f3ry tak\u017ce umie\u015bci\u0142em w za\u0142\u0105czniku, a pobra\u0142em go ze strony: <a href=\"http:\/\/directory.fedoraproject.org\/download\/ol-schema-migrate.pl\" target=\"_blank\">http:\/\/directory.fedoraproject.org\/download\/ol-schema-migrate.pl<\/a>. Pobieramy wi\u0119c co trzeba i dokonujemy konwersji, sekwencja polece\u0144 wygl\u0105da mniej wi\u0119cej tak:<\/p>\n<pre><code>\r\n\/usr\/bin\/sudo -i\r\ncd \/etc\/ldap\/schema\r\nwget http:\/\/iredmail.googlecode.com\/hg\/iRedMail\/samples\/iredmail.schema\r\nwget http:\/\/directory.fedoraproject.org\/download\/ol-schema-migrate.pl\r\n<\/code><\/pre>\n<p>UWAGA: skrypt jest nieco przestarza\u0142y i generuje LDIFa, kt\u00f3ry wyrzuci b\u0142\u0105d przy pr\u00f3bie importu. Pomimo mojej s\u0142abej znajomo\u015bci perla zrobi\u0142em patcha na skrypt, kt\u00f3ry to poprawia, zamieszcz\u0119 go w za\u0142\u0105czniku. Trzeba go na\u0142o\u017cy\u0107 przed konwersj\u0105:<\/p>\n<pre><code>\r\nwget http:\/\/www.drfugazi.eu.org\/?q=system\/files\/drf-ol-schema-migrate.patch\r\npatch -p0 < drf-ol-schema-migrate.patch\r\nperl ol-schema-migrate.pl -b iredmail.schema > iredmail.ldif\r\n<\/code><\/pre>\n<h3>Konwersja gotowa, mamy schemat w pliku LDIF, czas doda\u0107 go do naszej konfiguracji:<\/h3>\n<pre><code>ldapadd -Y EXTERNAL -H ldapi:\/\/\/ -f iredmail.ldif<\/code><\/pre>\n<p>Jest te\u017c inny spos\u00f3b na przeniesienie schemat\u00f3w a w\u0142a\u015bciwie ca\u0142ej konfiguracji z pliku <code>slapd.conf<\/code> do postaci dynamicznej przy u\u017cyciu narz\u0119dzia <code>slaptest<\/code>, ale o tym mo\u017ce w nast\u0119pnym odcinku \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<h3>Pot\u0119g\u0105 us\u0142ugi katalogowej LDAP jest mo\u017cliwo\u015b\u0107 definiowania w\u0142asnych atrybut\u00f3w, klas obiekt\u00f3w, regu\u0142 itp. i grupowania ich w tzw. schematy, kt\u00f3re mo\u017cna dodawa\u0107 do konfiguracji.<\/h3>\n<p>Na dzie\u0144 dzisiejszy jednak wi\u0119kszo\u015b\u0107 schemat\u00f3w, kt\u00f3re znajdziecie w sieci jest zorganizowana w bloki zawieraj\u0105ce definicje atrybut\u00f3w i klas obiekt\u00f3w, wygl\u0105da to mniej wi\u0119cej tak:<\/p>\n<p style=\"font-weight: bold;\">definicja typu atrybutu:<\/p>\n<pre><code>\r\nattributetype ( 1.3.6.1.4.1.32349.1.2.2.9 NAME 'accountStatus'\r\n    DESC 'The status of a user account: active, disabled'\r\n    EQUALITY caseIgnoreIA5Match\r\n    SUBSTR caseIgnoreSubstringsMatch\r\n    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26\r\n    SINGLE-VALUE )\r\n<\/code><\/pre>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_newsletter_tier_id":0,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[],"tags":[35,6,44],"jetpack_publicize_connections":[],"acf":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p7M9Tz-3H","jetpack-related-posts":[{"id":333,"url":"https:\/\/drfugazi.eu.org\/en\/konwersja-schematu-ldif\/","url_meta":{"origin":229,"position":0},"title":"Konwersja schematu do LDIF","author":"","date":"Saturday November 27th, 2010","format":false,"excerpt":"Pot\u0119g\u0105 us\u0142ugi katalogowej LDAP jest mo\u017cliwo\u015b\u0107 definiowania w\u0142asnych atrybut\u00f3w, klas obiekt\u00f3w, regu\u0142 itp. i grupowania ich w tzw. schematy, kt\u00f3re mo\u017cna dodawa\u0107 do konfiguracji. Na dzie\u0144 dzisiejszy jednak wi\u0119kszo\u015b\u0107 schemat\u00f3w, kt\u00f3re znajdziecie w sieci jest zorganizowana w bloki zawieraj\u0105ce definicje atrybut\u00f3w i klas obiekt\u00f3w, wygl\u0105da to mniej wi\u0119cej tak: definicja\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":337,"url":"https:\/\/drfugazi.eu.org\/en\/dodawanie-schematow-opendj\/","url_meta":{"origin":229,"position":1},"title":"Dodawanie schemat\u00f3w do OpenDJ","author":"drfugazi","date":"Tuesday July 12th, 2011","format":false,"excerpt":"Sorry, this entry is only available in Polish. For the sake of viewer convenience, the content is shown below in the alternative language. You may click the link to switch the active language.OpenDJ podobnie jak inne us\u0142ugi katalogowe pozwala na rozszerzanie funkcjonalno\u015bci katalogu poprzez dodawanie schemat\u00f3w. Istnieje szereg gotowych schemat\u00f3w,\u2026","rel":"","context":"In &quot;LDAP&quot;","block_context":{"text":"LDAP","link":"https:\/\/drfugazi.eu.org\/en\/category\/ldap\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":231,"url":"https:\/\/drfugazi.eu.org\/en\/konfiguracja-uwierzytelniania-poczty-w-ldap\/","url_meta":{"origin":229,"position":2},"title":"Konfiguracja uwierzytelniania poczty w LDAP","author":"drfugazi","date":"Friday December  3rd, 2010","format":false,"excerpt":"Zak\u0142adam, \u017ce Dovecot i Postfix ju\u017c dzia\u0142aj\u0105 i mo\u017cna odebra\u0107 i wys\u0142a\u0107 poczt\u0119 loguj\u0105c si\u0119 na u\u017cytkownika systemowego (patrz poprzednie wpisy). Nadszed\u0142 zatem czas na uruchomienie uwierzytelniania w naszym katalogu LDAP (patrz konfiguracja LDAP). Wykorzystanie LDAPa do uwierzytelniania u\u017cytkownik\u00f3w pozwala na elastyczne zarz\u0105dzanie hostingiem poczty i nie tylko. LDAP jest\u2026","rel":"","context":"In \"Dovecot\"","block_context":{"text":"Dovecot","link":"https:\/\/drfugazi.eu.org\/en\/tag\/dovecot\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":299,"url":"https:\/\/drfugazi.eu.org\/en\/ldap-meta-directory\/","url_meta":{"origin":229,"position":3},"title":"LDAP meta directory","author":"drfugazi","date":"Thursday August  4th, 2011","format":false,"excerpt":"Sometimes you need to combine two or more LDAP directories with same suffixes to one directory or you just need to have a proxy. My first attempts to combine two OpenLDAP directories was to make replication from two different sources. This solution however has some disadvantages. First of all: to\u2026","rel":"","context":"In &quot;LDAP&quot;","block_context":{"text":"LDAP","link":"https:\/\/drfugazi.eu.org\/en\/category\/ldap\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":228,"url":"https:\/\/drfugazi.eu.org\/en\/instalacja-i-konfiguracja-openldap\/","url_meta":{"origin":229,"position":4},"title":"Instalacja i konfiguracja OpenLDAP","author":"drfugazi","date":"Monday November 22nd, 2010","format":false,"excerpt":"Instalacja i podstawowa konfiguracja us\u0142ugi katalogowej LDAP (OpenLDAP) na Ubuntu: drfugazi@charr:~% sudo aptitude install slapd ldap-utils Opis wzorowany jest na angielskim opisie dla Karmic Koala na HowtoForge. Ja jestem przyzwyczajony do konfigurowania LDAPa w pliku slapd.conf, ale to stara szko\u0142a. Tutaj dostajemy mo\u017cliwo\u015b\u0107 dynamicznej konfiguracji bez konieczno\u015bci restartu serwera LDAP.\u2026","rel":"","context":"In \"Konfiguracja\"","block_context":{"text":"Konfiguracja","link":"https:\/\/drfugazi.eu.org\/en\/tag\/konfiguracja\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":332,"url":"https:\/\/drfugazi.eu.org\/en\/instalacja-i-konfiguracja-openldap\/","url_meta":{"origin":229,"position":5},"title":"Instalacja i konfiguracja OpenLDAP","author":"","date":"Monday November 22nd, 2010","format":false,"excerpt":"Instalacja i podstawowa konfiguracja us\u0142ugi katalogowej LDAP (OpenLDAP) na Ubuntu: drfugazi@charr:~% sudo aptitude install slapd ldap-utils Opis wzorowany jest na angielskim opisie dla Karmic Koala na HowtoForge. Ja jestem przyzwyczajony do konfigurowania LDAPa w pliku slapd.conf, ale to stara szko\u0142a. Tutaj dostajemy mo\u017cliwo\u015b\u0107 dynamicznej konfiguracji bez konieczno\u015bci restartu serwera LDAP.\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/drfugazi.eu.org\/en\/wp-json\/wp\/v2\/posts\/229"}],"collection":[{"href":"https:\/\/drfugazi.eu.org\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/drfugazi.eu.org\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/drfugazi.eu.org\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/drfugazi.eu.org\/en\/wp-json\/wp\/v2\/comments?post=229"}],"version-history":[{"count":0,"href":"https:\/\/drfugazi.eu.org\/en\/wp-json\/wp\/v2\/posts\/229\/revisions"}],"wp:attachment":[{"href":"https:\/\/drfugazi.eu.org\/en\/wp-json\/wp\/v2\/media?parent=229"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/drfugazi.eu.org\/en\/wp-json\/wp\/v2\/categories?post=229"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/drfugazi.eu.org\/en\/wp-json\/wp\/v2\/tags?post=229"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}