CHFN(1)

🌸 CHFN(1) β€” the user-commands girlies' guide to changing your finger info 🌸

okay bestie, welcome to CHFN(1), from the User Commands section of your friendly neighbourhood manual set. This is the little tool that lets you rewrite how the world sees you (at least, how finger sees you). Let's get into it πŸ’…

✨ NAME ✨

chfn β€” change your finger information 🫢

✨ SYNOPSIS ✨

chfn [-f full-name] [-o office] [-p office-phone] [-h home-phone] [-u]
[-V] [username|UID]

✨ DESCRIPTION ✨

So chfn is literally the glow-up tool for your finger info πŸ’–. This info lives in /etc/passwd, and the finger program is the one that shows it off. On Linux, the finger command displays four pieces of info that chfn is allowed to touch:

  • your real name
  • your work room
  • your work phone
  • your home phone

You can set any of those four right on the command line, no problem. But if you give it no information at all on the command line? Then chfn drops into interactive mode πŸŽ€.

In interactive mode, chfn prompts you for each field, one by one. At any prompt you've got options, bestie:

  • type the new info and you're set ✨
  • just press return and that field stays exactly as it was, untouched
  • type the keyword none and that field becomes blank (bye πŸ‘‹)

Also, important: chfn can handle non-local entries (think kerberos, LDAP, etc.) if it's linked with libuser. If it's not, then for non-local entries you gotta use ypchfn(1), lchfn(1), or literally any other implementation. iykyk πŸ¦‹

✨ OPTIONS ✨

  • -f, --full-name full-name β€” set your real name πŸŽ€
  • -o, --office office β€” set your office room number 🏒
  • -p, --office-phone office-phone β€” set your office phone number ☎️
  • -h, --home-phone home-phone β€” set your home phone number 🏠
  • -u, --help β€” show the help text and bounce ✌️
  • -V, --version β€” show the version and bounce ✌️ (and ngl, the short option -V is only a thing since version 2.39 β€” older versions used the now-deprecated -v, so don't come at me with your ancient setup πŸ’€)

✨ CONFIG FILE ITEMS ✨

chfn reads the /etc/login.defs config file (peep login.defs(5) for the deets). Heads up though β€” that config file could totally be shipped by a different package (like shadow-utils), so don't be confused if it's not where you expect πŸ™ˆ. Here's what actually matters to chfn:

CHFN_RESTRICT string

This one tells you which fields chfn is even allowed to change πŸ”’.

  • The boolean setting "yes" means only the Office, Office Phone and Home Phone fields are changeable.
  • The boolean setting "no" means the Full Name is changeable too.

You can also spell out the changeable fields with these abbreviations, bestie:

  • f β€” Full Name
  • r β€” Office (room)
  • w β€” Office (work) Phone
  • h β€” Home Phone

For example (and this is the moment πŸ‘‘), CHFN_RESTRICT "wh" lets you change the work and home phone numbers.

Lowkey important: if CHFN_RESTRICT is undefined, then all finger information is read-only. And that's the default. So if nothing works, that's why 😭

✨ EXIT STATUS ✨

  • 0 β€” the operation slayed, i.e. it was successful βœ…
  • 1 β€” the operation failed, or the command syntax wasn't valid πŸ’€

✨ AUTHORS ✨

Salvatore Valente <svalente@mit.edu>, Christian Goeschel Ndjomouo <cgoesc2@wgu.edu> 🫢

✨ SEE ALSO ✨

chsh(1), finger(1), login.defs(5), passwd(5) 🌈

✨ REPORTING BUGS ✨

Found a bug? fr fr go use the issue tracker: <https://github.com/util-linux/util-linux/issues> πŸ›

✨ AVAILABILITY ✨

The chfn command is part of the util-linux package, which you can download from the Linux Kernel Archive: <https://www.kernel.org/pub/linux/utils/util-linux/> ⭐


okay that's the whole page bestie, you're officially a chfn expert πŸ’œ mwah πŸ’‹

✨ this has been util-linux version 2.42.4, dated 2026-09-21 β€” CHFN(1), signing off πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from
  • arch rolling: util-linux 2.42.4-1 Β· BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND ISC AND LGPL-2.1-or-later AND LicenseRef-PublicDomain
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms