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 11:00 | Pozvánky

    Přímý přenos z konference OpenAlt 2024, jež probíhá tento víkend v prostorách FIT VUT v Brně. Na programu je spousta zajímavých přednášek. Pokud jste v Brně, stavte se. Vstup zdarma.

    Ladislav Hagara | Komentářů: 0
    včera 23:55 | Humor

    V Coloradu unikla hesla k volebním počítačům. Více než 2 měsíce byla tabulka se stovkami hesel do BIOSu volně na webových stránkách. Dle úřadu je potřeba ještě druhé heslo, takže se o žádnou bezprostřední bezpečnostní hrozbu pro volby nejedná [Ars Technica].

    Ladislav Hagara | Komentářů: 0
    včera 18:33 | IT novinky Ladislav Hagara | Komentářů: 11
    31.10. 22:44 | IT novinky

    Apple představil nový MacBook Pro s čipy M4, M4 Pro a M4 Max.

    Ladislav Hagara | Komentářů: 58
    31.10. 22:00 | Zajímavý software

    Na GOG.com běží Halloween Sale 2024. Při té příležitosti lze získat zdarma počítačovou hru Return of the Phantom.

    Ladislav Hagara | Komentářů: 0
    31.10. 20:22 | IT novinky

    Společnost OpenAI spustila internetový vyhledávač ChatGPT search.

    Ladislav Hagara | Komentářů: 1
    31.10. 14:33 | Pozvánky

    Konference OpenAlt 2024 proběhne již tento víkend 2. a 3. listopadu v prostorách FIT VUT v Brně. Začíná ale už v pátek na warm-up party ve Studentském klubu u Kachničky v 17:00. Pokud jste ještě areál FITu nenavštívili, k dispozici jsou pokyny k orientaci. Na programu je 54 přednášek a workshopů. Témata jsou od silně technických témat jako je třeba GCC nebo PostgreSQL po méně technické témata jako eGovernment, nebo třeba detailní analýzu … více »

    Ladislav Hagara | Komentářů: 5
    31.10. 13:23 | Nová verze

    Byla vydána nová verze 6.9 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 14.0.1. Tor client na verzi 0.4.8.13. Thunderbird na verzi 115.16.0.

    Ladislav Hagara | Komentářů: 2
    31.10. 12:33 | Komunita

    Vývojáři free a open source synchronizačního nástroje (a p2p náhrady Dropboxu) Syncthing oznámili, že z důvodu odporu ze strany Google Play ukončují podporu OS Android. Bohužel v rámci toho zmizí i vydání Syncthing na F-Droid, který má slabší uživatelskou základnu. Syncthing je na Androidu implementován formou wrapper aplikace, která spustí Syncthing démon, vyžádá potřebná oprávnění a zpřístupní webové rozhraní démona. Ve srovnání se

    … více »
    Harvie.CZ | Komentářů: 5
    31.10. 01:11 | Nová verze

    V červnu 2022 bylo oznámeno, že z K-9 Mailu se stane Thunderbird pro Android. Trvalo to poněkud déle, než vývojáři předpokládali, ale včera byl první stabilní Thunderbird pro Android 8.0 vydán.

    Ladislav Hagara | Komentářů: 0
    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: 4031×
    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.