Tutoriales

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

Las peores contraseñas no son contraseñas débiles, sino ninguna contraseña en absoluto. 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ñas vacías en Linux.

Antes de entrar en materia, repasemos rápidamente los archivos shadow y sus usos.

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

En los sistemas RHEL, las contraseñas de los usuarios se cifran y almacenan en un archivo llamado /etc/shadowLos archivos de contraseña oculta contienen detalles de autenticación de usuario y antigüedad de contraseña para cuentas de usuario.

archivo de contraseña oculto root usuario y sólo puede ser leído por el superusuario. Puede verificar la propiedad y los permisos del archivo shadow con el siguiente comando:

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

A continuación se muestra una estructura típica de una línea de ejemplo en un archivo shadow.

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

Como ya sabrá, los archivos shadow tienen nueve campos Separar con dos puntos.

Publicaciones relacionadas

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 documento.
  • Archivo 2 (contraseña cifrada) – Este archivo contiene la contraseña hash (cifrada) del usuario. Si este archivo tiene un signo de exclamación (!) al principio, significa que la cuenta de usuario está bloqueada. Si este campo está en blanco, el usuario no tiene contraseña.
  • Archivo 3 (últimos cambios) – Este campo muestra el número de días desde la época de Unix (es decir, tiempo de Unix – 1/1/1970 00:00:00 UTC) cuando se cambió la contraseña por última vez. Si este campo contiene 0, el usuario se verá obligado a cambiar su contraseña la próxima vez que inicie sesión.
  • Archivo 4 (mínimo) – Este campo muestra el número mínimo de días (mindays) que deben pasar antes de que el usuario pueda cambiar su contraseña.Puede cambiar este valor de campo usando chage comando con -m opciones
  • Campo 5 (máx.) – Muestra el número máximo de días (maxdays) que la contraseña de un usuario es válida antes de que caduque. Si este campo es 0, significa que esta función está deshabilitada.El valor de este campo se puede cambiar a chage comando con -M opciones
  • Archivo 6 (Advertencia) – Indica el número de días (días de advertencia) que se advierte al usuario para que cambie su contraseña antes de que caduque la contraseña.Puede cambiar este valor usando chage comando con -W opción o passwd comando con -w opciones
  • Campo 7 (Caducidad de la contraseña) – Definir el número máximo permitido de días que un usuario puede iniciar sesión con una contraseña caducada.Esto se puede cambiar usando chage comando con -I firmar o passwd comando con -i bandera.
  • Campo 8 (Caducidad de la cuenta) – Define el número de días desde la hora de UNIX que una cuenta de usuario caducará y ya no estará disponible.Puede cambiar el valor de este campo usando chage comando con -E opciones
  • Campo 9 (reservado) – Este campo está reservado para uso futuro.

Como se mencionó anteriormente, la contraseña cifrada se almacena en el segundo campo de cada entrada en el archivo de contraseña oculta, justo después del nombre de usuario.

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

Encuentra todas las cuentas de usuario sin contraseñas en Linux

Para detectar todas las cuentas de usuarios locales sin contraseñas, simplemente ejecute el siguiente comando 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 Combinando comandos grep y cut Comando para identificar cuentas de usuarios locales sin contraseña en Linux.

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

o,

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

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

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

o,

# getent shadow | grep '^[^:]*:.\?:' | cut -d: -f1
Encuentra cuentas de usuario con contraseñas vacías

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

El comando anterior enumerará todas las cuentas locales y del sistema sin 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.)

este passwd El comando indicará el estado de la contraseña de la cuenta de usuario dada. Los posibles valores son:

  • li jin – La cuenta de usuario está bloqueada.
  • notario público – Las cuentas de usuario no tienen contraseñas.
  • posdata – La cuenta de usuario tiene una contraseña disponible.

Cuidado: En los sistemas basados ​​en Debian, el estado de la contraseña se representará como largo, norte, fósforo respectivamente.

Configuración de contraseñas de usuario en Linux

Puede iniciar sesión con un usuario sin contraseña, ¡pero esto no es recomendable! Debe establecer una contraseña segura con al menos 8 caracteres, incluidas letras mayúsculas, letras minúsculas, caracteres especiales y números.

Para establecer una contraseña para una cuenta de usuario en Linux, utilice passwd el comando es root A los usuarios les gusta a continuación.

Como usuario raíz:

# 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 Pedido:

# passwd -S ostechnix

Salida de muestra:

ostechnix PS 2022-04-07 0 99999 7 -1 (Password set, SHA512 crypt.)
Configuración de contraseñas para usuarios en Linux
Configuración de contraseñas para usuarios en Linux

Bloquear cuentas de usuario en Linux

A veces, solo desea bloquear una cuenta de usuario con una contraseña vacía.Si es así, primero busque a los usuarios anteriores con contraseñas vacías y bloquéelos con passwd comando con -l marcar como root A los usuarios les gusta 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

Salida de muestra:

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

¿Mirar? El usuario está bloqueado. Ya no puede iniciar sesión en el sistema.

También puedes usar usermod comando con -L (L mayúscula) marca para bloquear al usuario.

# usermod -L ostechnix

Desbloquear cuentas de usuario en Linux

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

# passwd ostechnix

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

Desbloquear usuario con contraseña vacía usermod el comando no es posible, debe establecer la contraseña usermod -p Desbloquee la contraseña para este usuario.

# usermod -p  ostechnix

En conclusión

En este tutorial, explicamos qué es un archivo de contraseña oculta y para qué se usa en Linux. Luego discutimos varios comandos para encontrar todas las cuentas de usuario sin contraseña en Linux. Finalmente, aprendimos cómo establecer contraseñas para los usuarios y cómo bloquear y desbloquear usuarios en Linux.

LEER  7 formas de modificar los comandos Sudo en Linux

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba