Una de las ventajas de Linux con respecto a otros sistemas operativos es la necesidad de introducir una contraseña para casi cualquier cambio que queremos realizar en el sistema. Esto, algo que puede parecer un engorro, también supone una mayor seguridad para nosotros. Es por ello que es posible que queramos cambiar nuestra contraseña en Linux para que nos resulte más fácil de recordar. Para ello debemos de hacer uso del comando passwd desde la Terminal.
Para poder instalar o desinstalar programa, así como para introducir comandos en la Terminal necesitaremos nuestra clave root de Linux, y que no es la misma que la del inicio de sesión, por lo que es importante que la cambiemos y tengamos una que nos resulte más sencillo de memorizar. La contraseña se utiliza para actualizar el token de autentificación (contraseña) de un usuario almacenado en el archivo /etc/shadow, mientras que el passwd se encarga de cambiar las cuentas de usuario y grupo.
Un usuario normal solo puede cambiar la contraseña de su propia cuenta, mientras que el superusuario (o root) tiene la posibilidad de cambiar la clave de cualquier cuenta. El comando passwd también cambia la información de la cuenta como el nombre completo del usuario, el Shell de inicio del usuario o la fecha de caducidad y el intervalo de la contraseña.
La forma de llevar a cambio el cambio de contraseña en Linux debe funcionar correctamente en cualquier distribución como Alpine, Arch, Ubuntu, Debian, RHEL, Fedora, Oracle CentOS, SUSE/OpenSUSE y otras distros populares.
Contraseñas en Linux
Los sistemas operativos Linux son considerados por expertos como de los más seguros del mundo, principalmente debido a la manera en las que sus procesos son manejados. A la hora de usar cada sistema, en muchos momentos vamos a depender del uso la contraseña, gestionándose de manera similar a otros sistemas como Windows o macOS.
Pero sí hay algo en el que se diferencian, y es por disponer de dos directorios importantes a la hora gestionar las contraseñas.
Por un lado, están los archivos /etc/passwd, donde se encuentran almacenados todos los usuarios del sistema, mostrándose en todo momento a que grupo del sistema pertenecen. De esta forma, aunque veamos muchos usuarios, es posible que solo con algunos podamos iniciar sesión. Es posible ver su contenido a través del comando:
cat /etc/passwd
Por otro lado, tenemos el archivo /etc/shadow que se encuentra relacionad con las contraseñas. Aquí podemos ver todas las contraseñas cifradas por los usuarios y comprobar si tienen una clave SSH. Es posible ver su contenido a través del comando:
cat /etc/shadow
Configurar una contraseña segura
Configurar nuestros sistemas Linux con una contraseña robusta y segura es algo básico que seguramente no todos los usuarios cumplen. Es por ello que es importante tener configurado una buena política de claves para mantener a salvo nuestra privacidad y seguridad. Para ello es importante crear contraseñas robustas, que no se encuentren en el diccionario y que puedan tener cierta complejidad para descifrar.
También es crucial evitar contraseñas comunes como:
- Palabras que aparecen en un diccionario
- Tu nombre y apellidos
- Nombres de mascotas
- Nombres de hijos o cónyuges
- Número de licencia
- Fecha de nacimiento
- Dirección de casa u oficina
Es fundamental que nuestra contraseña tenga al menos 12 caracteres, incluya mayúsculas y minúsculas e incluso caracteres especiales. Junto a ello, también es importante que lo podemos recordar con cierta facilidad, pues en Linux se usa de manera habitual para cualquier cambio que queramos realizar.
Cambiar la clave a un usuario root
Cuando hablamos de una cuenta root en Linux lo hacemos sobre aquella que tiene la capacidad para disponer de todos los permisos y privilegios. En muchas ocasiones será necesario disponer de un acceso root para poder ejecutar determinados comandos sobre todo cuando afectan al sistema.
Lo primero que debemos hacer es abrir la Terminal, para lo cual en la mayoría de las distribuciones basta con pulsar la combinación de teclas Ctrl +Alt + T.
Ahora debemos de autentificarnos como root para lo cual debemos de establecer el siguiente comando y pulsar Enter:
su –
A continuación, debemos de establecer nuestra contraseña y si hemos iniciado sesión correctamente como usuario root, el sistema debe finalizar con # en lugar de $.
Ahora para cambiar la contraseña escribimos el siguiente comando y pulsamos Enter:
sudo passwd root
A continuación, tenemos que escribir la nueva contraseña y posteriormente confirmar la nueva contraseña. Si todo ha ido bien nos aparecerá «passwd updated sucessfully». Ahora ya podemos cerrar la Terminal.
Cambiar la contraseña en Linux
A continuación, vamos a ver diferentes formas para cambiar la contraseña en Linux desde la Terminal.
Para un usuario
Para poder cambiar nuestra contraseña en Linux como usuario debemos de ingresar el comando passwd de la siguiente forma:
$ paswd
A continuación, nos informará de que estamos intentando cambiar la contraseña, por lo que nos pedirá que introduzcamos primero la contraseña actual. Posteriormente, escribiremos la nueva contraseña y por último la volvemos a escribir para confirmar.
Si hemos realizado los pasos correctamente, finalmente nos aparecerá el mensaje de «passwd: contraseña cambiada correctamente».
De otra cuenta de usuario
Para cambiar la contraseña de otro usuario, debemos iniciar sesión primero como root, para lo cual escribimos:
su –
Posteriormente escribimos el siguiente comando para cambiar la contraseña del usuario softzone:
# passwd softzone
A continuación, escribimos la nueva contraseña para ese usuario y la confirmamos. Si todo ha ido bien nos debe aparecer el mensaje «paswd: password updated successfully». Una vez hecho esto ya podemos cerrar la Terminal.
Para un usuario como administrador
Como administrador de un sistema Linux podemos cambiar la contraseña de cualquier usuario que se encuentre agregado. Para ello, lo primero será iniciar sesión como root su –
Posteriormente escribimos el comando passwd seguido del nombre de usuario al que queremos cambiar la contraseña, por ejemplo, el usuario softzone. Para ello escribimos:
passwd softzone
Ahora el sistema nos pedirá que escribamos la nueva contraseña para ese usuario y la confirmamos. Si todo ha ido bien nos debe aparecer el mensaje «paswd: password updated successfully». Si todo ha ido perfectamente ya podemos cerrar la Terminal., para lo cual escribimos:
su –
Posteriormente escribimos el comando passwd seguido del nombre de usuario al que queremos cambiar la contraseña, por ejemplo, el usuario softzone. Para ello escribimos:
passwd softzone
Ahora el sistema nos pedirá que escribamos la nueva contraseña para ese usuario y la confirmamos. Si todo ha ido bien nos debe aparecer el mensaje «paswd: password updated successfully». Si todo ha ido perfectamente ya podemos cerrar la Terminal.
Obligar a un usuario a cambiarla al iniciar sesión
Además de utilizar una contraseña segura tal y como hacemos mostrado antes, tomando una serie de precauciones a la hora de crearla, la seguridad va mucho más allá. Cierto es que los tiempos cada vez están más complicados en este sentido y deberíamos tener cuidado con los tipos de password que utilizamos en cada caso.
Al mismo tiempo no deberíamos repetir estas claves de acceso en diferentes plataformas por si se filtra en alguna de ellas en el futuro. Evidentemente, si esto sucede, todas nuestras plataformas y servicios con credenciales de acceso podrían estar en peligro. Si nos centramos en el sistema operativo de código abierto Linux, los administradores de sistemas pueden echar mano de esta útil función como medida extraordinaria de seguridad.
En concreto, nos referimos a la posibilidad de obligar a las diferentes cuentas de usuario dadas de alta, a cambiar esta contraseña en el momento en el que se inicie una nueva sesión. Y es que en multitud de ocasiones el administrador de un sistema de código abierto como este puede necesitar que un usuario cambie su contraseña de inmediato.
Cabe destacar que los motivos de todo ello pueden ser de lo más diversos. En ocasiones todo esto que os contamos puede deberse a un cambio de usuario de una cuenta. Igualmente, se puede dar la circunstancia de que esa contraseña haya acabado en las manos equivocadas y tengamos que reiniciarla lo antes posible.
Pues bien, como administrador del sistema operativo y lograr que ese usuario restablezca la contraseña cuando inicie la sesión en el equipo, nos veremos en la obligación de utilizar el siguiente comando.
-e passwd
.
Para que entendamos la sintaxis de la orden que os acabamos de demostrar, decir que se corresponde al término expire y nos servirá para que se venza inmediatamente la contraseña actual. Esto significará que la cuenta de usuario a la que nos referimos aquí tendrá que crear una nueva la próxima vez que inicie sesión de manera obligatoria.
Recuperar la contraseña de Linux
Hemos visto cómo cambiar la contraseña de cualquier usuario de Linux, pero ¿qué pasa si lo que necesitamos es entrar en el sistema, y no nos conocemos la contraseña? Puesto que Linux está diseñado pensando, principalmente, en la seguridad de los datos, sin la correspondiente clave no vamos a poder iniciar sesión en el PC. De esta forma, nada ni nadie podrá acceder al sistema, ni localmente ni de forma remota, sin permiso.
Sin embargo, esto no es del todo cierto. Y es que, aunque de normal no vamos a poder entrar en nuestro Linux, lo que sí vamos a poder hacer es restablecer la contraseña de cualquier usuario de Linux, siempre y cuando tengamos acceso físico al ordenador. Para ello, hay que recurrir a herramientas especializadas que nos permiten modificar a la fuerza, o simplemente corromper, el fichero de contraseñas del sistema operativo para eliminar esta barrera de acceso.
Una vez eliminada la contraseña de Linux, bastará con intentar iniciar sesión en el sistema para ver cómo, por arte de magia, ya podemos entrar. Después tendremos que volver a poner la contraseña a mano si no queremos dejar nuestro PC expuesto.