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í
×
    včera 16:22 | Nová verze

    Open source softwarový stack ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán ve verzi 7.0.0. Přidána byla podpora AMD Instinct MI355X a MI350X.

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

    Byla vydána nová verze 258 správce systému a služeb systemd (GitHub).

    Ladislav Hagara | Komentářů: 5
    včera 15:11 | Nová verze

    Byla vydána Java 25 / JDK 25. Nových vlastností (JEP - JDK Enhancement Proposal) je 18. Jedná se o LTS verzi.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | Humor

    Věra Pohlová před 26 lety: „Tyhle aféry každého jenom otravují. Já bych všechny ty internety a počítače zakázala“. Jde o odpověď na anketní otázku deníku Metro vydaného 17. září 1999 na téma zneužití údajů o sporožirových účtech klientů České spořitelny.

    Ladislav Hagara | Komentářů: 4
    včera 11:33 | Zajímavý článek Ladislav Hagara | Komentářů: 0
    16.9. 21:44 | Nová verze

    Byl vydán Mozilla Firefox 143.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Nově se Firefox při ukončování anonymního režimu zeptá, zda chcete smazat stažené soubory. Dialog pro povolení přístupu ke kameře zobrazuje náhled. Obzvláště užitečné při přepínání mezi více kamerami. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 143 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    16.9. 17:22 | Nová verze

    Byla vydána betaverze Fedora Linuxu 43 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 21. října.

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

    Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.2 (𝕏, Mastodon). Přehled novinek, vylepšení a nových efektů v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    16.9. 00:11 | Nová verze

    Byla vydána nová verze 4.5 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    15.9. 21:33 | Nová verze

    Byla vydána verze 3.0 (Mastodon) nástroje pro záznam a sdílení terminálových sezení asciinema (GitHub). S novou verzí formátu záznamu asciicast v3, podporou live streamingu a především kompletním přepisem z Pythonu do Rustu.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (43%)
     (57%)
     (0%)
     (7%)
     (14%)
     (7%)
     (21%)
     (7%)
     (14%)
    Celkem 14 hlasů
     Komentářů: 1, poslední včera 13:49
    Rozcestník

    Dotaz: Hromadna zmena hesel

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