GNU/Linux >> Tutoriales Linux >  >> Linux

Encuentra cuentas de usuario con contraseña vacía en Linux

El peor tipo de contraseña no es una contraseña débil sino ninguna contraseña. Como administrador del sistema, debe asegurarse de que cada cuenta de usuario tenga una contraseña segura. Este breve tutorial explica cómo encontrar cuentas de usuario con contraseña vacía en Linux.

Antes de entrar en materia, hagamos un resumen rápido de sombra archivo y su finalidad.

¿Qué es el archivo de contraseña oculta?

En los sistemas RHEL, las contraseñas de los usuarios se cifran y almacenan en un archivo seguro llamado /etc/shadow . El archivo de contraseña oculta contiene la autenticación de usuario y los detalles de antigüedad de la contraseña de las cuentas de usuario.

El archivo de contraseña oculta es propiedad de root usuario y solo es legible por los superusuarios. Puede verificar la propiedad y el permiso del archivo shadow usando el siguiente comando:

# ls -l /etc/shadow
---------- 1 root root 618 Apr  7 07:52 /etc/shadow

La estructura típica de una fila de muestra del archivo shadow se muestra a continuación.

user1:$6$5ps/XV21$EFmQ463GJZnsdF/:19089:0:99999:7:::

Como ya sabrá, el archivo shadow tiene nueve campos separados por dos puntos.

Echemos un vistazo rápido a cada campo.

  • Archivo 1 (nombre de inicio de sesión) - Contiene el nombre de inicio de sesión (usuario1) tal como aparece en passwd archivo.
  • Archivado 2 (contraseña cifrada) - Este archivo contiene la contraseña hash (encriptada) del usuario. Si hay un solo signo de exclamación (!) al comienzo de este archivo, significa que la cuenta de usuario está bloqueada. Si este campo está vacío, el usuario no tiene contraseña.
  • Archivado 3 (último cambio) - Este campo muestra el número de días desde la época de Unix (es decir, hora de Unix - 01 de enero de 1970 00:00:00 UTC) cuando se modificó la contraseña por última vez. Si este campo contiene 0, el usuario está obligado a cambiar su contraseña en el próximo inicio de sesión.
  • Archivado 4 (mínimo) - Este campo muestra el número mínimo de días (mindays) que deben transcurrir antes de que el usuario pueda cambiar su contraseña. Puede cambiar este valor archivado con chage comando con -m opción.
  • Campo 5 (Máximo) - Muestra el número máximo de días (maxdays) de validez de la contraseña antes de que caduque la contraseña del usuario. Si el campo es 0, significa que esta función está deshabilitada. El valor de este campo se puede cambiar con chage comando con -M opción.
  • Archivado 6 (Advertencia) - Indica el número de días (warndays) durante los cuales el usuario recibe avisos por cambiar su contraseña antes de que caduque. Puede cambiar este valor con chage comando con -W opción o la passwd comando con -w opción.
  • Campo 7 (Caducidad de la contraseña) - Define el número máximo permitido de días para que el usuario pueda iniciar sesión con la contraseña caducada. Esto se puede cambiar usando chage comando con -I bandera o passwd comando con -i bandera.
  • Campo 8 (Caducidad de la cuenta) - Define el número de días desde la hora UNIX cuando la cuenta de usuario caducará y ya no estará disponible. Puede cambiar el valor de este campo usando chage comando con -E opción.
  • Campo 9 (Reservado) - Este campo está reservado para uso futuro.

Como se mencionó anteriormente, las contraseñas cifradas se almacenan en el segundo campo de cada entrada en el archivo de contraseñas ocultas, justo después del nombre de usuario.

Entonces, si el segundo campo en el archivo shadow está vacío, entonces el usuario no tiene contraseña. Permítame mostrarle un ejemplo para encontrar todas las cuentas de usuario sin contraseña.

Encuentre todas las cuentas de usuario sin contraseña en Linux

Para detectar todas las cuentas de usuario locales que no tienen contraseña, simplemente ejecute el siguiente comando como root usuario:

# awk -F: '$2 == "" { print $1, "has empty password!. Please set a strong password ASAP!!" }' /etc/shadow

Salida de muestra:

ostechnix has empty password!. Please set a strong password ASAP!!

También puedes usar getent comando combinado con grep y cut comandos para identificar cuentas de usuario locales sin contraseña en Linux.

# getent shadow | grep -Po '^[^:]*(?=::)'

O,

# getent shadow | grep '^[^:]*::' | cut -d: -f1

Todos los comandos anteriores enumerarán solo las cuentas de usuario locales que tienen contraseñas vacías. Si desea enumerar las cuentas del sistema y las cuentas de usuario con contraseña vacía, ejecute.

# getent shadow | grep -Po '^[^:]*(?=:.?:)'

O,

# getent shadow | grep '^[^:]*:.\?:' | cut -d: -f1

Encuentre una cuenta de usuario específica sin contraseña

Los comandos anteriores enumerarán todas las cuentas locales y del sistema que no tienen contraseña. También puede verificar el estado de la contraseña de una cuenta de usuario específica usando passwd comando con -S bandera.

# passwd -S ostechnix

Salida de muestra:

ostechnix NP 2022-04-07 0 99999 7 -1 (Empty password.)

La passwd Los comandos indicarán el estado de la contraseña de la cuenta de usuario dada. Los valores posibles son:

  • LQ - La cuenta de usuario está bloqueada.
  • NP - La cuenta de usuario no tiene contraseña.
  • PD - La cuenta de usuario tiene una contraseña utilizable.

Aviso: En los sistemas basados ​​en Debian, el estado de la contraseña se indicará como L , N , P respectivamente.

Establecer contraseña de usuario en Linux

Puede iniciar sesión como un usuario sin contraseña, está perfectamente bien. ¡Sin embargo, no es recomendable! Debe establecer una contraseña segura con al menos 8 caracteres, incluidas mayúsculas, minúsculas, un carácter especial y un número.

Para establecer la contraseña de una cuenta de usuario en Linux, use passwd comando como root usuario como a continuación.

Como usuario root:

# passwd ostechnix

Reemplace ostechnix con su propio nombre de usuario.

Ahora verifique el estado de la contraseña de la cuenta de usuario usando passwd comando:

# passwd -S ostechnix

Salida de muestra:

ostechnix PS 2022-04-07 0 99999 7 -1 (Password set, SHA512 crypt.)

Bloquear cuentas de usuario en Linux

A veces, solo desea bloquear las cuentas de usuario con contraseñas vacías. Si es así, primero encuentre a los usuarios con contraseñas vacías como se describe arriba y bloquéelos usando passwd comando con -l marcar como root usuario como a continuación.

# passwd -l ostechnix

Salida de muestra:

Locking password for user ostechnix.
passwd: Success

Ahora, verifique el estado de la cuenta de usuario:

# passwd -S ostechnix

Resultado de muestra:

ostechnix LK 2022-04-07 0 99999 7 -1 (Password locked.)

¿Ver? El usuario ha sido bloqueado. Ya no puede iniciar sesión en el sistema.

También puede usar el usermod comando con -L (L mayúscula) para bloquear a un usuario.

# usermod -L ostechnix

Desbloquear cuentas de usuario en Linux

Para desbloquear los usuarios sin contraseña en Linux, utilice passwd comando o usermod comando con -p como root usuario.

# passwd ostechnix

Ingrese la contraseña dos veces para desbloquear la contraseña.

Desbloqueo de usuario con contraseña vacía con usermod El comando no es posible, debe establecer una contraseña con usermod -p para desbloquear la contraseña del usuario.

# usermod -p <password-here> ostechnix

Conclusión

En este tutorial, explicamos qué es el archivo de contraseña Shadow y el propósito de este archivo en Linux. Luego discutimos sobre varios comandos para encontrar todas las cuentas de usuario que no tienen contraseña en Linux. Finalmente, aprendimos cómo establecer una contraseña para un usuario y también cómo bloquear y desbloquear usuarios en Linux.


Linux
  1. Cómo eliminar cuentas de usuario con el directorio de inicio en Linux

  2. Automatización de contraseñas SSH en Linux con sshpass

  3. Instalar WordPress en Linux con Apache

  4. Establecer o cambiar una contraseña de usuario en Linux

  5. Cómo permitir ssh con contraseñas vacías en Linux

Cómo cambiar o establecer la contraseña de usuario en Linux

Guía completa de administración de usuarios en Linux

Modificar cuentas de usuario con el comando Usermod

Comando passwd de Linux – Cambiar contraseña de usuario

¿Cómo proteger GRUB con contraseña en Linux?

Realización de restablecimientos de contraseña de Linux [paso a paso]