¿La contraseña del usuario en ubuntu 13.04 está en texto plano?

2

¿Está almacenado en texto plano o no?

¿Dónde puedo encontrar el archivo que contiene el nombre de usuario y la contraseña de mis cuentas en Ubuntu 13.04?

    
pregunta Gilles 05.06.2013 - 10:01
fuente

2 respuestas

13

Nunca he visto un sistema Unix que almacene contraseñas en texto plano. Los sistemas tradicionales de Unix utilizaron una construcción de hash basada en DES (que incluía una sal, pero truncada la contraseña a 8 caracteres y no realizó ninguna ralentización). A fines de la década de 1990, la mayoría de los sistemas cambiaron a un hash de contraseña esquema basado en MD5 , con sal y una desaceleración no configurable. Hoy en día, la mayoría de las distribuciones de Linux, incluido Ubuntu, utilizan un esquema basado en SHA-2 con salt y una ralentización configurable. Puede indicar el esquema de contraseña de los primeros caracteres en el campo de contraseña; $6$ indica un esquema basado en SHA-512.

Los hashes de contraseñas se almacenaban tradicionalmente en /etc/passwd , pero los sistemas modernos mantienen las contraseñas en un archivo separado de la base de datos pública del usuario. Linux utiliza /etc/shadow . Puede poner las contraseñas en /etc/passwd (aún se admite para la compatibilidad con versiones anteriores), pero tiene que reconfigurar el sistema para hacerlo.

Entonces, la respuesta para usted es: no, no está en texto sin formato (y no hay forma de hacerlo en texto sin formato, incluso a través de una configuración incorrecta). El hash está en /etc/shadow .

    
respondido por el Gilles 05.06.2013 - 10:37
fuente
7

Las contraseñas no se almacenan en texto sin formato, sino que se guardan y se cifran en el archivo /etc/shadow . Analicemos cómo funciona esto en Linux, ya que hay dos archivos importantes: /etc/shadow y /etc/passwd

El archivo /etc/passwd es el archivo en el sistema Linux que contiene toda la información relevante relacionada con el inicio de sesión del usuario ( artículo original aquí ):

  

    
  1. Nombredeusuario:seusacuandoelusuarioiniciasesión.Debeestarentre1y  32caracteresdelongitud.
  2.   
  3. Contraseña:uncarácterxindicaque  Lacontraseñacifradasealmacenaenelarchivo/etc/shadow.
  4.   
  5. IDdeusuario(UID):  CadausuariodebetenerasignadounIDdeusuario(UID).UID0(cero)estáreservado  pararootyUID1-99estánreservadosparaotrascuentaspredefinidas.  OtrosUID100-999estánreservadosporsistemaparafinesadministrativosy  Sistemadecuentas/grupos.
  6.   
  7. IDdegrupo  (GID):elIDdelgrupoprimario(almacenado  enelarchivo/etc/group)
  8.   
  9. InformacióndeIDdeusuario:elcampodecomentario.Tepermite  agregarinformaciónadicionalsobrelosusuarios,comoelnombrecompletodelusuario,  númerodeteléfono,etc.Estecamposeusaconelcomandodedo.
  10.   
  11. directoriodeinicio:  Larutaabsolutaaldirectorioenelqueestaráelusuariocuandoiniciesesión  en.Siestedirectorionoexiste,eldirectoriodeusuariosseconvierteen/.
  12.   
  13. Comando/shell:larutadeaccesoabsolutadeuncomandooshell(/bin/bash).  Típicamente,estoesunacáscara.Tengaencuentaquenotienequeser  unaconcha.
  14.   

Elarchivo/etc/shadowcontieneentradasdecontraseñacifradasparalosusuariosdelsistema.Ademásdecontenercontraseñasencriptadas,unaentradaenestearchivotambiéncontieneinformacióndecaducidadycaducidaddelacontraseña.Ubuntuutilizalafunción crypt :

  

La versión glibc2 de esta función admite algoritmos de cifrado adicionales.

     

Si salt es una cadena de caracteres que comienza con los caracteres "$ id $" seguido de una cadena que termina con "$":

     $id$salt$encrypted
     

luego, en lugar de utilizar la máquina DES, id identifica el método de cifrado utilizado y esto determina cómo se interpreta el resto de la cadena de contraseña. Se admiten los siguientes valores de ID:

     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)
     

Entonces, $5$salt$encrypted es una contraseña codificada SHA-256 y $6$salt$encrypted es una codificada SHA-512.

     

"sal" significa hasta 16 caracteres después de "$ id $" en la sal. La parte cifrada de la cadena de contraseña es la contraseña real calculada. El tamaño de esta cadena es fijo:

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

Los caracteres en "salt" y "encriptados" se extraen del conjunto [a-zA-Z0-9./] . En las implementaciones de MD5 y SHA, la clave completa es significativa (en lugar de solo los primeros 8 bytes en DES).

    
respondido por el Lucas Kauffman 05.06.2013 - 10:44
fuente

Lea otras preguntas en las etiquetas