La password dell'utente in ubuntu 13.04 è in testo semplice?

2

È memorizzato in testo normale o no?

Dove posso trovare il file che contiene nome utente e password per i miei account in Ubuntu 13.04?

    
posta Gilles 05.06.2013 - 10:01
fonte

2 risposte

13

Non ho mai visto un sistema Unix che memorizzi le password in testo semplice. I sistemi unix tradizionali utilizzavano una costruzione hash basata sul DES (che includeva un sale, ma troncato la password a 8 caratteri e non ha effettuato alcun rallentamento). Alla fine degli anni '90 la maggior parte dei sistemi passò a un hashing di password schema basato su MD5 , con sale e un rallentamento non configurabile. Oggigiorno la maggior parte delle distribuzioni Linux, incluso Ubuntu, usa uno schema basato su SHA-2 con sale e un rallentamento configurabile. È possibile indicare lo schema della password dai primi caratteri nel campo della password; $6$ indica uno schema basato su SHA-512.

Gli hash delle password erano tradizionalmente memorizzati in /etc/passwd , ma i sistemi moderni mantengono le password in un file separato dal database degli utenti pubblici. Linux usa /etc/shadow . Puoi mettere le password in /etc/passwd (è ancora supportato per compatibilità con le versioni precedenti), ma devi riconfigurare il sistema per farlo.

Quindi la risposta per te è: no, non è in testo semplice (e non c'è modo di farlo in testo chiaro anche attraverso una configurazione errata). L'hash è in /etc/shadow .

    
risposta data 05.06.2013 - 10:37
fonte
7

Le password non sono archiviate in testo normale ma sono salate e crittografate nel file /etc/shadow . Discutiamo di come funziona in Linux poiché ci sono due file importanti il /etc/shadow e il /etc/passwd

Il file /etc/passwd è il file nel sistema Linux che contiene tutte le informazioni rilevanti relative al login utente ( articolo originale qui ):

  1. Username: It is used when user logs in. It should be between 1 and 32 characters in length.
  2. Password: An x character indicates that encrypted password is stored in /etc/shadow file.
  3. User ID (UID): Each user must be assigned a user ID (UID). UID 0 (zero) is reserved for root and UIDs 1-99 are reserved for other predefined accounts. Further UID 100-999 are reserved by system for administrative and system accounts/groups.
  4. Group ID (GID): The primary group ID (stored in /etc/group file)
  5. User ID Info: The comment field. It allow you to add extra information about the users such as user's full name, phone number etc. This field use by finger command.
  6. Home directory: The absolute path to the directory the user will be in when they log in. If this directory does not exists then users directory becomes /.
  7. Command/shell: The absolute path of a command or shell (/bin/bash). Typically, this is a shell. Please note that it does not have to be a shell.

Il file /etc/shadow contiene voci di password crittografate per gli utenti nel sistema. Oltre a contenere le password crittografate, una voce in questo file contiene anche le informazioni sulla durata e la scadenza della password. Ubuntu usa la funzione crypt :

The glibc2 version of this function supports additional encryption algorithms.

If salt is a character string starting with the characters "$id$" followed by a string terminated by "$":

     $id$salt$encrypted

then instead of using the DES machine, id identifies the encryption method used and this then determines how the rest of the password string is interpreted. The following values of id are supported:

     ID  | Method
     ---------------------------------------------------------
     1   | MD5
     2a  | Blowfish (not in mainline glibc; added in some
         | Linux distributions)
     5   | SHA-256 (since glibc 2.7)
     6   | SHA-512 (since glibc 2.7)

So $5$salt$encrypted is an SHA-256 encoded password and $6$salt$encrypted is an SHA-512 encoded one.

"salt" stands for the up to 16 characters following "$id$" in the salt. The encrypted part of the password string is the actual computed password. The size of this string is fixed:

MD5     | 22 characters SHA-256 | 43 characters SHA-512 | 86 characters

The characters in "salt" and "encrypted" are drawn from the set [a-zA-Z0-9./]. In the MD5 and SHA implementations the entire key is significant (instead of only the first 8 bytes in DES).

    
risposta data 05.06.2013 - 10:44
fonte

Leggi altre domande sui tag