Como usar el comando chpasswd para cambiar las contraseñas de las cuentas en Linux

0
3159

El comando chpasswd permite a los administradores cambiar las contraseñas de las cuentas canalizando combinaciones de nombre de usuario y contraseña.

Esto se puede hacer una cuenta a la vez o colocando todas las cuentas que se modificarán en un archivo y canalizando el archivo al comando.

Cómo usar chpasswd

El uso del comando chpasswd requiere privilegios de root. Puede cambiar a la cuenta root y ejecutar un comando como este:

# echo nemo:imafish | chpasswd

Mejor aún, puede usar sudo con un comando como este:

$ echo skunk:istink! | sudo chpasswd

Los nombres de usuario y las contraseñas estarán en texto sin cifrar en la línea de comando como se muestra arriba, pero también se pueden agregar a un archivo como el que se muestra en los dos ejemplos a continuación, uno que se ejecuta como root y el otro que usa el comando sudo:

# cat np                    $ cat np
nemo:imafish                nemo:imafish
lola:imadog                 lola:imadog
skunk:istink!               skunk:istink!
# cat np | chpasswd         $ cat np | sudo chpasswd

Si usa un archivo como el que se muestra, debe usar un comando como shred que borrará y sobrescribirá completamente el archivo para que no se pueda recuperar del disco después. Claramente, nunca es una buena idea mantener las contraseñas sin cifrar en su sistema.

Si está configurando una contraseña para una nueva cuenta, es probable que no se pueda utilizar inicialmente y su  entrada de archivo /etc/shadow se verá así:

$ sudo grep skunk /etc/shadow
skunk:!!:18935:0:99999:7:::

Después de usar el comando chpasswd, la entrada cambiará a algo como esto con el largo hash de contraseña incluido:

$ sudo grep skunk /etc/shadow
skunk:$6$qeZmt/yXbkk$PVwHoUY5X/qv9cDK6KNkDCADd87i4h3bHeyfLFNsvQYdmhzZL8rVRTKB9vLT872Dh21K0/KVBUccZ6Vkg34NK/:18935:0:99999:7:::

Si usa echo  para canalizar un nombre de usuario y contraseña al comando chpasswd , es probable que el comando se registre en su historial de comandos, lo que no es una buena idea. Puede evitar esto desactivando la captura del comando de historial de sus comandos brevemente usando este comando:

$ set +o history

Después de ejecutar los comandos chpasswd que no desea que se registren, puede revertir esa elección de esta manera y volver a la configuración normal del historial de comandos:

$ set -o history

Si está cambiando las contraseñas de usuario, deben considerarse temporales y también debe configurar las cuentas para que caduquen, por lo que los usuarios deben restablecerlas en su próximo inicio de sesión. Si está cambiando las contraseñas de las cuentas de servicio, debe ser suficiente asegurarse de que las contraseñas no se puedan recuperar del sistema, como se indica a continuación.

$ sudo passwd -e skunk
Expiring password for user skunk.
passwd: Success

Ajustar el historial en Linux puede ayudar a ajustar lo que recuerda el comando history .