abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 06:22 | Zajímavý software

    NVIDIA vydala nativního klienta své cloudové herní služby GeForce NOW pro Linux. Zatím v beta verzi.

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | Zajímavý projekt

    Open Gaming Collective (OGC) si klade za cíl sdružit všechny klíčové projekty v oblasti linuxového hraní počítačových her. Zakládajícími členy jsou Universal Blue a Bazzite, ASUS Linux, ShadowBlip, PikaOS a Fyra Labs. Strategickými partnery a klíčovými přispěvateli ChimeraOS, Nobara, Playtron a další. Cílem je centralizovat úsilí, takže namísto toho, aby každá distribuce udržovala samostatné opravy systému a podporu hardwaru na

    … více »
    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 04:11 | Bezpečnostní upozornění

    V kryptografické knihovně OpenSSL bylo nalezeno 12 zranitelností. Opraveny jsou v upstream verzích OpenSSL 3.6.1, 3.5.5, 3.4.4, 3.3.6 a 3.0.19. Zranitelnosti objevila společnost AISLE pomocí svého autonomního analyzátoru.

    Ladislav Hagara | Komentářů: 0
    včera 20:11 | Zajímavý software

    Desktopové prostředí Xfce bude mít vlastní kompozitor pro Wayland s názvem xfwl4. V programovacím jazyce Rust s využitím stavebních bloků z projektu Smithay jej napíše Brian Tarricone. Úprava stávajícího xfwm4 tak, aby paralelně podporoval X11 i Wayland, se ukázala jako špatná cesta.

    Ladislav Hagara | Komentářů: 2
    včera 19:11 | Komunita

    Desktopové prostředí KDE Plasma 6.8 poběží už pouze nad Waylandem. Vývojáři, kteří s rozhodnutím nesouhlasí, vytvořili fork KDE Plasma s názvem SonicDE (Sonic Desktop Environment) s cílem zachovat a vylepšovat podporu X11.

    Ladislav Hagara | Komentářů: 4
    včera 12:22 | Nová verze

    Byla vydána nová stabilní verze 7.8 dnes již jedenáctiletého webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 144. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 5
    včera 10:33 | Nová verze

    GNU gettext (Wikipedie), tj. sada nástrojů pro psaní vícejazyčných programů, dospěl do verze 1.0. Po více než 30 letech vývoje. Přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 1
    včera 05:11 | IT novinky

    Chris Kühl (CEO), Christian Brauner (CTO) a Lennart Poettering (Chief Engineer) představili svou společnost Amutable. Má přinést determinismus a ověřitelnou integritu do linuxových systémů.

    Ladislav Hagara | Komentářů: 12
    28.1. 20:11 | Nová verze

    Byla vydána (𝕏) nová verze 26.1 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 26.1 je Witty Woodpecker. Přehled novinek v příspěvku na fóru.

    Ladislav Hagara | Komentářů: 2
    28.1. 15:11 | Zajímavý projekt

    Deník TO spustil vlastní zpravodajský webový portál ToHledej.CZ s internetovým vyhledávačem a bezplatnou e-mailovou schránkou. Dle svého tvrzení nabízí 'Zprávy, komentáře, analýzy bez cenzury' a 'Mail bez šmírování a Velkého bratra'. Rozložením a vizuálním stylem se stránky nápadně podobají portálu Seznam.cz a nejspíše je cílem být jeho alternativou. Z podmínek platformy vyplývá, že portál využívá nespecifikovaný internetový vyhledávač třetí strany.

    NUKE GAZA! 🎆 | Komentářů: 27
    Které desktopové prostředí na Linuxu používáte?
     (18%)
     (6%)
     (0%)
     (10%)
     (23%)
     (3%)
     (5%)
     (2%)
     (12%)
     (33%)
    Celkem 673 hlasů
     Komentářů: 22, poslední včera 23:06
    Rozcestník

    LDAP: šablony pro LDIF

    11.1.2007 02:02 | Přečteno: 1905× | Linux | Výběrový blog | poslední úprava: 11.1.2007 03:54

    V poslední mě zajímá LDAP v pozici zdroje dat pro DHCP, DNS, atd... Do LDAP databáze je potřeba často hromadně sypat data získaná skriptem, ve formátu LDIF. Příklad záznamu v LDIFu:

    dn: cn=lenovo,cn=192.168.0.0,cn=DHCP Config,dc=firma,dc=cz
    cn: lenovo
    dhcpHWAddress: ethernet XX:YY:XX:YY:XX:YY
    dhcpStatements: fixed-address 192.168.0.10
    objectClass: top
    objectClass: dhcpHost
    

    Kostru záznamu jednoduše popíšeme šablonou (soubor dhcphost.tpl):

    @include base.conf
    @include net.conf
    dn: cn=%HOSTNAME%,cn=%SUBNETNUMBER%,cn=DHCP Config,%BASEDN%
    cn: %HOSTNAME%
    dhcpHWAddress: ethernet %MACADDRESS%
    dhcpStatements: fixed-address %IPHOSTNUMBER%
    objectClass: top
    objectClass: dhcpHost
    

    ... kde proměnné jsou rozlišeny procenty. Některé parametry jako maska podsítě a basedn jsou neměnné, uložíme je do souboru base.conf:

    %BASEDN%        dc=firma,dc=cz
    

    ...a net.conf:

    %SUBNETNUMBER%  192.168.0.0
    %SUBNETMASK%    255.255.255.0
    %DHCPSERVER%    server1
    

    Následující skript (soubor makeldif.sh) generuje LDIFy:

    #!/bin/bash
    
    #check if file exists
    check_file()
    {
            if [ ! -e $1 ]; then
                    die "File doesn't exist: $1"
            fi
    }
    
    #include definitions from file
    include()
    {
            include_file=$1
            check_file $include_file
    
            #read line by line
            grep -v '#' $include_file | while read line; do
                    create_regexp   "$(echo $line | awk '{print $1}')" \
                                    "$(echo $line | awk '{print $2}')"
            done
    }
    
    #create regular expression
    create_regexp()
    {
            echo -n "s/$1/$2/g;" >> $regexp_file
    }
    
    #Show usage informations and exit
    die()
    {
            echo $1
            echo "Usage: $0 [parameters] template_file" > /dev/stderr
            echo "Parameters: %VARIABLE1% value1 %VARIABLE2% value2 ..." > /dev/stderr
            exit 1
    }
    
    regexp_file=regexp.tmp
    rm -f $regexp_file
    
    #exclude last param
    param_count=$(expr $# - 1)
    
    #check if params count is correct
    if [ $(expr $param_count % 2) -ne 0 ]; then
            die "Wrong parameters: $@"
    fi
    
    #read command-line params and create regexp from them
    for param in $(seq 1 2 $param_count); do
            create_regexp $1 $2
            shift; shift
    done
    
    template_file=$1
    check_file $template_file
    
    #include all files in this directive: @include filename
    include_files="$(grep '@include' $template_file | awk '{print $2}')"
    for include_file in $include_files ; do
            include $include_file
    done
    
    #read template_file and process it using sed and regexp from $regexp_file
    grep -v '@include' $template_file | sed "$(cat $regexp_file)"
    exit $?
    

    Voláním příkazu:

    ./makeldif.sh %HOSTNAME% lenovo %MACADDRESS% XX:YY:XX:YY:XX:YY %IPHOSTNUMBER% 192.160.0.10 dhcphost.tpl
    

    ... vygenerujeme nahoře uvedený LDIF. Toto je interface pro generování LDIFů. Teď můžeme jednoduše generovat podobné LDIFy např. takto:

    #!/bin/bash
    
    ip=$(/sbin/ifconfig | head -2 | grep inet | awk '{print $2}' | cut -d : -f 2)
    mac=$(/sbin/ifconfig | head -1 | awk '{print $5}')
    
    ./makeldif.sh %HOSTNAME% $HOSTNAME %MACADDRESS% $mac %IPHOSTNUMBER% $ip dhcphost.tpl
    

    Skriptů bylo pro dnešek dost a vy si je můžete všechny stáhnout zde a vyzkoušet. Až mě zas něco napadne, tak to plácnu do blogu... ;-)

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    11.1.2007 07:13 Martin Beránek | skóre: 33 | blog: mousehouse | Brno
    Rozbalit Rozbalit vše Re: LDAP: šablony pro LDIF
    jenom mi to pripomelo: neznate nekdo nastroj ktery umoznuje pohodlne tahat data z ldapu/ldif a poradi si s base64 polozkami - zatim to resim dost hnusnym skryptem (dalsi nepekna vec je to, ze nektere polozky jsou na vice radku)
    never use rm after eight
    11.1.2007 10:37 zde | skóre: 9 | blog: Linuch | Brno
    Rozbalit Rozbalit vše Re: LDAP: šablony pro LDIF
    python-ldap? Commandline nástroje z ldap-utils jsou opravdu dosti nepříjemné. ldapsearch umí ten base64 výstup pro non-ascii nějakým switchem vypnout.
    Táto, ty de byl? V práci, já debil.
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.