Guarantee business interface. stickfish.com
abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz 64bit.eu 64bit.eu abcprace.cz AbcPráce.cz Raydesk Raydesk
Sledujte AbcLinuxu.cz na:
facebook favicon logo  Facebooku twitter favicon logo  Twitteru,   identi.ca favicon logo  Identi.ca,   rss logo  RSS
Rozšířené hledání
×
včera 23:00 | Bezpečnostní upozornění
Vyšla nová verze knihovny WebKitGTK+. Verze 1.2.4 opravuje především 11 bezpečnostních problémů. Knihovna WebKitGTK+, GTK+ port knihovny Webkit, je využívána například webovými prohlížeči Epiphany nebo Midori.
Ladislav Hagara | Komentářů: 0
včera 15:34 | Zajímavý software
Nedávno se podařilo prolomit ochrany herní konzole PlayStation 3, což mimo jiné umožňuje kopírování originálních a spouštění těchto kopií. Firma Sony již získala předběžné opatření, které zakazuje prodej USB donglu, který prolomení zařídí. Tvůrci kódu jej však vzápětí uvolnili jako open source je hostován v repozitáři GitHub pod názvem PSGroove. PSGroove používá pro spuštění cizího kódu na konzoli přetečení bufferu, které nastane, když si konzole neporadí se speciálně upravenými informace, které PSGroove posílá. Více na The H.
Robert Krátký | Komentářů: 18
včera 15:13 | Zajímavý článek
Jeden z oblíbených evergreenů při kritice linuxových systémů je tvrzení, že je Linux nepřehledný a škodí mu velký výběr různých programů, které dokáží zastat stejnou funkci. Caitlyn Martin této argumentaci kontruje otázkou (mířenou na autora nedávného článku, ve kterém se tvrdilo, že hlavní potíž Linuxu spočívá v přílišných možnostech výběru): Děsí vás obilné vločky? Vždyť v každém větším supermarketu je jich celý regál! Tak velký výběr. Nebyl by život snazší, kdybychom všichni jedli jen kukuřičné lupínky a chodili oblečení ve stejné uniformě?
Robert Krátký | Komentářů: 59
včera 15:05 | Zajímavý článek
Jak se pozná vyzrálý systémový administrátor Linuxu? Pro některé lidi je Linux stále méněcenný systém v porovnání s proprietárními unixy, a proto považují i linuxové správce za méně zkušené. Jon Buys popisuje, co pomohlo jemu "dospět" coby administrátorovi Linuxu, v článku Maturing as a Linux Systems Administrator.
Robert Krátký | Komentářů: 2
včera 11:14 | Nová verze
Byla vydána šestá údržbová verze Debianu 5. Přináší opravy chyb (včetně bezpečnostních), aktualizované obrazy jádra, balíčky sun-java5 a sun-java6 pro architekturu ia64 a odstraňuje balíček libconfig-inetd-perl. Podrobnosti naleznete v changelogu.
Tomáš Heger (geckon) | Komentářů: 0
včera 10:58 | Nová verze
Vyšla nová verze debuggeru GDB označená 7.2. Přináší podporu jazyka D, vylepšuje práci s C++ a Pythonem, nově podporuje ARM Symbian a obsahuje také další novinky.
Tomáš Heger (geckon) | Komentářů: 1
včera 10:03 | Zajímavý článek
Nedávno potvrzená strategická hra OilRush nebude mít přehnaně velké hardwarové nároky, tvůrci uvádějí jako dostačující grafické karty NVIDIA GeForce 8600 nebo ATI Radeon HD 2600 - i když se nepočítá s podporou open source ovladačů, které nedosahují tak dobré podpory OpenGL 3.x/4.0. Podívejte se na trailer ke hře.
Robert Krátký | Komentářů: 11
5.9. 16:34 | Zajímavý článek
Vývojář KWinu Martin Gräßlin píše na svém blogu o současných problémech KWinu především s ovladači grafických karet Intel. Zdá se, že hlavní příčinou problémů jsou grafické ovladače. Ovladače tvrdí, že některé funkce podporují, a proto KWin povolí efekty, které tyto funkce vyžadují, ale ve skutečnosti ovladače tyto funkce vůbec neumí, nebo pro ně použijí pomalou softwarovou emulaci, což pak vede ke spoustě ošklivých problémů, … více »
Nicky726 | Komentářů: 35
5.9. 10:24 | Nová verze
Oficiální sestavení prohlížeče Mozilla Firefox 4.0 budou jen 32bitová. Mike Beltzner (Director of Firefox) potvrdil, že bude omezen počet oficiálně podporovaných platforem. Uvažuje se také o tom, že by se v případě i386 přestalo s podporou architektur bez SSE2. Seznam architektur, pro které budou oficiální buildy, je na wiki.mozilla.org/Firefox/4/Platforms. Podle této stránky se zvažuje poskytování 64bitových linuxových buildů, ale zatím na seznamu nejsou.
Robert Krátký | Komentářů: 65
4.9. 08:19 | Nová verze
4. 9. 2010 bylo rozhodnuto, že se příští vydání Debianu bude jmenovat Wheezy, a to podle gumového tučňáka z animovaného filmu Toy Story.
Roman Horník | Komentářů: 10
Používáte domácí účetnictví?
 (5%)
 (6%)
 (9%)
 (80%)
Celkem 651 hlasů
 Komentářů: 29, poslední dnes 02:16
IBM Smartplanet logo Pojďte s námi budovat chytřejší planetu
    Rozcestník
    Doporučujeme

    Dva autentikátory pro BincIMap a QMail

    14.2. 15:22 | Přečteno: 334× | Programování | Výběrový blog | poslední úprava: 14.2. 15:23

    Jelikož jsem v domácí síti přešel na ldap+kerberos autentifikaci, tak jsem potřeboval změnit autentifikátor pro IMAP server, který používám. Výsledkem jsou dva checkpassword kompatibilní autentifikátory. První je pro LDAP autentifikaci - potřebuje balíček python-ldap.
     cat binc_ldapauth/src/binc_ldapauth.py 
    #!/usr/bin/python
    '''
    Created on Feb 12, 2010
    
    @author: bartmann
    '''
    import os;
    import string;
    import sys;
    import ldap;
    import ldap.sasl;
    
    
    
    class binc_ldapauth:
            def __init__(self):
                    self.gssapi_auth=True;
    
            def get_creds(self):
                    fd=os.fdopen(3,"r");
    
                    ncreds=os.read(3, 128);
                    creds=ncreds;
                    while(ncreds!=""):
                            ncreds=os.read(3, 128);
                            creds+=ncreds;
    
                    creds=creds.split("\0");
                    self.username=creds[0];
                    self.password=creds[1];
    
            def auth(self):
                    ds = ldap.initialize("ldap://joomladev.dyndns.org");
                    ds.protocol_version=3;
    
                    if self.gssapi_auth==False:
                            try:
                                    ds.simple_bind_s("uid="+self.username+",ou=people,dc=joomladev.dyndns,dc=org",self.password);
                                    dn=string.replace(ds.whoami_s(),"dn:","");
                            except ldap.INVALID_CREDENTIALS:
                                    return 1;
                    else:
                            try:
                                    auth=ldap.sasl.gssapi();
                                    ds.sasl_interactive_bind_s("",auth);
                                    dn=string.replace(ds.whoami_s(),"dn:","");
                                    if(ds.compare_s(dn,'uid',self.username)):
                                            pass;
                                    else:
                                            return 1;
                            except ldap.INVALID_CREDENTIALS:
                                    return 1;
    
                    os.environ["USER"]=self.username;
    
                    home=ds.search_s(dn,ldap.SCOPE_BASE,'(objectclass=person)',['homeDirectory']);
                    os.environ["HOME"]=home[0][1]["homeDirectory"][0];
    
                    shell=home=ds.search_s(dn,ldap.SCOPE_BASE,'(objectclass=person)',['loginShell']);
                    os.environ["SHELL"]=shell[0][1]["loginShell"][0];
    
                    gid=home=ds.search_s(dn,ldap.SCOPE_BASE,'(objectclass=person)',['gidNumber']);
                    os.setgid(int(gid[0][1]["gidNumber"][0]));
    
                    uid=home=ds.search_s(dn,ldap.SCOPE_BASE,'(objectclass=person)',['uidNumber']);
                    os.setuid(int(uid[0][1]["uidNumber"][0]));
    
                    os.chdir(os.environ["HOME"]);
    
                    os.execlp(sys.argv[1],sys.argv[1]);
    
    if __name__ == '__main__':
            lauth=binc_ldapauth();
            lauth.get_creds();
            lauth.auth();
    
    
    a ten druhý autentifikuje přes PAM - k jeho funkci je nutné mít nainstalovaný PyPAM:
    cat binc_pamauth/src/binc_pamauth.py
    #!/usr/bin/python
    '''
    Created on Feb 12, 2010
    
    @author: bartmann
    '''
    import os;
    import sys;
    import PAM;
    import pwd;
    
    
    class binc_pamauth:
            def __init__(self):
                    self.gssapi_auth=True;
    
            def get_creds(self):
                    fd=os.fdopen(3,"r");
    
                    ncreds=os.read(3, 128);
                    creds=ncreds;
                    while(ncreds!=""):
                            ncreds=os.read(3, 128);
                            creds+=ncreds;
    
                    creds=creds.split("\0");
                    self.username=creds[0];
                    self.password=creds[1];
    
            def pam_conv(self,auth, query_list):
                    resp=[];
                    for (q, qtype) in query_list:
                            if qtype==PAM.PAM_PROMPT_ECHO_OFF :
                                    resp.append((self.password,0));
                            else:
                                    resp.append(('',0));
                    return resp;
    
            def auth(self):
                    pam_auth = PAM.pam();
                    pam_auth.start("imap");
                    pam_auth.set_item(PAM.PAM_USER,self.username);
                    pam_auth.set_item(PAM.PAM_CONV,self.pam_conv);
                    try:
                            pam_auth.authenticate();
                            pam_auth.acct_mgmt();
                    except PAM.error:
                            return 1;
    
                    pw=pwd.getpwnam(self.username);
    
                    os.environ["USER"]=self.username;
                    os.environ["HOME"]=pw[5];
                    os.environ["SHELL"]=pw[6];
                    os.setgid(int(pw[3]));
                    os.setuid(int(pw[2]));
                    os.chdir(os.environ["HOME"]);
    
                    os.execlp(sys.argv[1],sys.argv[1]);
    
    
    if __name__ == '__main__':
            pauth=binc_pamauth();
            pauth.get_creds();
            pauth.auth();
    
           

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    ISSN 1214-1267   Powered by 64bit.eu   64bit.eu logo
    © 1999-2010 Stickfish, s. r. o. Všechna práva vyhrazena.