NFSCBD(8)

πŸ“¦ version 15.1, in freebsd 14.5, freebsd 15.1

πŸ’… NFSCBD(8) β€” the NFSv4 client side callback daemon, explained by your fave

okay so bestie, you found nfscbd β€” short for, literally, the NFSv4 client side callback daemon. Yes the name is a mouthful, no we're not changing it. Grab a strawberry drink πŸ“ and let's get into it.


✨ NAME ✨

nfscbd β€” NFSv4 client side callback daemon. That's the whole vibe. πŸ¦‹


🌸 SYNOPSIS 🌸

nfscbd [-p port_number] [-P client_principal]

Two flags, both optional, both cute. Look at her go ✨


πŸ’– DESCRIPTION πŸ’–

So here's the tea: nfscbd runs on a client that's using NFSv4, and its whole job is handling callback requests from the NFSv4 server. It's giving personal assistant energy β€” the server knocks, nfscbd answers. πŸŽ€

Now the important part, no cap: if no nfscbd is running, your NFSv4 mounts will still work. Like, they're fine. It's fine. BUT β€” and this is the plot twist β€” the server will never issue Open Delegations to the client. So you're living half a life, honestly. 😭

One callback server and one master server are always started. Always. Both of them. Non-negotiable. πŸ‘‘

The following options are available:

  • -p port_number β€” specifies what port# the callback server should use. You pick the port, she uses the port. Slay.
  • -P client_principal β€” specifies the host based principal name to be used as the target for callbacks over RPCSEC_GSS. For KerberosV, it must be in the client's default keytab file. This client_principal should be the same one specified by the gssname argument being used by nfsv4 mounts. And if you don't specify this argument? Callbacks will still work over AUTH_SYS, which is what many extant servers use even for RPCSEC_GSS mounts, as of 2009. So like… chill, it's handled. 🫢
Heads up bestie: that KerberosV keytab requirement is a must, not a maybe. Fr fr. πŸ™ˆ

For example, "nfscbd -p 7654 -P root" starts the daemon to handle callbacks on port# 7654 and is using the host based principal root@<client-host>.<dns-domain> as the callback target. Iconic little one-liner, honestly. ⭐

And how does she know where to listen? nfscbd listens for service requests at the port defined by NFSV4_CBPORT in /usr/include/fs/nfs/nfs.h β€” unless -p has been specified, in which case your flag wins, obviously. πŸ’…

For more information on what callbacks and Open Delegations actually do, see Network File System (NFS) Version 4 Protocol, RFC3530. Yes, RFC3530. Not 3531, not 3532. Write it down. πŸ“


πŸ”₯ EXIT STATUS πŸ”₯

The nfscbd utility exits 0 on success, and >0 if an error occurs.

Zero means we ate. Greater-than-zero means something's giving "call tech support." πŸ’€


🌈 SEE ALSO 🌈

Go read them, iykyk πŸ‘‘


πŸŽ€ HISTORY πŸŽ€

First introduced with the experimental nfs client for NFSv4 support in 2009. A true 2009 icon. The way that she's been serving callbacks since then… obsessed. πŸ¦‹βœ¨


mwah, that's the page πŸ’œ β€” brought to you by Debian, dated April 25, 2009, and typed up with love by your fave manpage bestie. now go run nfscbd and let her cook πŸ“πŸ‘‘

πŸ“¦ where this page comes from