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:33 | Nová verze

    Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.

    Pavel Křivánek | Komentářů: 2
    dnes 04:55 | Zajímavý software

    Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.

    Ladislav Hagara | Komentářů: 22
    včera 17:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

    Ladislav Hagara | Komentářů: 13
    včera 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 2
    včera 13:22 | Nová verze

    Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

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

    Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).

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

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

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

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

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

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

    Ladislav Hagara | Komentářů: 0
    24.4. 22:44 | IT novinky

    IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.

    Ladislav Hagara | Komentářů: 16
    KDE Plasma 6
     (73%)
     (9%)
     (2%)
     (16%)
    Celkem 791 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: formát hesel v /etc/shadow

    28.12.2007 22:50 Tomáš Skočdopole | skóre: 13
    formát hesel v /etc/shadow
    Přečteno: 4018×
    Zdravim

    chtel bych se zeptat jakym zpusobem jsou generovana hesla v
    /etc/shadow
    zkousel jsem
    echo "mojeheslo" | md5sum
    ale vysledek se neshodoval se zaznamem v souboru shadow.

    Zajimalo by me jakym zpusobem se vytvareji zasifrovana hesla. Mam distribuci Ubuntu 7.10
    $ cat /etc/pam.d/common-password 
    #
    # /etc/pam.d/common-password - password-related modules common to all services
    #
    # This file is included from other service-specific PAM config files,
    # and should contain a list of modules that define the services to be
    # used to change user passwords.  The default is pam_unix.
    
    # Explanation of pam_unix options:
    #
    # The "nullok" option allows users to change an empty password, else
    # empty passwords are treated as locked accounts.
    #
    # The "md5" option enables MD5 passwords.  Without this option, the
    # default is Unix crypt.
    #
    # The "obscure" option replaces the old `OBSCURE_CHECKS_ENAB' option in
    # login.defs.
    #
    # You can also use the "min" option to enforce the length of the new
    # password.
    #
    # See the pam_unix manpage for other options.
    
    password   required   pam_unix.so nullok obscure md5
    
    # Alternate strength checking for password. Note that this
    # requires the libpam-cracklib package to be installed.
    # You will need to comment out the password line above and
    # uncomment the next two in order to use this.
    # (Replaces the `OBSCURE_CHECKS_ENAB', `CRACKLIB_DICTPATH')
    #
    # password required       pam_cracklib.so retry=3 minlen=6 difok=3
    # password required       pam_unix.so use_authtok nullok md5
    
    Diky za vysvetleni!

    Odpovědi

    kozzi avatar 28.12.2007 23:01 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    no pokud to heslo v /etc/shadow zacina $1$ tak je to md5 heslo jiank to muze byt DES
    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    28.12.2007 23:59 Tomáš Skočdopole | skóre: 13
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    ano zacina to prefixem $1$
    28.12.2007 23:17 depka
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    echo -n "mojeheslo" | md5sum

    -n .... man echo
    28.12.2007 23:56 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    A zkoušel jste to? Tohle totiž nemá šanci fungovat hned z několika důvodů.
    29.12.2007 00:00 Tomáš Skočdopole | skóre: 13
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    ano mate pravdu :)

    ale i pres to to nejde...
    30.12.2007 15:32 depka
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    mate pravdu, neskousel, myslel jsem ze bude problem v \n
    28.12.2007 23:58 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Pokud vám jde jen o vygenerování hashe k heslu, použijte např. chpasswd nebo si můžete napsat vlastní nadstavbu nad knihovní funkci crypt(). Pokud vám jde o pochopení používaných algoritmů, tak to není na odpověď do poradny, spíš na článek.
    29.12.2007 00:04 Tomáš Skočdopole | skóre: 13
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    no ja bych rad spis vedel jakym zpusobem jsou ty hesla generovana a tak...

    Kdesi jsem cetl, ze je pridavana k heslu jeste tzv.: "sul", nebo ze se pro roota generuje heslo jinym zpusobem nez pro normalniho usera, nebo ze se pouziva md5(md5(heslo).

    Tak by me to praveze zajimalo...
    29.12.2007 15:57 diverman | skóre: 32 | blog: život s tučňáčkem
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    $ chpasswd
    bash: chpasswd: command not found
    $ apt-cache search chpasswd
    $
    
    :-D
    deb http://ftp.cz.debian.org/debian jessie main contrib non-free
    29.12.2007 16:13 Martin | skóre: 10 | blog: Nádraží Perdido
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Proč asi.
    $ chpasswd
    bash: chpasswd: command not found
    $ whereis chpasswd
    chpasswd: /usr/sbin/chpasswd /usr/share/man/man8/chpasswd.8.gz
    $ 
    29.12.2007 16:23 diverman | skóre: 32 | blog: život s tučňáčkem
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    heh, chybicka se vloudila :-D
    deb http://ftp.cz.debian.org/debian jessie main contrib non-free
    29.12.2007 16:34 Martin | skóre: 10 | blog: Nádraží Perdido
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Taky bych řekl. :-)
    29.12.2007 00:10 fakenickname | skóre: 42 | blog: fakeblog
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Kdyz si stahnes zdrojove kody balicku shadow a podivas se na zdrojovy kod programu src/passwd.c tak uvidis ze na radku (cca) 290 je kod:
    /*
     * Encrypt the password, then wipe the cleartext password.
     */
    cp = pw_encrypt (pass, crypt_make_salt ());
    memzero (pass, sizeof pass);
    
    A když se podívaš jak je definovaná funkce pw_encrypt v souboru contrib/pwdauth.c tak zjištíš zaprvé
    /*
     * Define HAVE_PW_ENCRYPT to use pw_encrypt() instead of crypt().
     * pw_encrypt() is like the standard crypt(), except that it may
     * support better password hashing algorithms.
    ...
    
    Takže jde vlastne o standartni fci z glibc, o ktere si muzeme precist nasledujici text z glibc manualu..
    32.3 Encrypting Passwords
    =========================
    
     -- Function: char * crypt (const char *KEY, const char *SALT)
         The `crypt' function takes a password, KEY, as a string, and a
         SALT character array which is described below, and returns a
         printable ASCII string which starts with another salt.  It is
         believed that, given the output of the function, the best way to
         find a KEY that will produce that output is to guess values of KEY
         until the original value of KEY is found.
    
         The SALT parameter does two things.  Firstly, it selects which
         algorithm is used, the MD5-based one or the DES-based one.
         Secondly, it makes life harder for someone trying to guess
         passwords against a file containing many passwords; without a
         SALT, an intruder can make a guess, run `crypt' on it once, and
         compare the result with all the passwords.  With a SALT, the
         intruder must run `crypt' once for each different salt.
    
         For the MD5-based algorithm, the SALT should consist of the string
         `$1$', followed by up to 8 characters, terminated by either
         another `$' or the end of the string.  The result of `crypt' will
         be the SALT, followed by a `$' if the salt didn't end with one,
         followed by 22 characters from the alphabet `./0-9A-Za-z', up to
         34 characters total.  Every character in the KEY is significant.
    
         For the DES-based algorithm, the SALT should consist of two
         characters from the alphabet `./0-9A-Za-z', and the result of
         `crypt' will be those two characters followed by 11 more from the
         same alphabet, 13 in total.  Only the first 8 characters in the
         KEY are significant.
    
         The MD5-based algorithm has no limit on the useful length of the
         password used, and is slightly more secure.  It is therefore
         preferred over the DES-based algorithm.
    
         When the user enters their password for the first time, the SALT
         should be set to a new string which is reasonably random.  To
         verify a password against the result of a previous call to
         `crypt', pass the result of the previous call as the SALT.
    
       The following short program is an example of how to use `crypt' the
    first time a password is entered.  Note that the SALT generation is
    just barely acceptable; in particular, it is not unique between
    machines, and in many applications it would not be acceptable to let an
    attacker know what time the user's password was last set.
    
         #include <stdio.h>
         #include <time.h>
         #include <unistd.h>
         #include <crypt.h>
    
         int
         main(void)
         {
           unsigned long seed[2];
           char salt[] = "$1$........";
           const char *const seedchars =
             "./0123456789ABCDEFGHIJKLMNOPQRST"
             "UVWXYZabcdefghijklmnopqrstuvwxyz";
           char *password;
           int i;
    
           /* Generate a (not very) random seed.
              You should do it better than this... */
           seed[0] = time(NULL);
           seed[1] = getpid() ^ (seed[0] >> 14 & 0x30000);
    
           /* Turn it into printable characters from `seedchars'. */
           for (i = 0; i < 8; i++)
             salt[3+i] = seedchars[(seed[i/5] >> (i%5)*6) & 0x3f];
    
           /* Read in the user's password and encrypt it. */
           password = crypt(getpass("Password:"), salt);
    
           /* Print the results. */
           puts(password);
           return 0;
         }
    
       The next program shows how to verify a password.  It prompts the user
    for a password and prints "Access granted." if the user types `GNU libc
    manual'.
    
         #include <stdio.h>
         #include <string.h>
         #include <unistd.h>
         #include <crypt.h>
    
         int
         main(void)
         {
           /* Hashed form of "GNU libc manual". */
           const char *const pass = "$1$/iSaq7rB$EoUw5jJPPvAPECNaaWzMK/";
    
           char *result;
           int ok;
    
           /* Read in the user's password and encrypt it,
              passing the expected password in as the salt. */
           result = crypt(getpass("Password:"), pass);
    
           /* Test the result. */
           ok = strcmp (result, pass) == 0;
    
           puts(ok ? "Access granted." : "Access denied.");
           return ok ? 0 : 1;
         }
    
     -- Function: char * crypt_r (const char *KEY, const char *SALT, struct
              crypt_data * DATA)
         The `crypt_r' function does the same thing as `crypt', but takes
         an extra parameter which includes space for its result (among
         other things), so it can be reentrant.  `data->initialized' must be
         cleared to zero before the first time `crypt_r' is called.
    
         The `crypt_r' function is a GNU extension.
    
       The `crypt' and `crypt_r' functions are prototyped in the header
    `crypt.h'.
    
    Z cehoz teda vyplyva ze hash jednoho retezce muze byt ruzny, protoze zalezi jeste na salt, ktery se voli pri tvorbe toho hesla.. navic muze heslo byt DES nebo MD5. Takze obycejnym hranim si s pipe a md5sum to asi nepujde.. Pro dalsi info doporucuju stahnout si manual ke gnu libc a cist..
    29.12.2007 00:24 fakenickname | skóre: 42 | blog: fakeblog
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Jeste doplnim informaci pro ty, kteri by chteli vyzkouset uvedene priklady, ze je potreba je kompilovat s prepinacem -lcrypt. Napriklad takto
    gcc -lcrypt -o checkPasswd checkPasswd.c
    
    29.12.2007 12:30 Tomáš Skočdopole | skóre: 13
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Dekuji Vam za pekne vysvetleni! Takze pokud tomu dobre rozumim:

    Dostal jsem pocitac na kterem je jakasi stara distribuce linuxu. A nemam k tomu heslo.

    Kdyz z neho vyndam HDD, pripojim si ho do sveho pocitace, a stahnu si soubor /etc/passwd a shadow. Tak bez zdrojovych kodu te stare distribuce nemam sanci zmenit rootovske heslo, nebo pridat si vlastni ucet?
    29.12.2007 12:52 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Naopak, ty algoritmy se používají všeho všudy asi tak tři, takže pokud nepoužijete blowfish, máte prakticky jistotu, že jakákoli distribuce vydaná po roce 1996 bude formátu rozumět.
    pdp7 avatar 29.12.2007 12:59 pdp7 | skóre: 33 | blog: Mravenec_v_LCD_monitoru | Zákupy u České lípy
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Tak pouzij nejaky LiveCD s rootem, a od tam to heslo muzes zmenit.
    29.12.2007 13:43 ZAH | skóre: 43 | blog: ZAH
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Nepotřebuje live cd obvykle postačí single režim.

    Viz http://www.abclinuxu.cz/forum/show/135608
    Jakub Lucký avatar 29.12.2007 14:37 Jakub Lucký | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Pokud je to stará distribuce, tak možná, ale dneska už to moc nefunguje... Zkuste to třeba v Debianu... root password (or type Ctrl-D to continue):
    If you understand, things are just as they are; if you do not understand, things are just as they are.
    Jakub Lucký avatar 29.12.2007 14:00 Jakub Lucký | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Souhlasím... Nejlepší řešení, pokud nepotřebujete heslo znát, ale potřebujete se do systému dostat, je nabootovat LiveCD, nachrootovat a pak pomocí passwd udělat vlastní heslo...
    If you understand, things are just as they are; if you do not understand, things are just as they are.
    29.12.2007 18:40 Tomáš Skočdopole | skóre: 13
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    No ona to je jakasi distribuce nahrana na FAT filesystemu - asi 20 soboru s priponou lrp, ktere jdou rozbalit TARem... Takze na to asi live CD s chrootem nepomuze.

    A co se tyce single mode, tak tam na vyber bohuzel neni... Tusim ta distribuce se jmenuje se Bering, nebo tak nejak. Zhruba rok 1998-2002.

    Co se tyce toho hesla v shadow, tak MD5tkou to asi nebude, jelikoz heslo nezacina sekvenci $1$.

    Takze pokud dle prispevku, ktery je o trochu vys, existuji celkem tri algoritmy, tak zbyvaji uz jenom dva...

    Pokud budu mit chvilu cas, tak bych mohl ten pocitac donest ze sklepa a zapojit ho...
    29.12.2007 21:20 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Začíná-li příslušná položka dvěma znaky z abecedy 'a-zA-Z0-9./', je to DES. Je-li na začátku $2a$, je to blowfish. Je-li tam něco jiného, bude to něco jiného.
    30.12.2007 01:28 Tomáš Skočdopole | skóre: 13
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    dobra, ja se podivam na jak to vypada, kdyztak ho sem klidne i poslu, vsak nejde o nic tajneho...

    Na sekvenci $1$ ani $2$ to urcite nezacinalo, mam takovy dojem, ze se v retezci vyskytovaly jenom znaky a-zA-Z0-9.
    30.12.2007 01:30 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Jsou-li tam jen znaky z abecedy 'a-zA-Z0-9/.' a je-li jich třináct, pak je to téměř jistě tradiční DES.
    30.12.2007 19:39 Tomáš Skočdopole | skóre: 13
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Ano, tomuto popisu heslo odpovida...
    stativ avatar 30.12.2007 10:44 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Tím blowfish si nejsem tam moc jistý, jelikož zrovna nedávno jsem měnil pam aby používal blowfish místo md5 a hashe začínají alfanumerickými znaky.
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    stativ avatar 30.12.2007 10:53 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Do řiti, právě mi to docvaklo! Není v chpasswd nějaký fallback na DES? Protože jestli se nepletu, jedna z děr pam_unix2 je v tom, že neošetřuje chování chpasswd. chpasswd jsem použil jenom jako obezličku okolo toho, že passwd hlásil, že authentizační token selhal.

    Já nemám blowfish v jádře a nejspíš se tedy na hesla použil DES. To bude zase srandy až se nebudu moct přihlásit po zkompilování jádra s podporou blowfish.
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    30.12.2007 11:37 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Můj chpasswd (OpenSuSE 10.3) se podle dokumentace (i podle pokusů) řídí souborem /etc/default/passwd a není-li tam algoritmus definován, použije DES. Neoznačil bych to za díru pam_unix2, ale spíš za chybu (nebo vlastnost - podle vkusu) chpasswd (že se neřídí PAM).
    stativ avatar 30.12.2007 12:14 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Je to divné, ale moje nastavení CRYPT=blowfish v /etc/default/passwd je mu evidentně zcela fuk.
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    30.12.2007 12:40 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    U mne zase naopak chpasswd nastavení CRYPT bere v úvahu i při změně hesla, přestože by ho podle dokumentace měl použít jen v případě, že v /etc/shadow zatím žádný hash není… :-)
    29.12.2007 21:22 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Dodal bych, že bez ohledu na to, jaká hesla distribuce defaultně generuje, pokud tam dáte heslo hashované DESem, obvykle mu to bude rozumět také. Když se pak přihlásíte pod rootem, změníte si ho a pak už bude použit "správný" agoritmus.
    Jakub Lucký avatar 29.12.2007 21:36 Jakub Lucký | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Kdybych věděl, že to je takový old-school, tak bych snad ani neradil... tyhle dřevní doby nějak neznám...
    If you understand, things are just as they are; if you do not understand, things are just as they are.
    30.12.2007 01:29 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Období 1998-2002 zase takový oldschool není, ale tohle (je-li to opravdu z té doby) vypadá na nějaký anachronismus nebo něco velmi speciálního.
    30.12.2007 01:41 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Je to oldschool, ovšem nikoliv z titulu doby vzniku, protože oldschool rozhodně není období :)
    Jakub Lucký avatar 30.12.2007 12:02 Jakub Lucký | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Tak pro mě, který jsem na Linux přesedlal na podzim 2006 to dost oldschool je ;) Pro mě je oldschool už jádro 2.4...
    If you understand, things are just as they are; if you do not understand, things are just as they are.
    30.12.2007 16:48 8an | skóre: 30
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Bering byla minidistribuce na routery, kdysi jsem to používal (2002-2003). Konfigurace je v etc.lrp, což je normální tar.gz, můžeš to rozbalit, změnit a zase zabalit. Jako první bych zkusil nechat prázdné heslo v /etc/passwd, a pokud to nepomůže, tak zkopírovat zahashované heslo z jiného počítače do /etc/shadow.
    If you build an operating system that even an idiot can use, only idiots will use it.
    frEon avatar 30.12.2007 13:17 frEon | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    ne, kdyz to pripojis k pocitaci tak se do toho chrootnes a heslo zmenis prikazem passwd, nebo heslo smazes a prihlasis se bez hesla. nebo taky muzes ten system nabootovat s parametrem init=/bin/bash a heslo zmenit (toto funguje pouze pokud mas bootloader nechranen heslem)
    Talking about music is like dancing to architecture.
    30.12.2007 15:05 Tomáš Skočdopole | skóre: 13
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    no ale jak uz jsem psal v predchozim prispevku: na tom souborovem systemu je akorat soubor initrd a pak jakysi konfiguracni soubor a pak soubory s priponou lrc, ktere jdou rozbalit tarem. A pri bootu toho systemu se dle toho konfiguracniho souboru rozbali balicky lrp na prislusne misto...

    Takze myslite, ze by to slo udelat tak, ze bych si rucne na svem pocitaci rozbalil ty lrp archivy a vytvoril tak adresarovou strukturu do ktere bych se pak chrootnul?
    30.12.2007 15:14 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Pravděpodobně. Pak zase zabalit a zkopírovat místo původních. Ale nejdřív bych si pro jistotu ty původní někam zkopíroval.
    30.12.2007 19:45 Tomáš Skočdopole | skóre: 13
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Zde posilam pro zajimavost strukturu toho systemu
    .
    |-- b.lrp
    |-- cur.lrp
    |-- dhcpd.lrp
    |-- etc.lrp
    |-- etherw.lrp
    |-- initrd.lrp
    |-- ipsec.lrp
    |-- iptables.lrp
    |-- ldlinux.sys
    |-- linux
    |-- local.lrp
    |-- m.lrp
    |-- mawk.lrp
    |-- mc.lrp
    |-- modules.lrp
    |-- netutils.lrp
    |-- nmap.lrp
    |-- pcmcia.lrp
    |-- qos-htb.lrp
    |-- readme
    |-- root.lrp
    |-- router.tar
    |-- ssh.lrp
    |-- sshd.lrp
    |-- sshkey.lrp
    |-- syslinux.cfg
    |-- syslinux.dpy
    |-- t.lrp
    |-- tc.lrp
    |-- tcpdump.lrp
    |-- vypis
    |-- wireless.lrp
    |-- wireutil.lrp
    `-- zebedee.lrp
    
    A zde rozbalene lrp soubory:
    
    |-- bin
    |   |-- POSIXness
    |   |-- ae
    |   |-- df
    |   |-- e3
    |   |-- e3em -> e3
    |   |-- e3ne -> e3
    |   |-- e3pi -> e3
    |   |-- e3vi -> e3
    |   |-- e3ws -> e3
    |   |-- edit
    |   |-- editor -> e3ne
    |   |-- grep
    |   |-- netstat
    |   |-- ping
    |   |-- run-parts
    |   |-- tinylogin
    |   |-- vi
    |   `-- zebedee
    |-- etc
    |   |--  
    |   |-- POSIXness.conf
    |   |-- adjtime
    |   |-- cron.d
    |   |   |-- cbq
    |   |   |-- multicron
    |   |   `-- ntpdate
    |   |-- cron.daily
    |   |   `-- multicron-d
    |   |-- cron.monthly
    |   |   `-- multicron-m -> ../cron.daily/multicron-d
    |   |-- cron.weekly
    |   |   `-- multicron-w -> ../cron.daily/multicron-d
    |   |-- crontab
    |   |-- default
    |   |   |-- ntp-servers
    |   |   |-- pcmcia
    |   |   `-- rcS
    |   |-- dhcpd.conf
    |   |-- exports
    |   |-- fstab
    |   |-- group
    |   |-- gshadow
    |   |-- host.conf
    |   |-- hostname
    |   |-- hosts
    |   |-- hosts.allow
    |   |-- hosts.deny
    |   |-- inetd.conf
    |   |-- init.d
    |   |   |-- bootmisc.sh
    |   |   |-- cbq.init
    |   |   |-- checkroot.sh
    |   |   |-- cron
    |   |   |-- dhcpd
    |   |   |-- dyna-tx
    |   |   |-- firewall
    |   |   |-- halt
    |   |   |-- hostname.sh
    |   |   |-- htb.init
    |   |   |-- hwclock
    |   |   |-- ifupdown
    |   |   |-- inetd
    |   |   |-- ipsec
    |   |   |-- modutils
    |   |   |-- mountall.sh
    |   |   |-- mountnfs.sh
    |   |   |-- networking
    |   |   |-- ntpdate
    |   |   |-- pcmcia
    |   |   |-- rc
    |   |   |-- rcS
    |   |   |-- reboot
    |   |   |-- rmnologin
    |   |   |-- sendsigs
    |   |   |-- single
    |   |   |-- sshd
    |   |   |-- sysklogd
    |   |   |-- umountfs
    |   |   |-- urandom
    |   |   `-- watchdog
    |   |-- inittab
    |   |-- ioctl.save
    |   |-- iproute2
    |   |   |-- rt_dsfield
    |   |   |-- rt_protos
    |   |   |-- rt_realms
    |   |   |-- rt_scopes
    |   |   `-- rt_tables
    |   |-- ipsec
    |   |-- ipsec.conf
    |   |-- ipsec.secrets
    |   |-- issue
    |   |-- issue.net
    |   |-- localtime
    |   |-- lrp.conf
    |   |-- modules
    |   |-- motd
    |   |-- multicron-p -> cron.daily/multicron-d
    |   |-- network
    |   |   |-- if-down.d
    |   |   |-- if-post-down.d
    |   |   |   `-- bridge
    |   |   |-- if-pre-up.d
    |   |   |   |-- bridge
    |   |   |   `-- wireless
    |   |   |-- if-up.d
    |   |   |   `-- bridge
    |   |   |-- ifstate
    |   |   |-- interfaces
    |   |   `-- options
    |   |-- networks
    |   |-- nsswitch.conf
    |   |-- passwd
    |   |-- pcmcia
    |   |   |-- cis
    |   |   |   |-- 3CCFEM556.dat
    |   |   |   |-- 3CXEM556.dat
    |   |   |   |-- COMpad2.dat
    |   |   |   |-- COMpad4.dat
    |   |   |   |-- DP83903.dat
    |   |   |   |-- E-CARD.dat
    |   |   |   |-- LA-PCM.dat
    |   |   |   |-- MT5634ZLX.dat
    |   |   |   |-- NE2K.dat
    |   |   |   |-- PCMLM28.dat
    |   |   |   |-- PE-200.dat
    |   |   |   |-- PE520.dat
    |   |   |   |-- RS-COM-2P.dat
    |   |   |   `-- tamarack.dat
    |   |   |-- config
    |   |   |-- config.opts
    |   |   |-- fw.conf
    |   |   |-- network
    |   |   |-- serial
    |   |   |-- shared
    |   |   |-- wireless
    |   |   `-- wireless.opts
    |   |-- profile
    |   |-- protocols
    |   |-- psdevtab
    |   |-- rc.boot
    |   |-- rc0.d
    |   |-- rc1.d
    |   |-- rc2.d
    |   |-- rc3.d
    |   |-- rc4.d
    |   |-- rc5.d
    |   |-- rc6.d
    |   |-- rcS.d
    |   |-- resolv.conf
    |   |-- rpc
    |   |-- securetty
    |   |-- services
    |   |-- shadow
    |   |-- shadow-
    |   |-- shells
    |   |-- shorewall
    |   |-- ssh
    |   |   |-- authorized_keys
    |   |   |-- moduli
    |   |   |-- ssh_config
    |   |   |-- ssh_host_dsa_key
    |   |   |-- ssh_host_dsa_key.pub
    |   |   |-- ssh_host_key
    |   |   |-- ssh_host_key.pub
    |   |   |-- ssh_host_rsa_key
    |   |   |-- ssh_host_rsa_key.pub
    |   |   `-- sshd_config
    |   |-- sysconfig
    |   |   |-- cbq
    |   |   `-- htb
    |   |       |-- eth0
    |   |       |-- eth0-2.root
    |   |       |-- eth0-2:10.minlatency
    |   |       |-- eth0-2:20.maxthroughput
    |   |       |-- eth0-2:30.www
    |   |       |-- eth0-2:40.default
    |   |       |-- eth1
    |   |       |-- eth1-2.root
    |   |       |-- eth1-2:10.minlatency
    |   |       |-- eth1-2:20.maxthroughput
    |   |       |-- eth1-2:30.www
    |   |       |-- eth1-2:40.default
    |   |       |-- eth2
    |   |       |-- eth2-2.root
    |   |       |-- eth2-2:10.minlatency
    |   |       |-- eth2-2:20.maxthroughput
    |   |       |-- eth2-2:30.www
    |   |       `-- eth2-2:40.default
    |   `-- syslog.conf
    |-- initrd
    |-- install
    |   `-- doinst.sh
    |-- ldlinux.sys
    |-- lib
    |   |-- POSIXness
    |   |   |-- POSIXness.linuxrouter
    |   |   |-- POSIXness.mail
    |   |   `-- POSIXness.system
    |   |-- ipsec
    |   |   |-- _confread
    |   |   |-- _copyright
    |   |   |-- _include
    |   |   |-- _keycensor
    |   |   |-- _pluto_adns
    |   |   |-- _plutoload
    |   |   |-- _plutorun
    |   |   |-- _realsetup
    |   |   |-- _secretcensor
    |   |   |-- _startklips
    |   |   |-- _updown
    |   |   |-- _updown.x509
    |   |   |-- auto
    |   |   |-- barf
    |   |   |-- eroute
    |   |   |-- ikeping
    |   |   |-- ipsec
    |   |   |-- ipsec_pr.template
    |   |   |-- klipsdebug
    |   |   |-- look
    |   |   |-- manual
    |   |   |-- newhostkey
    |   |   |-- pf_key
    |   |   |-- pluto
    |   |   |-- ranbits
    |   |   |-- rsasigkey
    |   |   |-- send-pr
    |   |   |-- setup -> /etc/init.d/ipsec
    |   |   |-- showdefaults
    |   |   |-- showhostkey
    |   |   |-- spi
    |   |   |-- spigrp
    |   |   |-- tncfg
    |   |   `-- whack
    |   |-- iptables
    |   |   |-- libipt_DNAT.so
    |   |   |-- libipt_DSCP.so
    |   |   |-- libipt_ECN.so
    |   |   |-- libipt_LOG.so
    |   |   |-- libipt_MARK.so
    |   |   |-- libipt_MASQUERADE.so
    |   |   |-- libipt_MIRROR.so
    |   |   |-- libipt_REDIRECT.so
    |   |   |-- libipt_REJECT.so
    |   |   |-- libipt_SAME.so
    |   |   |-- libipt_SNAT.so
    |   |   |-- libipt_TARPIT.so
    |   |   |-- libipt_TCPMSS.so
    |   |   |-- libipt_TOS.so
    |   |   |-- libipt_TTL.so
    |   |   |-- libipt_ULOG.so
    |   |   |-- libipt_ah.so
    |   |   |-- libipt_conntrack.so
    |   |   |-- libipt_dscp.so
    |   |   |-- libipt_ecn.so
    |   |   |-- libipt_esp.so
    |   |   |-- libipt_helper.so
    |   |   |-- libipt_icmp.so
    |   |   |-- libipt_iplimit.so
    |   |   |-- libipt_length.so
    |   |   |-- libipt_limit.so
    |   |   |-- libipt_mac.so
    |   |   |-- libipt_mark.so
    |   |   |-- libipt_multiport.so
    |   |   |-- libipt_owner.so
    |   |   |-- libipt_physdev.so
    |   |   |-- libipt_pkttype.so
    |   |   |-- libipt_quota.so
    |   |   |-- libipt_rpc.so
    |   |   |-- libipt_standard.so
    |   |   |-- libipt_state.so
    |   |   |-- libipt_stealth.so
    |   |   |-- libipt_tcp.so
    |   |   |-- libipt_tcpmss.so
    |   |   |-- libipt_tos.so
    |   |   |-- libipt_ttl.so
    |   |   |-- libipt_udp.so
    |   |   `-- libipt_unclean.so
    |   |-- libcrypt-2.0.7.so
    |   |-- libcrypt.so.1 -> libcrypt-2.0.7.so
    |   |-- libdl-2.0.7.so
    |   |-- libdl.so.2 -> libdl-2.0.7.so
    |   |-- libm-2.0.7.so
    |   |-- libm.so.6 -> libm-2.0.7.so
    |   |-- libncurses.so.3.4 -> libncurses.so.4
    |   |-- libncurses.so.4
    |   |-- libnss_dns-2.0.7.so
    |   |-- libnss_dns.so.1 -> libnss_dns-2.0.7.so
    |   |-- libnss_files-2.0.7.so
    |   |-- libnss_files.so.1 -> libnss_files-2.0.7.so
    |   |-- libproc.so.1.2.6
    |   |-- libresolv-2.0.7.so
    |   |-- libresolv.so.2 -> libresolv-2.0.7.so
    |   |-- libss.so.2 -> libss.so.2.0
    |   |-- libss.so.2.0
    |   |-- libutil-2.0.7.so
    |   |-- libutil.so.1 -> libutil-2.0.7.so
    |   |-- modules
    |   `-- zebedee
    |       `-- server.zbd
    |-- linux
    |-- null
    |-- readme
    |-- root
    |-- sbin
    |   |-- arp
    |   |-- cardmgr
    |   |-- clock -> ./hwclock
    |   |-- halt
    |   |-- htb.init
    |   |-- hwclock
    |   |-- ifconfig
    |   |-- ifdown -> ifup
    |   |-- ifup
    |   |-- init
    |   |-- ip
    |   |-- ipsec
    |   |-- iptables
    |   |-- iwconfig
    |   |-- iwevent
    |   |-- iwgetid
    |   |-- iwlist
    |   |-- iwpriv
    |   |-- iwspy
    |   |-- killall5
    |   |-- klogd
    |   |-- mkswap
    |   |-- pidof -> killall5
    |   |-- reboot
    |   |-- route
    |   |-- runlevel
    |   |-- shutdown
    |   |-- start-stop-daemon
    |   |-- swapon
    |   |-- syslogd
    |   |-- tc
    |   `-- telinit -> init
    |-- syslinux.cfg
    |-- syslinux.dpy
    |-- usr
    |   |-- adm -> ../var/log
    |   |-- bin
    |   |   |-- awk -> /usr/bin/mawk
    |   |   |-- backupdisk
    |   |   |-- column
    |   |   |-- fdformat
    |   |   |-- find
    |   |   |-- makekey
    |   |   |-- mawk
    |   |   |-- mc
    |   |   |-- mcmfmt
    |   |   |-- mcserv
    |   |   |-- nmap
    |   |   |-- savelog
    |   |   |-- scp
    |   |   |-- ssh
    |   |   |-- ssh-keygen
    |   |   |-- top
    |   |   `-- xargs
    |   |-- etc
    |   |   `-- mc.global
    |   |-- lib
    |   |   `-- mc
    |   |       |-- bin
    |   |       |   |-- cons.saver
    |   |       |   |-- mc.csh
    |   |       |   |-- mc.sh
    |   |       |   `-- mcfn_install
    |   |       |-- desktop-scripts
    |   |       |   |-- README.desktop
    |   |       |   `-- startup.links
    |   |       |-- edit.indent.rc
    |   |       |-- extfs
    |   |       |   |-- a
    |   |       |   |-- deb
    |   |       |   |-- extfs.ini
    |   |       |   |-- ftplist
    |   |       |   |-- hp48
    |   |       |   |-- lslR
    |   |       |   |-- mailfs
    |   |       |   |-- patchfs
    |   |       |   |-- readme
    |   |       |   |-- rpm
    |   |       |   |-- rpms
    |   |       |   |-- sfs.ini
    |   |       |   |-- trpm
    |   |       |   |-- uar
    |   |       |   |-- uarj
    |   |       |   |-- ucpio
    |   |       |   |-- uha
    |   |       |   |-- ulha
    |   |       |   |-- unarj.diff
    |   |       |   |-- urar
    |   |       |   |-- uzip
    |   |       |   `-- uzoo
    |   |       |-- faq
    |   |       |-- mc-gnome.ext
    |   |       |-- mc.csh
    |   |       |-- mc.ext
    |   |       |-- mc.hint
    |   |       |-- mc.hint.cs
    |   |       |-- mc.hint.es
    |   |       |-- mc.hint.ru
    |   |       |-- mc.hlp
    |   |       |-- mc.lib
    |   |       |-- mc.menu
    |   |       |-- mc.sh
    |   |       |-- syntax
    |   |       |   |-- ada95.syntax
    |   |       |   |-- c.syntax
    |   |       |   |-- changelog.syntax
    |   |       |   |-- diff.syntax
    |   |       |   |-- fortran.syntax
    |   |       |   |-- html.syntax
    |   |       |   |-- java.syntax
    |   |       |   |-- latex.syntax
    |   |       |   |-- lsm.syntax
    |   |       |   |-- mail.syntax
    |   |       |   |-- makefile.syntax
    |   |       |   |-- ml.syntax
    |   |       |   |-- nroff.syntax
    |   |       |   |-- pascal.syntax
    |   |       |   |-- perl.syntax
    |   |       |   |-- python.syntax
    |   |       |   |-- sh.syntax
    |   |       |   |-- smalltalk.syntax
    |   |       |   |-- swig.syntax
    |   |       |   |-- texinfo.syntax
    |   |       |   `-- unknown.syntax
    |   |       `-- term
    |   |           |-- README.xterm
    |   |           |-- ansi.ti
    |   |           |-- linux.ti
    |   |           |-- vt100.ti
    |   |           |-- xterm.ad
    |   |           |-- xterm.tcap
    |   |           `-- xterm.ti
    |   |-- local
    |   |   `-- bin
    |   |       |-- bmon
    |   |       |-- fw
    |   |       `-- telnet
    |   |-- sbin
    |   |   |-- brctl
    |   |   |-- cron
    |   |   |-- dhcpd
    |   |   |-- ether-wake
    |   |   |-- icmpinfo
    |   |   |-- inetd
    |   |   |-- lrcfg
    |   |   |-- lrcfg.back
    |   |   |-- lrcfg.back.initrd
    |   |   |-- lrcfg.back.script
    |   |   |-- lrcfg.conf
    |   |   |-- lrcfg.conf.packs
    |   |   |-- ntpdate
    |   |   |-- ntptimeset
    |   |   |-- sshd
    |   |   |-- tcpd
    |   |   |-- tcpdump
    |   |   |-- ticker
    |   |   |-- traceroute
    |   |   `-- watchdog
    |   `-- share
    |       |-- idl
    |       |   |-- FileManager.idl
    |       |   `-- Makefile.in
    |       |-- locale
    |       |   |-- cs
    |       |   |   `-- LC_MESSAGES
    |       |   |       `-- mc.mo
    |       |   |-- da
    |       |   |   `-- LC_MESSAGES
    |       |   |       `-- mc.mo
    |       |   |-- el
    |       |   |   `-- LC_MESSAGES
    |       |   |       `-- mc.mo
    |       |   |-- ko
    |       |   |   `-- LC_MESSAGES
    |       |   |       `-- mc.mo
    |       |   |-- no
    |       |   |   `-- LC_MESSAGES
    |       |   |       `-- mc.mo
    |       |   |-- pt_BR
    |       |   |   `-- LC_MESSAGES
    |       |   |       `-- mc.mo
    |       |   |-- sk
    |       |   |   `-- LC_MESSAGES
    |       |   |       `-- mc.mo
    |       |   |-- sv
    |       |   |   `-- LC_MESSAGES
    |       |   |       `-- mc.mo
    |       |   |-- tr
    |       |   |   `-- LC_MESSAGES
    |       |   |       `-- mc.mo
    |       |   |-- uk
    |       |   |   `-- LC_MESSAGES
    |       |   |       `-- mc.mo
    |       |   |-- wa
    |       |   |   `-- LC_MESSAGES
    |       |   |       `-- mc.mo
    |       |   |-- zh_CN.GB2312
    |       |   |   `-- LC_MESSAGES
    |       |   |       `-- mc.mo
    |       |   `-- zh_TW.Big5
    |       |       `-- LC_MESSAGES
    |       |           `-- mc.mo
    |       `-- terminfo
    |           |-- l
    |           |   `-- linux
    |           |-- v
    |           |   `-- vt100
    |           `-- x
    |               `-- xterm
    |-- var
    |   |-- cache
    |   |   `-- htb.init
    |   |-- cbq.init
    |   |-- cbq.init-cache
    |   |-- lib
    |   |   |-- lrpkg
    |   |   |   |-- brg.conf
    |   |   |   |-- brg.list
    |   |   |   |-- cur.list
    |   |   |   |-- dhcpd.conf
    |   |   |   |-- dhcpd.exclude.list
    |   |   |   |-- dhcpd.help
    |   |   |   |-- dhcpd.list
    |   |   |   |-- dhcpd.version
    |   |   |   |-- etc.exclude.list
    |   |   |   |-- etc.help
    |   |   |   |-- etc.list
    |   |   |   |-- etc.version -> root.version
    |   |   |   |-- etherw.help
    |   |   |   |-- etherw.list
    |   |   |   |-- ipsec.conf
    |   |   |   |-- ipsec.help
    |   |   |   |-- ipsec.list
    |   |   |   |-- ipsec.version
    |   |   |   |-- iptables.help
    |   |   |   |-- iptables.list
    |   |   |   |-- iptables.version
    |   |   |   |-- local.list
    |   |   |   |-- m.list
    |   |   |   |-- mawk.list
    |   |   |   |-- mawk.version
    |   |   |   |-- modules.conf
    |   |   |   |-- modules.exclude.list
    |   |   |   |-- modules.help
    |   |   |   |-- modules.list
    |   |   |   |-- modules.version -> root.version
    |   |   |   |-- netutils.list
    |   |   |   |-- nmap.list
    |   |   |   |-- nmap.version
    |   |   |   |-- pcmcia.conf
    |   |   |   |-- pcmcia.help
    |   |   |   |-- pcmcia.list
    |   |   |   |-- pcmcia.version
    |   |   |   |-- qos-htb.help
    |   |   |   |-- qos-htb.list
    |   |   |   |-- qos-htb.version
    |   |   |   |-- root.dev.mod
    |   |   |   |-- root.dev.own
    |   |   |   |-- root.exclude.list
    |   |   |   |-- root.help
    |   |   |   |-- root.list
    |   |   |   |-- root.log.links
    |   |   |   |-- root.net.conf
    |   |   |   |-- root.pn.links
    |   |   |   |-- root.sys.conf
    |   |   |   |-- ssh.conf
    |   |   |   |-- ssh.help
    |   |   |   |-- ssh.list
    |   |   |   |-- ssh.version
    |   |   |   |-- sshd.conf
    |   |   |   |-- sshd.help
    |   |   |   |-- sshd.list
    |   |   |   |-- sshd.version
    |   |   |   |-- sshkey.help
    |   |   |   |-- sshkey.list
    |   |   |   |-- sshkey.version
    |   |   |   |-- t.conf
    |   |   |   |-- t.list
    |   |   |   |-- tc.help
    |   |   |   |-- tc.list
    |   |   |   |-- tc.version
    |   |   |   |-- tcpdump.help
    |   |   |   |-- tcpdump.list
    |   |   |   |-- tcpdump.version
    |   |   |   |-- wireless.conf
    |   |   |   |-- wireless.help
    |   |   |   |-- wireless.list
    |   |   |   |-- wireless.version
    |   |   |   |-- wireutil.help
    |   |   |   |-- wireutil.list
    |   |   |   |-- wireutil.version
    |   |   |   |-- zebedee.conf
    |   |   |   |-- zebedee.help
    |   |   |   |-- zebedee.list
    |   |   |   `-- zebedee.version
    |   |   |-- misc
    |   |   |   `-- pcmcia-scheme
    |   |   `-- random-seed
    |   `-- spool
    |       `-- cron
    |           `-- crontabs
    
    30.12.2007 19:56 Tomáš Skočdopole | skóre: 13
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Jestli se teda nemylim, tak v te adresarove strukture jsem nikde chpasswd ani nic podobneho strukture nenasel - tudiz chroot take nepomuze.

    Jak bylo vypatrano v prispevcich vyse - jedna se metodu DES. Heslo je o 13 znacich a sklada se z a-zA-Z0-9 A ta je ve vsech distribucich stejne generovana? Nebo jak to s ni je?
    30.12.2007 20:01 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Ano, všude stejně. Výsledek závisí jen na hesle samotném a zvolené hodnotě salt (která může být libovolná). Takže si někde vygenerujte heslo s použitím DES formátu (např. 'chpasswd -c des') a zkopírujte ho do /etc/shadow na cílovém systému.
    31.12.2007 11:34 Tomáš Skočdopole | skóre: 13
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Díval jsem se ještě na http://www.gnu.org/software/libc/manual/html_node/crypt.html - zde píšou, že DES algoritmus používá dva znaky pro "salt" a zbylych 11 je heslo.

    Z uvedených zdrojových kódu v jednom z příspěvku je zřejmé, že se "salt" přidá ještě k nezašifrovanému heslu. Ovšem pořád mi není jasný ten mechanismus ověřování zašifrovaného hesla které obsahuje "salt".

    Heslo je zašifrováno takto:
    UlozeneHeslo = crypt(getpass("Password:"), salt);
    Není mi ale jasné, jak systém určí, jaká hodnota "salt" byla použita při šifrování daného heslo, když je pak to heslo zpětně ověřováno:
    ZadaneHeslo = crypt(getpass("Password:"), salt);
    ok = strcmp (ZadaneHeslo, UlozeneHeslo) == 0;
    ...
    31.12.2007 12:07 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Při ověřování jako druhý parametr crypt() zadáte uložený hash hesla ze systémové tabulky. Funkce crypt() z něj použije pouze hodnotu salt.
    31.12.2007 12:44 Tomáš Skočdopole | skóre: 13
    Rozbalit Rozbalit vše Re: formát hesel v /etc/shadow
    Aha, už to zde vidím - při letmém projití kódu jsem to přehlídl...
    /* Read in the user's password and encrypt it,
       passing the expected password in as the salt. */
    result = crypt(getpass("Password:"), pass);
    Pořád ale nechápu, jak funkce crypt dokáže z řetězce pass najít hodnotu salt, když řetězec pass je zašifrovaný řetězec obsahující heslo a hodnotu salt. Nebo ona snad hodnota salt se přidává již k zašifrovanému heslu?

    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.