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 12:44 | Pozvánky

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

    Ladislav Hagara | Komentářů: 0
    dnes 12:22 | Nová verze

    Webový server Caddy (Wikipedie) s celou řadou zajímavých vlastností byl vydán ve verzi 2.8 (𝕏). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 1
    včera 22:11 | Nová verze

    Byla vydána verze 3.0 (@, 𝕏) svobodného softwaru HAProxy (The Reliable, High Performance TCP/HTTP Load Balancer; Wikipedie) řešícího vysokou dostupnost, vyvažování zátěže a reverzní proxy. Detailní přehled novinek v příspěvku na blogu společnosti HAProxy Technologies.

    Ladislav Hagara | Komentářů: 3
    včera 21:11 | IT novinky

    Společnost Framework Computer představila novou vylepšenou verzi svého modulárního notebooku Framework Laptop 13 s Intel Core Ultra Series 1, displej s lepším rozlišením a novou webovou kameru. Přímo do Česka jej zatím koupit nelze.

    Ladislav Hagara | Komentářů: 0
    včera 15:44 | Nová verze

    Byla vydána nová verze 2.16 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 2
    28.5. 21:22 | Zajímavý software

    TerminalTextEffects (TTE) je engine pro vizuální efekty v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 40
    28.5. 17:11 | Pozvánky

    Od čtvrtka 30. 5. do soboty 1. 6. lze v Praze navštívit Veletrh vědy, tj. největší populárně naučnou akci v České republice, kterou každoročně od roku 2015 pořádá Akademie věd ČR. Vstup zdarma.

    Ladislav Hagara | Komentářů: 13
    28.5. 14:11 | Komunita

    Canonical představil Ubuntu optimalizované pro jednodeskový počítač s RISC-V procesorem Milk-V Mars.

    Ladislav Hagara | Komentářů: 0
    27.5. 21:22 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 24.5.1 Havier. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    27.5. 19:44 | IT novinky

    Společnost xAI založena Elonem Muskem a stojící za AI LLM modelem Grok získala investici 6 miliard dolarů.

    Ladislav Hagara | Komentářů: 1
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (89%)
     (3%)
     (4%)
     (4%)
    Celkem 999 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník

    Dotaz: Hromadna zmena hesel

    13.8.2008 18:58 ahlstrom | skóre: 2
    Hromadna zmena hesel
    Přečteno: 776×
    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.