LDAP scripting

From Hobbynet Admin Wiki
Jump to navigation Jump to search

Inleiding

Omdat de ldap server in sneltreinvaart de bron voor allerlei services aan het worden is, ontstaat er ook een migratie van (veelal perl) scripts op scripting-int naar php scripts op hcc-ldap-lb1-int. Hcc-ldap-lb1-int is net als scripting-int een server met verhoogde security. Er mag dus wel van deze server naar andere servers geconnect worden maar niet andersom. Dit is vergelijkbaar met de situatie op scripting-int. Deze mogelijkheid is essentieel voor de goed werking van sommige scripts.

Type scripts

Er zijn globaal een aantal soorten scripts te onderscheiden:

  • De eigenlijke scripts die een bepaalde taak uitvoeren en vaak naar stdout schrijven. (.php soms geen extensie)
  • De cronjob scripts. Gewoonlijk herkenbaar aan de .sh extensie. Deze scripts bundelen vaak meerdere php scripts tot complet oplossingen.
  • Scripts voor initialiseren en backuppen van de ldap directory nodig zijn (init_ldap, dump_ldap en restore_ldap). Behalve dump_ldap mogen deze script nooit zomaar gedraaid worden; de ldap directory zou vernield worden.

Toepassingen

Soms zijn er een aantal scripts die bij elkaar horen en er voor een bepaalde toepassing zijn, zoals om de mailserver te updaten, dagelijkse bestanden voor Kantoor te maken, dagelijkse bestanden voor het Tripolis mail systeem en niet geheel onbelangrijk, scripts die ldap dagelijks bijwerken met de master data die bij DBF wordt bijgehouden.

Mailserver

De mailserver kreeg tot voorkort 2 bestanden van scripting-int, husers en b3a.txt. De inhoud van beide bestanden kan ook uit ldap gehaald worden. Hiervoor zijn de volgende scripts in gebruik:

  • gen_hobbyabon.php. Dit script maakt een equivalent aan van husers en bevat alleen de betalende Hobbynet abonnees (enige tientallen regels).
  • gen_kaderfunc.php. Dit script is de vervanger van b3a.txt, de lijst van alle kaderfuncties (ongeveer 1200).
  • gen_kaderlist.php. Een hulp bestand met alleen de 7 cijferige lidnummers van alle kaderleden (ruim 700). Deze lijst wordt op de mailserver gebruikt om incidenteel kadermailboxen op te ruimen.
  • gen_mail_exclude_txt.php. Nog een hulp bestand waar in de interessegroepen staan die geen functionele mailadressen nodig hebben. Dit zijn vooral de ig's die geen echte ig zijn zoals de HCC zelf en de RvA en RvT maar wel als zodanig in ldap staan. Ook de cursus presentatoren vallen hieronder.

Deze scripts worden door het script upd_mailserver.sh gebundeld tot een cornjob die elke nacht loopt. Dit script draait de 4 php scripts, doet wat na bewerking, kopieert de output naar mail-dev-int en start upd_all op mail-dev-int. Tenslotte worden nog de relay-domains opgehaald van mail-dev-int (dat bestand is pas up-to-date nadat upd_all op mail-dev-int heeft gelopen) on vervolgens dit gestand naar mail2 te kopiëren.

Maandrapportage

gen_maand_rap.php mail_reports.sh run_maand_rapport.sh gen_pc30_maand_rap.php

Passwd, shadow en group

gen_group_admin.php gen_group_code2.php gen_group_hcc.php gen_passwd_admin.php gen_passwd_code2.php gen_passwd_hcc.php gen_shadow_admin.php gen_shadow_code2.php gen_shadow_hcc.php upd_admin_accounts.sh (is er niet) upd_code2_accounts.sh upd_hcc_accounts.sh

Kantoor

gen_kader_csv.php gen_leden_csv.php upload_kader_csv.sh upload_leden_csv.sh

Tripolis

LDAP_export_tripolis_bul_csv.php LDAP_export_tripolis_cor_csv.php LDAP_export_tripolis_hn_csv.php LDAP_import_digizine_csv.php LDAP_import_nieuwsflash_csv.php LDAP_import_popbull_csv.php LDAP_import_tripolis_csv.php run_tripolis_export.sh run_tripolis_import.sh