Comando passwd en Linux con Ejemplos
Comando passwd en Linux con Ejemplos

Comando passwd en Linux con Ejemplos

El comando passwd (acortamiento del inglés password, contraseña) de Linux es una utilidad del sistema que se utiliza para establecer o cambiar la contraseña de una cuenta de usuario. Este comando usa una función de hashing para cifrar la nueva contraseña, y guardar solo la versión cifrada.

Las contraseñas distinguen entre mayúsculas y minúsculas, lo que significa que tanto los caracteres alfabéticos como los numéricos deben ser introducidos según la elección del usuario. El campo donde el usuario introduce la contraseña se llama campo de contraseña. El usuario root se reserva el privilegio de cambiar la contraseña de cualquier usuario del sistema, mientras que un usuario normal sólo puede cambiar la contraseña de su cuenta.

Funcionamiento de passwd

passwd generalmente funciona manipulando el archivo donde se guardan los usuarios y sus contraseñas (comúnmente /etc/passwd, o /etc/shadow si se usan contraseñas shadow), lo que significa que la contraseña cambiada aplica solo al computador en el cual se ejecutó el comando.

Si se está usando PAM, en cambio, como puede ser en GNU/Linux, Solaris, FreeBSD o NetBSD, la instrucción passwd se puede usar para cambiar la contraseña del mecanismo de autenticación que esté usándose en el momento, sea NIS, Kerberos, LDAP, o cualquier otro para el que haya un módulo de PAM.

El archivo passwd lo podemos encontrar tanto de manera gráfica como en la terminal de comandos, este se encuentra en la carpeta /etc:

Ubicación de archivo passwd
Ubicación de archivo passwd

Si abrimos el archivo anterior nos mostrará algo similar a la siguiente imagen:

Contenido del archivo passwd
Contenido del archivo passwd

Desde la terminal solo necesitamos escribir el siguiente comando:

cat /ect/passwd

Cada línea almacena el registro de cada cuenta y cada registro tiene siete campos estos siete campos están delimitados por columnas. Veremos cada uno de los campos.

Explicación de passwd
Campo Significado
usernameAlmacena el nombre de usuario del usuario. Se aconseja crear los nombres de usuario que se parezcan a los nombres reales de los usuarios. Ejemplo, si el nombre real de un usuario es Juan Juárez, su nombre de usuario podría ser juajarez. Esta práctica no es necesaria pero facilita el reconocimiento de los usuarios mediante sus nombres de usuario lo que resulta de gran importancia en los entornos empresariales; la longitud de los nombres no debe superar los ocho caracteres y debe ser escrito en minúsculas.
passwordAlmacena la contraseña de acceso del usuario. Cada una de las versiones de Linux almacena la contraseña de los usuarios de forma distinta. Las anteriores distribuciones de Linux almacenaban la contraseña del usuario en forma cifrada (ejemplo, x1dsdf3AQ), mientras qye las nuevas que emplean shadowing sólo almacena una reseña de la contraseña (x) y ocultan la contraseña cifrada en otra parte.
userIDAlmacena el número de identificación de usuario (UID) del usuario. Este número se adjunta a los procesos del usuario. Cuando se elije el UID de un usuario nuevo se puede asignar cualquier número único y arbitrario entre el 0 y el 65534 (no utilice el 0, ya que es root). Sin embargo, no es aconsejable que los UID sean demasiado arbitrarios. En su lugar, reserve un bloque de números específicamente para los usuarios y asígnelos secuencialmente. Por ejemplo, puede restringir los UID a números entre 500 y 700. El primer usuario es el 501, el segundo el 502 y así sucesivamente. De esta manera, con solo ver la lista de procesos informa que hay varios UID en el rango de 500-700 así sabrá qué usuarios poseen cada uno de los procesos.
groupIDAlmacena el número de identificación de grupo del usuario, que refleja el grupo nativo del usuario. Los usuarios pueden pertenecer o no a otros grupos, pero siempre pertenecen a su grupo nativo. Cada versión de Linux asigna este campo de forma distinta. La mayoría de las distribuciones colocan a todos los usuarios en el mismo grupo predeterminado (por ejemplo, users).
Real nameAlmacena el nombre real del usuario, entre otras cosas. Si no se define, Linux lo ajustará automáticamente. Este campo se utiliza principalmente para temas relacionados con los informes, como por ejemplo en respuesta a las consultas finger. Tenga en cuenta que en este campo se puede definir otra información, entre la que se incluye el número de teléfono de casa o del trabajo del usuario.
user homeAlmacena la ubicación del directorio de inicio del usuario. Si durante la instalación se ha creado una partición y un directorio especiales para los usuarios (que no sea /home), ése es el que hay que seleccionar. Sin embargo, hay que asegurarse de que todos los directorios de los usuarios se mantienen en la misma partición y bajo la misma jerarquía de directorios. A menos que exista una buena razón para no hacerlo, es muy aconsejable almacenar los directorios de los usuarios en /home.
user shellAlmacena la shel predeterminada del usuario. Ésta es la Shell en la que entra el usuario la primera vez que se conecta. Si se ha cargado toda la distribución de Linux, se puede elegir entre varias opciones: ash, csh, bash, ksh, tcsh, zsh, etc. Sin embargo, es recomendable restringir a todos los usuarios a una Shell común. Cuantas más debilidades tengan las shells que se proporcionen, más oportunidades tendrán los crackers de encontrar un agujero en alguna de ellas.

Ejemplos de comandos

La sintaxis es la siguiente:

 passwd [options] [username] 

Entonces, estos son algunos ejemplos:

Nota

sudo puede ser usado para invocar privilegios de root por usuarios normales, y puedes cambiar la contraseña del propio root. Esto es particularmente útil cuando un usuario es miembro del grupo admin (ocupa una posición en la lista de sudoers (/etc/sudoers) y puede usar comandos con sudo) y la contraseña de root no está establecida, que es el caso de algunas distribuciones de Linux.

Para esto, debemos ejecutar adduser seguido del nombre de usuario del nuevo usuario, esto requiere ser ejecutado como super usuario(root):

adduser Kali

Cuando ejecutamos el comando nos aparecerá una serie de campos a llenar:

  • Contraseña nueva
  • Nombre completo
  • Numero de habitación
  • Numero de trabajo
  • Numero de cada

También podemos agregar alguna otra opción de información si es que se requiere, cuando ya hayamos terminado de llenar todos los campos verificamos la información y si es correcta escribimos la letra S para guardar el nuevo usuario.

adduser para agregar nuevo usuario
adduser para agregar nuevo usuario

Ahora, comprobamos el usuario nuevo desde el archivo passwd:

Verificar usuario en passwd
Verificar usuario en passwd
  • ¿Cómo hacer que una cuenta no tenga contraseña?

El comando passwd también permite eliminar una contraseña asociada a una cuenta de usuario. Para ello, es necesario utilizar la opción de línea de comandos -d.

passwd -d
passwd -d unUsuario
  • Cómo se puede forzar la caducidad de una contraseña?

A veces el administrador del sistema puede querer que un usuario cambie su contraseña inmediatamente. En ese caso, puede utilizar la opción de línea de comandos -e que resulta en la expiración inmediata de la contraseña, obligando al usuario a cambiar su contraseña en el próximo inicio de sesión.

passwd -e
  • ¿Cómo desactivar una cuenta si la contraseña sigue caducada?

El comando passwd también te permite lidiar con situaciones en las que el usuario no realiza ninguna acción incluso después de que su contraseña haya expirado. Básicamente, la herramienta te permite desactivar la cuenta por completo en caso de que la contraseña permanezca caducada durante un número determinado de días. Esto se puede hacer utilizando la opción de línea de comandos -i, que requiere un número (días) como entrada.

passwd -i 5
  • ¿Cómo establecer un intervalo de tiempo entre los cambios de contraseña?

El comando passwd también permite establecer un intervalo de tiempo mínimo entre los cambios de contraseña. Esto es posible gracias a la opción de línea de comandos -n, que requiere un valor numérico que se trata como número de días.

passwd -n 10

Cabe mencionar que un valor de 0 indica que el usuario puede cambiar su contraseña en cualquier momento.

  • ¿Cómo hacer que passwd muestre la información del estado de la cuenta?

Esto se puede hacer usando la opción de línea de comando -S.

passwd -S
  • ¿Cómo mostrar información sobre el estado de las contraseñas de todas las cuentas?

Para mostrar la información del estado de las contraseñas de todas las cuentas, utiliza la opción -aS en el comando passwd. También te interesará saber: Cómo listar usuarios en Linux

passwd -Sa
  • ¿Cómo establecer el periodo de validez de la contraseña?

El comando passwd permite hacerlo a través de su opción -x, que requiere un número que representa el número máximo de días que una contraseña permanece válida.

passwd -x 50
  • ¿Cómo hacer que passwd avise a los usuarios sobre el cambio de contraseña que está por vencer?

Esto se puede hacer utilizando la opción de línea de comandos -w, que requiere un número como entrada, que no es más que el número de días antes de la expiración de la contraseña que un usuario será advertido de que su contraseña está a punto de expirar.

passwd -w 7
  • ¿Cómo bloquear la contraseña del usuario del sistema?

Utiliza la opción -l en el comando passwd para bloquear la contraseña de un usuario, añadirá “!” al comienzo de la contraseña del usuario. Un usuario no puede cambiar su contraseña cuando su contraseña está bloqueada.

 passwd -l usuariosesgeeks

  • ¿Cómo desbloquear la contraseña del usuario del sistema?
  • Lo contrario al comando anterior. Para desbloquear la contraseña del usuario utiliza la opción -u.

    passwd -u usuarioesgeeks
    • Ver todos los comandos de passwd

    Hay numerosos comandos para usar con la herramienta passwd. Lista todas las opciones disponibles ejecutando el comando de ayuda:

    passwd --help
    passwd -h
    Comando de ayuda para passwd
    Comando de ayuda para passwd

    Conclusión

    Así que puedes ver que passwd es una herramienta muy importante que deberías conocer independientemente del tipo de usuario que seas (novato o profesional). De hecho, si eres un novato puedes iniciar con los Comandos Básicos y Esenciales de Linux.

    Aquí, en este tutorial, hemos discutido varias características clave de passwd. Practica estas, y una vez que hayas terminado, dirígete a la página man de la herramienta para saber más sobre ella.

    sa

    Mi Carro Close (×)

    Tu carrito está vacío
    Ver tienda
    Más artículos
    LSHW ver información hardware en Linux
    LSHW (Hardware Lister): Ver información de hardware en Linux