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

    Kevin Bentley zveřejnil na GitHubu zdrojové kódy počítačové hry Descent 3 z roku 1999: "Někdo se nedávno zeptal, zda budou zveřejněny zdrojové kódy Descent 3. Oslovil jsem svého bývalého šéfa (Matt Toschlog) z Outrage Entertainment a ten mi to povolil. Budu pracovat na tom, aby se to znovu rozběhlo a hledám spolusprávce." [Hacker News]

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | Bezpečnostní upozornění

    Byla vydána verze 0.81 telnet a ssh klienta PuTTY. Opravena je kritická bezpečnostní chyba CVE-2024-31497 obsažena ve verzích 0.68 až 0.80. Používáte-li klíč ECDSA NIST P521 a použili jste jej v PuTTY nebo Pageantu, považujte jej za kompromitovaný.

    Ladislav Hagara | Komentářů: 0
    včera 21:44 | Komunita

    Hra MineClone2 postavena nad voxelovým herním enginem Minetest byla přejmenována na VoxeLibre.

    Ladislav Hagara | Komentářů: 0
    včera 19:11 | IT novinky

    Společnosti Avast Software s.r.o. byla pravomocně uložena pokuta ve výši 351 milionů Kč. Tu uložil Úřad pro ochranu osobních údajů za neoprávněné zpracování osobních údajů uživatelů jejího antivirového programu Avast a jeho rozšíření internetových prohlížečů (Browser Extensions), k čemuž docházelo prokazatelně po část roku 2019.

    … více »
    Ladislav Hagara | Komentářů: 4
    včera 15:55 | Zajímavý článek

    Bylo vydáno do češtiny přeložené číslo 714 týdeníku WeeklyOSM přinášející zprávy ze světa OpenStreetMap.

    Ladislav Hagara | Komentářů: 0
    včera 15:44 | Pozvánky

    V sobotu 20. dubna lze navštívit Maker Faire Jihlava, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

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

    Knihovna pro potlačení šumu RNNoise byla vydána ve verzi 0.2. Kvalitu potlačení lze vyzkoušet na webovém demu.

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | Nová verze

    FRRouting (FRR) (Wikipedie), tj. softwarová sada pro směrování síťové komunikace, fork Quagga, byl vydán ve verzi 10.0.

    Ladislav Hagara | Komentářů: 0
    včera 03:22 | Nová verze

    Julian Andres Klode vydal APT (Advanced Packaging Tool) ve verzích 2.9.0 a 2.9.1. Jedná se o vývojové verze nové větve APT 3.0. Vylepšuje se uživatelské rozhraní. Přidány byly barvičky. Aktuální náhledy a vývoj lze sledovat na Mastodonu.

    Ladislav Hagara | Komentářů: 3
    14.4. 17:00 | Komunita

    Miguel de Icaza se na svém blogu rozepsal o vložitelných herních enginech. Kdysi slibné projekty UrhoSharp a Urho3D jsou již mrtvé. Zůstává Godot. Aktuálně vývojáři řeší Pull request #90510 s návrhem knihovny LibGodot.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (61%)
     (13%)
     (2%)
     (24%)
    Celkem 413 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: Hromadna zmena hesel

    13.8.2008 18:58 ahlstrom | skóre: 2
    Hromadna zmena hesel
    Přečteno: 771×
    Ahoj, potreboval bych v C vytvorit program, ktery vytvori hromadne nove uzivatele a nastavi jim defaultni heslo. Vytvoreni uzivatele probiha pomoci prikazu system() a predani argumentu (prikazu) ktery se ma spustit. U vytvoreni uzivatele spoustim externi prikaz useradd. Nasledne mu chci zmenit heslo pomoci prikazu passwd, jenze on ceka na vstup z prikazove radky.
    snprintf( change_passwd, sizeof( change_passwd ), "passwd %s", login );
    system( change_passwd ); // zde ceka

    Nevite jak mu mam to heslo predat? Tento program pobezi na solarisu ne na linuxu, tudiz prikaz useradd v solarisu neumoznuje pri vytvoreni uzivatele pridat jako parametr heslo. Prilozeny program (viz nize) neni kompletni, protoze jednotlivi uzivatele pro vytvoreni a jejich parametry se budou nacitat z externiho souboru. Tohle je demonstracni priklad. O radu abych si vytvoril skript v perlu nebo bashi nestojim.
    #include < stdio.h>
    
    #define USERADD "/usr/sbin/useradd"
    #define BASH    "/bin/bash"
    
    int main( void )
    {
            char create_user[ 200 ];
            char change_passwd[ 200 ];
    
            const char *uid = "691";
            const char *gid = "100";
            const char *home_dir = "/home/jenik";
            const char *first_name = "Adam";
            const char *last_name = "Jenik";
            const char *login = "jenik";
            const char *password = "heslo";
    
            snprintf( create_user, sizeof( create_user ), "%s -u %s -g %s -d %s -m -s %s -c \"PRAHA / %s %s\" %s", USERADD, uid, gid, home_dir, BASH, first_name, last_name, login );
            snprintf( change_passwd, sizeof( change_passwd ), "passwd %s", login );
    
            printf( "%s\n%s\n", create_user, change_passwd );
    
            system( create_user );
            system( change_passwd );
            return 0;
    }
    
    
    

    Odpovědi

    14.8.2008 09:48 melkors | skóre: 13 | blog: kdo_chce_kam
    Rozbalit Rozbalit vše Re: Hromadna zmena hesel
    Jen idea: Na Solarisu funguje|fungovala utilitka vipw.
    14.8.2008 09:56 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: Hromadna zmena hesel
    Iba myslienka: ked to uz robit z C kodu, preco pouzivat CLI utility? Neslo by to nakodovat "priamo", t.j. v najhorsom moznom pripade prepocitat heslo na prislusny hash a vlastne vygenerovat cely riadok pre passwd, master.passwd ci master.shadow? Patrne na to budu rovno kniznicne funkcie; treba sa pozriet do zrojakov programu, ktory to realne robi a urobit to iste. (Alebo vlastne prave na to sa pytas, ako to urobit?)
    14.8.2008 14:29 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Hromadna zmena hesel
    crypt(), getspent(), putspent()
    15.8.2008 10:16 ahlstrom | skóre: 2
    Rozbalit Rozbalit vše Re: Hromadna zmena hesel
    Uvazoval jsem nad tim take, ale jednodussi bude pouzit prikazy z CLI. Duvodem proc to nechci mit naprogramovane pomoci skriptu v bashi, je ten, ze bash na tom solarisu nainstalovany neni. Jedine obycejny shell /bin/sh.
    15.8.2008 10:26 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Hromadna zmena hesel
    sh = Bourne shell
    bash = Bourne Again shell

    t.j. ak použijete len základné veci, skript pobeží aj pod vašim sh, aj pod bash

    15.8.2008 11:14 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Hromadna zmena hesel
    Nenapadá mne žádný důvod, proč by vám na tohle sh neměl stačit.
    25.8.2008 14:20 ahlstrom | skóre: 2
    Rozbalit Rozbalit vše Re: Hromadna zmena hesel
    Dobre, asi mas pravdu, ze by to bylo lepsi napsat v shellu. Problem je v tom, ze v shellu neumim, proto chci vyuzit jazyka C.
    14.8.2008 10:52 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Hromadna zmena hesel
    o radu "bash" nestojíš? to si radšej ten trojriadkový skript v bash-i chybovo naprogramuješ v C? Keď už používaš system, kde máš vo výslednom reťazci uvodzovky?

    skús niečo na tento spôsob ...

    if (! fork ()) {
      execlp ("adduser", "-u", username, "-p", password, "-u", uid, NULL);
    }
    
    14.8.2008 13:03 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: Hromadna zmena hesel
    o radu "bash" nestojíš? to si radšej ten trojriadkový skript v bash-i chybovo naprogramuješ v C?
    Ono asi ten "trojriadkovy skript" ma byt sucastou niecoho ovela vacsieho, co bude napisane v C.
    Tento program pobezi na solarisu ne na linuxu, tudiz prikaz useradd v solarisu neumoznuje pri vytvoreni uzivatele pridat jako parametr heslo.
    15.8.2008 10:09 ahlstrom | skóre: 2
    Rozbalit Rozbalit vše Re: Hromadna zmena hesel
    retezec se naparsuje pomoci snprintf
    #define USERADD "/usr/sbin/useradd"
    #define BASH    "/bin/bash"
    snprintf( create_user, sizeof( create_user ), "%s -u %s -g %s -d %s -m -s %s -c \"PRAHA / %s %s\" %s", USERADD, uid, gid, home_dir, BASH, first_name, last_name, login );
    system( create_user );
    15.8.2008 10:13 ahlstrom | skóre: 2
    Rozbalit Rozbalit vše Re: Hromadna zmena hesel
    problem je v tom ze na solarisu nemuzes v prikazu "adduser" zadat jako paramatr heslo ( -p pass )
    14.8.2008 14:31 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Hromadna zmena hesel
    Není na tom Solarisu příkaz chpasswd?
    15.8.2008 09:49 ahlstrom | skóre: 2
    Rozbalit Rozbalit vše Re: Hromadna zmena hesel
    na tom solarisu je prikaz passwd, ale kdyz se tento prikaz provede tak ceka na na uzivatele az zada heslo z klavesnice a ja potrebuji aby se to heslo nacetlo ze souboru
    15.8.2008 10:00 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Hromadna zmena hesel
    Ptal jsem se na chpasswd, ne passwd.
    15.8.2008 10:06 ahlstrom | skóre: 2
    Rozbalit Rozbalit vše Re: Hromadna zmena hesel
    neni
    15.8.2008 11:16 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Hromadna zmena hesel
    Tak bych si zkusil stáhnout zdrojáky toho linuxového a přeložit na Solarisu. Nebo spíš použít výše uvedené funkce.
    AraxoN avatar 16.8.2008 22:19 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: Hromadna zmena hesel
    A čo takto heslo dvakrát zapísať niekam do súboru a v passwd presmerovať vstup?
    passwd user </subor/s/heslom.txt
    16.8.2008 22:33 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Hromadna zmena hesel

    Zhlediska programu pgmje jedno, jestli napíšete

      pgm < file
    

    nebo

      cat file | pgm
    

    Program v tom neuvidí žádný rozdíl. Zaznamenáte ho jen vy, protože ve druhém případě se vyrojí zástup lidí s rádoby vtipnými poznámkymi o soutěži ve zbytečném používání příkazu cat.

    AraxoN avatar 16.8.2008 22:39 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: Hromadna zmena hesel
    A? Nejak mi nedochádza, prečo reaguješ práve na mňa... Jediný kto tu cat spomína, si ty. ;-)
    16.8.2008 23:09 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Hromadna zmena hesel
    Protože nefunguje-li poslání hesla přes rouru, nebude fungovat ani přesměrování vstupu.
    13.9.2008 23:49 luky
    Rozbalit Rozbalit vše Re: Hromadna zmena hesel
    Kdyz to napisete jen tak, tak se ten zastup nevyroji. Kdyz napisete, ze pro dane ucely to staci, tak zmlknou. Kdyz budete popichovat s tim, ze je to absolutni blbost, tak je jasne, ze se nekdo ozve. Vime? ;-)
    13.9.2008 23:59 luky
    Rozbalit Rozbalit vše Re: Hromadna zmena hesel

    Kdyz uz to pisete takhle blbe, tak opravdu neni duvod nepouzit shell skript. Na editaci zaznamu o uzivatelich funkcemi k tomu urcenymi, jak vas nasmeroval "14.8. 14:29 Michal Kubeček", taky neni nic tezkeho.

    Ale pokud tedy trvate na spousteni prikazu s presmerovanym I/O, tak si probehnete man pro fork/wait/exec, dup/pipe/select. A myslim, ze passwd vyzaduje, aby byl vstup z tty (pty), takze jeste man pts.

    14.9.2008 00:00 luky
    Rozbalit Rozbalit vše Re: Hromadna zmena hesel
    Hm, a ja pisu k mesic stare diskuzi, takze nic :-)

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.