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 .