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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 11:44 | Zajímavý projekt

Na Indiegogo byla spuštěna kampaň na podporu herní mini konzole a multimediálního centra RetroEngine Sigma od Doyodo. Předobjednat ji lze již od 49 dolarů. Požadovaná částka 20 000 dolarů byla překonána již 6 krát. Majitelé mini konzole si budou moci zahrát hry pro Atari VCS 2600, Sega Genesis nebo NES. Předinstalováno bude multimediální centrum Kodi.

Ladislav Hagara | Komentářů: 0
dnes 00:10 | Nová verze

Byla vydána verze 4.7 redakčního systému WordPress. Kódové označením Vaughan bylo vybráno na počest americké jazzové zpěvačky Sarah "Sassy" Vaughan. Z novinek lze zmínit například novou výchozí šablonu Twenty Seventeen, náhledy pdf souborů nebo WordPress REST API.

Ladislav Hagara | Komentářů: 0
včera 12:00 | Zajímavý projekt

Projekt Termbox umožňuje vyzkoušet si linuxové distribuce Ubuntu, Debian, Fedora, CentOS a Arch Linux ve webovém prohlížeči. Řešení je postaveno na projektu HyperContainer. Podrobnosti v často kladených dotazech (FAQ). Zdrojové kódy jsou k dispozici na GitHubu [reddit].

Ladislav Hagara | Komentářů: 20
včera 11:00 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2016-8655 v Linuxu zneužitelné k lokální eskalaci práv. Chyba se dostala do linuxového jádra v srpnu 2011. V upstreamu byla opravena minulý týden [Hacker News].

Ladislav Hagara | Komentářů: 2
5.12. 22:00 | Komunita

Přibližně před měsícem bylo oznámeno, že linuxová distribuce SUSE Linux Enterprise Server (SLES) běží nově také Raspberry Pi 3 (dokumentace). Obraz verze 12 SP2 pro Raspberry Pi 3 je ke stažení zdarma. Pro registrované jsou po dobu jednoho roku zdarma také aktualizace. Dnes bylo oznámeno, že pro Raspberry Pi 3 je k dispozici také nové openSUSE Leap 42.2 (zprávička). K dispozici je hned několik obrazů.

Ladislav Hagara | Komentářů: 6
5.12. 06:00 | Zajímavý software

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

Ladislav Hagara | Komentářů: 50
5.12. 06:00 | Zajímavý článek

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 10
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 17
3.12. 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 26
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (8%)
 (5%)
 (3%)
Celkem 781 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: Hromadna zmena hesel

13.8.2008 18:58 ahlstrom | skóre: 2
Hromadna zmena hesel
Přečteno: 708×
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: 48
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: 48
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: 45 | 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
A fine is a tax for doing wrong. A tax is a fine for doing well.
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: 45 | 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. ;-)
A fine is a tax for doing wrong. A tax is a fine for doing well.
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.