¿Cómo verifico si mi contraseña de root (inicio de sesión) está desactivada?

10

Accidentalmente habilité (configuré) mi contraseña de root (por defecto está bloqueada), y ahora quiero "deshacerla". Utilicé ambos comandos

sudo usermod -p '!' root

y

sudo passwd -dl root

en ese orden.

¿Cómo verifico si la cuenta de root está bloqueada?

nobru
fuente

Respuestas:

18

Puedes usar el passwdcomando:

# passwd -S
root P 11/04/2014 -1 -1 -1 -1
# passwd -l root
passwd: password expiry information changed.
# passwd -S 
root L 11/04/2014 -1 -1 -1 -1
# passwd -d root
passwd: password expiry information changed.
# passwd -S 
root NP 11/04/2014 -1 -1 -1 -1

De man 1 passwd:

   -S, --status
       Display account status information. The status information consists
       of 7 fields. The first field is the user's login name. The second
       field indicates if the user account has a locked password (L), has
       no password (NP), or has a usable password (P). The third field
       gives the date of the last password change. The next four fields
       are the minimum age, maximum age, warning period, and inactivity
       period for the password. These ages are expressed in days.

Los datos que se muestran se almacenan en /etc/shadowel archivo que contiene las contraseñas cifradas.

Por ejemplo, después de cada uno de los passwdcomandos anteriores , los estados fueron:

1:root:$6$............long hash...............::::::
1:root:!$6$........same long hash.............:16478::::::
1:root::16478::::::
muru
fuente
5

Una posibilidad es buscar en / etc / passwd ingresando

grep root /etc/passwd

Debería mostrar una línea que comience como root:x: ......donde la x indica que las contraseñas cifradas se almacenan en el archivo oculto. Si este es el caso, lo investigamos ejecutando

sudo grep root /etc/shadow

(¡el archivo de sombra necesita sudo para abrirse!) Debería obtener una línea que comience como la siguiente como resultado root:!: ......donde !o una *señalización de que la cuenta está deshabilitada. Cualquier otro valor (que no comience por! O *) después root:indicaría una contraseña de trabajo.

Byte Commander
fuente
gracias, pero me pregunto, ¿hay algún archivo que contenga esa información?
nobru
Investigué un poco y agregué otra parte a mi respuesta, accediendo a los archivos donde se almacenan las contraseñas, tal como lo deseabas.
Byte Commander
Intenté tu primera sugerencia, y está mal, sudo todavía usa la contraseña de usuario. El párrafo editado funciona, esa es la información que estaba buscando
nobru
fuente de los datos es man passwd.5yman shadow.5
Sergei G
0

Fácil.

Presiona Ctrl + Alt + F1. Esto lo llevará a una terminal separada. Intente iniciar sesión como root escribiendo rootcomo su nombre de usuario y proporcionando la contraseña.

Si la cuenta raíz está habilitada, el inicio de sesión funcionará. Si la cuenta raíz está deshabilitada, el inicio de sesión fallará.

Para volver a su GUI, presione Ctrl + Alt + F7.

mkasberg
fuente
No necesita ir hasta el TTY para eso. Un simple sulo hará.
muru
gracias, lo intenté y ahora está bloqueado. Pero me pregunto si hay algún archivo que pueda abrir y verificarlo. Digamos hipotéticamente que no recuerdo la contraseña que escribí, y no hay ninguna opción para configurar otra con sudo del usuario, por lo que quiero verificar algún archivo de inicio de sesión si existe.
nobru
0

Por defecto, cuando instala Ubuntu, no debe conocer la contraseña de root. Existe, pero el usuario no debe saberlo. Un administrador, por supuesto, podría elegir alterar la contraseña, sudo passwdpero generalmente no debería ser necesario, a menos que sepa lo que está haciendo y por qué lo está haciendo.

Un archivo que contiene información sobre todas las contraseñas de usuario es /etc/shadow y cada entrada en ese archivo está encriptada. Entonces, a menos que un atacante obtuviera acceso a su sistema y robara este archivo, él o ella no deberían poder ingresar a la raíz. Siempre existe la posibilidad, por lo tanto, le sugiero que desactive todas las funciones de acceso remoto: telnet (no habilitado de forma predeterminada), ssh, escritorio remoto, etc. Obtenga nmapherramientas y escanee su sistema sudo nmap localhostpara ver qué puertos pueden estar abiertos en su sistema. Además, consiga un firewall; ubuntu viene con ufw firewall, que es fácil de usar y hace el trabajo lo suficientemente bien.

Entre otros métodos, puede probar la cuenta raíz con sudo -i

En el /etc/sudoersarchivo, usted debe tener una línea como la siguiente: sudo -i. Si no puede iniciar sesión como root, no verá el # como indicador, entonces la cuenta está bloqueada

Defaults env_reset,timestamp_timeout=30

timestamp_timeout le indicará a sudo que solicite la contraseña después de 30 segundos nuevamente, para que no esté conectado con privilegios de root todo el tiempo. Es una de las formas de asegurar su sistema.

Un efecto secundario adverso de cambiar la contraseña de root es que si olvida la contraseña u otro usuario en su sistema olvida la contraseña, no tendrá acceso a root. No conozco ninguna instancia, pero siempre existe la posibilidad de estropear el sistema, porque algunos de los procesos se ejecutan como root, y si bloquea la cuenta de root, existe la posibilidad de que no funcionen correctamente o no funcionen.

Le recomiendo que lea detenidamente man sudoers, man passwd,man shadow`.

¡Mucha suerte y espero que esto ayude!

Sergiy Kolodyazhnyy
fuente
0

Capture el comando bleow one liner para el informe de contraseña de todos los usuarios existentes en linux sever.

for i in $(cat /etc/passwd | awk -F ':' '{print $1}'); do echo "##############" "$i" "############";chage -l $i; echo "##################################"; done | nl | less
Señor Linux
fuente