rpcbind(8) on Solnix vs Linux and the BSDs
On Solnix, rpcbind is the illumos daemon at /usr/sbin/rpcbind, managed by SMF as svc:/network/rpc/bind. Its configuration lives in SMF properties, not command-line flags: it has only -d, -w and -l, while FreeBSD and NetBSD have many more options such as -h, -i and -s.
The manual pages
- Solnix: rpcbind(8) from
pkgs.solnix.illumos-world-man· illumos.org - FreeBSD: rpcbind(8) 15.1-RELEASE
- NetBSD: rpcbind(8) 11.0
What Solnix runs
A default Solnix system runs the illumos rpcbind at /usr/sbin/rpcbind. No other variants are shipped. Enable, disable and restart it with svcadm(8) and change its properties with svccfg(8).
Differences
| Compared with | Topic | What differs |
|---|---|---|
| FreeBSD, NetBSD | service management | On Solnix, rpcbind runs as the SMF service svc:/network/rpc/bind, controlled with svcadm(8) and svccfg(8). The FreeBSD and NetBSD pages describe no service framework and document rpcbind only as a command run directly. Source: Solnix rpcbind(8) DESCRIPTION (svc:/network/rpc/bind); FreeBSD rpcbind(8) DESCRIPTION; NetBSD rpcbind(8) DESCRIPTION |
| FreeBSD, NetBSD | remote access default | Solnix controls remote access with the SMF property config/local_only, which defaults to true and disallows remote access. The FreeBSD and NetBSD pages describe no such property. They restrict only SET and UNSET to the loopback interface unless -i is given.Source: Solnix rpcbind(8) DESCRIPTION (config/local_only); FreeBSD rpcbind(8) -i; NetBSD rpcbind(8) -i |
| FreeBSD, NetBSD | binding addresses (-h) | Solnix has no -h bindip option and the page does not describe binding to specific addresses. FreeBSD and NetBSD -h can be repeated to choose the IP addresses for TCP and UDP, which they say is typically necessary on a multi-homed host.Source: Solnix rpcbind(8) SYNOPSIS; FreeBSD rpcbind(8) -h; NetBSD rpcbind(8) -h |
| FreeBSD, NetBSD | TCP wrappers | On Solnix, TCP wrappers are enabled with the SMF property enable_tcpwrappers (default false), and verbose_logging controls what is logged. On FreeBSD and NetBSD, -W enables libwrap and -l turns on its connection logging.Source: Solnix rpcbind(8) enable_tcpwrappers, verbose_logging; FreeBSD rpcbind(8) -W, -l; NetBSD rpcbind(8) -W, -l |
| FreeBSD, NetBSD | -l meaning | Solnix -l listen_backlog takes an argument and overrides the config/listen_backlog property (default 64). On FreeBSD and NetBSD, -l takes no argument and turns on libwrap connection logging.Source: Solnix rpcbind(8) -l, listen_backlog; FreeBSD rpcbind(8) -l; NetBSD rpcbind(8) -l |
| FreeBSD, NetBSD | warm-start file location | With -w, Solnix writes registrations to /var/run/daemon/portmap.file and /var/run/daemon/rpcbind.file, on SIGINT or SIGTERM. FreeBSD and NetBSD store them in /tmp/portmap.file and /tmp/rpcbind.file, and say warmstart support must be compiled in.Source: Solnix rpcbind(8) -w; FreeBSD rpcbind(8) -w; NetBSD rpcbind(8) -w |
| FreeBSD, NetBSD | -a, -s, -i, -L, -6 missing | Solnix has none of -a (abort on errors in debug mode), -s (drop to user daemon), -i (allow SET/UNSET from any host), -L (old-style loopback connections) or -6 (IPv6 only). In Solnix, -d itself aborts on certain errors.Source: Solnix rpcbind(8) SYNOPSIS, -d; FreeBSD rpcbind(8) -a, -s, -i, -L, -6; NetBSD rpcbind(8) -a, -s, -i, -L, -6 |
| FreeBSD | foreground, PID file, -I | FreeBSD has -N (run in the foreground), -P (alternative PID file, default /var/run/rpcbind.pid) and -I (do not bind to localhost when -h is given). Solnix has none of these. Only -d keeps it from forking.Source: FreeBSD rpcbind(8) -N, -P, -I; Solnix rpcbind(8) -d |
| FreeBSD, NetBSD | indirect calls and threads | Solnix has SMF properties allow_indirect (default true) and max_threads (default 72). Setting max_threads below 9 effectively disables indirect calls. The FreeBSD and NetBSD pages document no equivalents. Source: Solnix rpcbind(8) allow_indirect, max_threads; FreeBSD rpcbind(8) OPTIONS; NetBSD rpcbind(8) OPTIONS |
| FreeBSD, NetBSD | restart consequences | FreeBSD and NetBSD say all RPC servers must be restarted if rpcbind is restarted. Solnix says this happens if rpcbind crashes or is killed with SIGKILL, or is started without -w after a graceful termination. A warm start avoids it.Source: Solnix rpcbind(8) NOTES; FreeBSD rpcbind(8) NOTES; NetBSD rpcbind(8) NOTES |
| NetBSD | access control files | NetBSD documents access control through /etc/hosts.allow and /etc/hosts.deny with daemon name rpcbind. The Solnix page points to hosts_access(5) and enable_tcpwrappers but names no files.Source: NetBSD rpcbind(8) DESCRIPTION; Solnix rpcbind(8) enable_tcpwrappers, SEE ALSO |
Standards
- POSIX: rpcbind is not a POSIX.1-2024 utility.
- Solnix: ATTRIBUTES: Interface Stability is given as "See below". The page says TCP wrappers is External.
Writing portable scripts
- Do not rely on rpcbind command-line flags in cross-platform scripts. Solnix configures it through SMF properties and svcadm, while the BSDs use flags such as
-h,-iand-s. - Do not hard-code warm-start file paths: Solnix uses
/var/run/daemon/, FreeBSD and NetBSD use /tmp/.
Every difference here is taken from the manual pages linked above: Solnix's published page, Linux (man-pages and the GNU and util-linux manuals), FreeBSD, OpenBSD and NetBSD. Each row names its source. Where a manual is silent, this page is too. Compiled 2026-10-26. Found a mistake? Mail hackers@lists.solnix.io.