Administración de usuarios y grupos en Linux

Cómo cambiar información de un usuario en Linux con chfn

 
 

En este artículo veremos como cambiar información de un usuario en Linux desde la interfaz de línea de comandos (CLI), utilizando el comando chfn.

Introducción
El comando chfn cambia la información del nombre completo del usuario, el número de habitación, el número de teléfono de la oficina y el número de teléfono de la casa de la cuenta de un usuario. Esta información generalmente se visualiza con el programa finger y programas similares. La información modificada se guarda en el archivo /etc/passwd.

Con el comando chfn, un usuario normal solo puede cambiar los campos de su propia cuenta, sujeto a las restricciones establecidas en el archivo /etc/login.defs. El usuario root puede cambiar cualquier campo de cualquier cuenta de usuario. Además, solo el root puede usar la opción -o (o también --other) para cambiar las partes no definidas del campo GECOS.

Ninguno de estos campos deben contener dos puntos (:). A excepción del campo other, no deben contener coma (,) ni signo igual (=). También se recomienda evitar los caracteres que no sean ASCII de EE.UU., pero esto solo se aplica a los números de teléfono. El campo other se utiliza para almacenar información contable utilizada por otras aplicaciones.

El comando chfn trabaja de dos modos, uno mediante parámetros y otro de forma interactiva con el usuario que lo ejecuta.
 
Opciones del comando chfn
Las opciones aplicables al comando chfn son las siguientes:

  • -f, – -full-name FULL_NAME: Cambia el nombre completo del usuario.
  • -h, – -home-phone HOME_PHONE : Cambia el número de teléfono de la casa del usuario.
  • -o, – -other OTHER : Cambia la información del campo other (GECOS) del usuario. Este campo se utiliza para almacenar información contable utilizada por otras aplicaciones y solo puede cambiarlo un superusuario (root).
  • -r, – -room ROOM_NUMBER : Cambia el número de habitación del usuario.
  • -R, – -root CHROOT_DIR : Aplica los cambios en el directorio CHROOT_DIR y utiliza los archivos de configuración del directorio CHROOT_DIR.
  • -u, – -help : Muestra la ayuda y termina.
  • -w, – -work-phone WORK_PHONE : Cambia el número de teléfono de la oficina del usuario.

 
Ejemplos

  • Cambiar el nombre completo del usuario
    Este es uno de los dos campos que solo el usuario root puede cambiar. En el siguiente ejemplo cambiaremos el nombre completo del usuario ficticio mortadelo:

    $ sudo chfn -f "Mortadelo Agente Secreto" mortadelo
  • Cambiar el número de habitación del usuario
    $ sudo chfn -r "13" mortadelo
  • Cambiar el número de teléfono del trabajo del usuario
    $ sudo chfn -w "555-123456" mortadelo
  • Cambiar el número de teléfono de la casa del usuario
    $ sudo chfn -h "555-789123" mortadelo
  • Cambiar la información del campo other
    Este es otro de los dos campos que solo el usuario root puede cambiar. Como hemos dicho antes, es utilizado por otras aplicaciones. En nuestro ejemplo, lo utilizaremos para guardar una dirección de correo del usuario mortadelo:

    $ sudo chfn -o "mortadelo@latia.es" mortadelo
  • Todo en una sola orden
    $ sudo chfn -f "Mortadelo Agente Secreto" -r "13" -w "555-123456" -h "555-789123" -o "mortadelo@latia.es" mortadelo

 
Ejecutar chfn en modo interactivo
Si ejecutamos chfn sin opciones seguido del nombre de cuenta de un usuario, chfn empezará a trabajar de forma interactiva. Solicitará los valores para todos los campos.

Si queremos cambiar un valor, se ingresa dicho valor, pero si dejamos el campo en blanco, se usará el valor actual de dicho campo que vendrá mostrado entre un par de corchetes []. Veamos un ejemplo:

$ sudo chfn mortadelo
Cambiando la información de usuario para mortadelo
Introduzca el nuevo valor, o pulse INTRO para usar el valor predeterminado
        Nombre completo [Mortadelo Agente Secreto]:      
        Número de habitación [13]: 
        Teléfono del trabajo [555-123456]: 
        Teléfono de casa [555-789123]: 
        Otro [mortadelo@latia.es]:

En este ejemplo, no hemos cambiado nada, hemos dejado los valores actuales de todos los campos mostrados entre un par de corchetes [].

Nota: En modo interactivo, solo el usuario root puede cambiar los campos Nombre completo y Otro, es decir, un usuario normal solo podrá cambiar su propia información excepto los campos Nombre completo y Otro.

 
Visualizar la información del usuario con el comando finger
El comando finger muestra el nombre de acceso del usuario, el nombre real, el nombre del terminal y el estado de escritura (como un * después del nombre de terminal si el permiso de escritura está denegado), el tiempo de inactividad, la hora de acceso, la localización de la oficina (número de habitación) y el teléfono de la oficina.

Si no tenéis instalado el comando finger en Zeppelinux hemos publicado el artículo El comando finger en Linux que explica para que sirve y los métodos de instalación para los gestores de paquetes más utilizados.

Ahora veamos la información de nuestro usuario ficticio mortadelo con el comando finger:

$ finger mortadelo
Login: mortadelo                        Name: Mortadelo Agente Secreto
Directory: /home/mortadelo              Shell: /bin/bash
Office: 13, 555-123456                  Home Phone: 555-789123
Never logged in.
No mail.
No Plan.

 

Espero que este artículo os haya sido de utilidad. Si pensáis que podéis colaborar para mejorar este artículo, que hay algo erróneo en él o simplemente deseáis comentarlo, por favor, dejad vuestra opinión más abajo.
  Configuración de privacidad y de cookies.
Seguir J. Carlos:

Técnico Informático - Desarrollo Web - Administración de Redes

Técnico Informático. Desarrollo Web. Administración de redes.

Últimas publicaciones de

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.