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 ficticiomortadelo
:$ 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 usuariomortadelo
:$ 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
yOtro
, es decir, un usuario normal solo podrá cambiar su propia información excepto los camposNombre completo
yOtro
.
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.
Deja una respuesta