LDAP: slapcat ve ldapsearch ile yedekleme


11

Kullanılmış: openldap-servers-2.4.23-34.el6_5.1.x86_64

Görev: crontabzamanlanmış veritabanı tam yedekleme oluşturmak için komut dosyası oluşturun.

1) slapcat- Berkeley DB varsayılan biçiminde dosya oluşturun.

2) çalışırken slapcatyapılabilir slapd( bdb/hdbveritabanı kullanılıyorsa).

3) Sonra dosyayı geri yüklemek için slapcat- kullanılmalıdır slapadd(değil ldapadd).

4) slapcat/addşifre gerektirmez.

5) slapaddsadece slapddurduğunda yapılabilir .

Misal:

 $ slapcat -f /etc/openldap/slapd.conf -b "dc=db_1" -l db_1_backup.ldif
 $ slapadd -l db_1_backup.ldif

Bunun yerine slapcat/add- bir göz atalım ldapsearch/add:

1) ldapsearch- neredeyse aynı bilgilerle dosya oluşturur slapcat;

2) ldapadd- Dosyayı kullanabilir ldapsearch, slapddurdurulmasını gerektirmez ;

3) ldapadd/search- şifre gerektirir.

Misal:

 $ ldapsearch -D "cn=root,dc=db_1" -W -b "dc=db_1" "dc=db_1" -LLL > db_1_backup2.ldif
 $ ldapadd -x -D "cn=root,dc=db_1" -W -f db_1_backup2.ldif

Yani - soru:

1) Bu araç açıklamasında bir şey eksik mi?

2) ldapadd/slapaddve arasındaki fark nedir ladpsearch/slapcat?

Yanıtlar:


12

İyi özet, bazı ek noktalar:

  • slapcat(yerel) doğrudan depolama arka ucundan ne olursa olsun, Berkeley (hdb veya bdb) olması gerekmez, ayrıca OLC ( cn=config) ile de çalışır . Bu kadar döker LDIF biçimi . (Doğrudan olarak demek istediğim, OpenLDAP tarafından yönetiliyor, örneğin yerel olarak depolanmış olsa bile bir SQL arka ucu değil.)
  • ldapaddO slapd gerektirir edilir , çalışan slapaddo gerektirir değildir çalıştıran
  • ldapsearchgerektirir slapd edilir , çalışan slapcatbelirttiğin gibi, bir BDB arka uca sahip Çalışıyorsa umursamıyor

Kısacası:

  • slapcatMaster'da kesinti süresi olsa da, hızlı bir şekilde geri yükleyebileceğiniz iyi bir yedek almanın yoludur (çeşitli çoğaltma kurulumlarıyla bu sorunu çözebilirsiniz). Genel yedekleme ve yükseltme öncesi yedeklemeler için kullanmanız gereken budur.
  • ldapsearch(olmadan +) , muhtemelen başka bir dizin sunucusuna biraz zorlukla yükleyebileceğiniz taşınabilir bir yedekleme alacaktır, ancak yalnızca basit bir OpenLDAP kurulumunda uygun bir geri yükleme olacaktır (çoğaltma yok, özel kaplama yok, yeniden yazma yok) ve eğer UUID'yi korumak / meta veriler oluşturmak / değiştirmekle ilgilenmezsiniz. Verilerinizle birlikte gelen ek şema dosyalarına da ihtiyacınız olacaktır.
  • ldapadd(diğer kimliğini kullanarak ldapmodify), slapadd/ slapcatyalnız mümkün olmayan veya mümkün olmayan LDAP değişikliklerini (nesne değiştirme, silme ve yeniden adlandırma) kolayca uygulamak için kullanılabilir

Çoğu yönetici için ana hususlar, her durumda LDIF'nin biraz farklı içeriğinden ve slapdçalıştırma (veya çalışmama) gerekliliğinden kaynaklanır . Daha önemli farklar:

  1. slapcatdaha hızlıdır çünkü veritabanını döker, LDAP protokolü ek yüklerini, kimlik doğrulama, erişim kontrolü, nesne ve zaman sınırları, katmanları atlar; ve LDAP hiyerarşisine göre arama yapmaz.
  2. slapadddaha hızlıdır (yine LDAP protokolü yükleri yoktur) ve iyi bilinen bir yedeklemeyi geri yüklerseniz, büyük içe aktarma işlemlerini hızlandırmak için hızlı modda ( -q) çalıştırabilirsiniz . Şema denetimini ( -s) de devre dışı bırakabilirsiniz , ancak şemadaki küçük değişikliklerin veya OpenLDAP sürümleri arasındaki veri doğrulamasının duyulmadığına dikkat edin.
  3. slapcatyerel veritabanlarıyla sınırlıdır, diğer dizinlere (örneğin back-ldap, ile back-meta) ldapsearchgeçmeyecektir. Aynısı slapadd/ için de geçerlidir ldapadd.
  4. ldapsearchbir arka uçta depolanmayan dinamik öznitelikleri, örneğin hasSubordinatesyer paylaşımları (ör slapo-memberof. Bunları yüklerken sorun yaşayacaksınız ldapadd(örn. Kullanıcı değişikliği olmayan operasyonel özellikler). Yeniden yazma (slapo-rwm) ldapsearchdizin içeriğinin görünümünü de bozabilir .
  5. slapcatdahili (operasyonel) öznitelikleri içerir, çoğaltma kullanıyorsanız bu öznitelikler önemlidir. Çoğaltma ile yedeklemeye biraz daha az bağımlısınız, ancak ldapaddmaster'ınızı yeniden yüklemek için kullanırsanız , her nesne çoğaltma ile yeniden oluşturulur (değiştirilir entryUUID entryCSN) Bununla birlikte ldapsearch(veya allopyer paylaşımı) özel "+" özelliğini kullanarak operasyonel özellikler ekleyebilmenize rağmen , bu aynı şey değildir, bununslapcat neden böyle olduğuna dair önceki noktaya bakın. Bu öznitelikler, bazı uygulamalar için önemli olabilecek DN ve zaman damgalarını oluşturma / değiştirme de içerir.
  6. çünkü slapcatLDAP hiyerarşisini (zımni sipariş) uymaması, veri sipariş ile yaşayabilir olacak hiçbir garantisi yoktur ldapadd- sen operasyonel özelliklerini çıkarmaz bile yani ldapaddalt koordine üstlerinden önce görünebilir çünkü şikayet edebilirsiniz (veliler) . LDAP özellikleri bir üst öğenin bulunmasını gerektirir, ancak arama sonucu sırasını da bu açıdan tanımsız bırakır. Aşağıdaki Howard yorumuna bakın, OpenLDAP'in slapaddbazı arka uçları için sırasız verileri sessizce desteklemesi. Bir tutamda, tüm "bozuk" ebeveynler oluşturulana kadar hata koduna slapadddevam et seçeneği ( -c) ile art arda kullanabilirsiniz , artık 32 hata kodu (böyle bir nesne,
  7. ldapadd LDAP kurallarına ve yer paylaşımlarına tabidir, ör. referans bütünlüğü, ppolicy (şifre politikası)
  8. slapcaten azından userPassword için ( ::öznitelik adından sonra ile belirtilen) base-64 kodlanmış öznitelik değerlerini kullanmayı tercih eder
  9. ldapsearchLDIF biçimlendirmesi ve ayrı dosyalara büyük öznitelikler yazmak için daha fazla seçeneğe sahiptir. Ayrıca yönlendirmeleri ve takma adları da ele alabilir .

LDAP sonuç sırası tanımlanmamış. Hem slapcat hem de ldapsearch girişleri keyfi sırayla döndürebilir, hiçbir çıktının ldapadd ile kullanım için uygun sırada olması garanti edilmez. slapadd'nin bdb / hdb / mdb sürücülerinin girişi keyfi sırada işlemek için özel çözümleri vardır, ldapadd yoktur.
hyc

slapcatveritabanı (arka uç) sırasındaki iyi tanımlanmış veya tanımlanmamış girdileri döndürür. ldapsearchvarsayılan olarak sunucunun yanıt verdiği sıraya göre döner, OpenLDAP ile istemci tarafı sıralama (örneğin -S "") veya sunucu tarafı sıralama kontrolü (örneğin -E sssdestekleniyorsa ve bazı küçük yapılandırma ve şema ile ilgili ayı tuzaklarına tabi) seçeneği vardır. Teknik özellik , arama sonuçlarının herhangi bir sırada olabileceğini söylüyor . Bir uygulama varsayılan bir sipariş tanımlayabilir, çoğu kişi varsayılanın "çocuktan önce ebeveyn" olduğunu varsayar, yalnızca OpenDS bunu belgeler, AFAIK.
mr.spuratic

2
OpenLDAP'deki arama sonucu sırası kasıtlı olarak belgelenmemiştir. Spesifikasyon, sonuçların herhangi bir sırada olabileceğini belirttiğinden, istemci yazılımı belirli bir siparişe güvenmemelidir. Sonuçların sıralanması elbette yapılabilir, ancak bu çok daha fazla kaynak gerektirir ve tam bir yedekleme yaparken genellikle ilginç değildir. Alt ağaç adlarının yeni DIT konumlarına taşınması alt ağacı yeniden adlandırılma olasılığı göz önüne alındığında, veritabanı sırası nispeten anlamsızdır.
hyc

1

slapcatyer paylaşımlarınız varsa çalışmaz, örn memberOf. Yani slapcat/ slapadddöngüsü yaparsanız üyelik bindirmeleri artık çalışmaz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.