rpc.yppasswdd(8) on Solnix vs Linux and the BSDs

On Solnix, rpc.yppasswdd is the illumos NIS password-change daemon at /usr/lib/netsvc/yp/rpc.yppasswdd, started by SMF through ypstart(8). Its options resemble NetBSD's (-noshell, -nogecos, -nopw, -m make-args), but the directory option is -D, not -d. FreeBSD's version has a different option set, and its -m turns on multi-domain mode.

What Solnix runs

A default Solnix system runs the illumos rpc.yppasswdd. It is not in /usr/bin, /usr/sbin or /sbin; the full path is /usr/lib/netsvc/yp/rpc.yppasswdd. No other variants are shipped. The daemon is started on the master server of the passwd map by ypstart(8), which the service svc:/network/nis/server:default invokes at boot. Use svcadm(8) to enable, disable or restart it, and svcs(1) to query it.

Differences

Compared withTopicWhat differs
FreeBSD, NetBSDservice modelSolnix starts the daemon through SMF (svc:/network/nis/server:default, via ypstart(8)) and restarts it with svcadm(8). The FreeBSD and NetBSD pages describe no service mechanism in the text kept in the bundle.
Source: Solnix rpc.yppasswdd(8) DESCRIPTION and NOTES; FreeBSD rpc.yppasswdd(8) DESCRIPTION; NetBSD rpc.yppasswdd(8) DESCRIPTION
FreeBSD, NetBSD-D vs -dSolnix -D directory places the passwd, shadow and passwd.adjunct files under that directory. NetBSD uses lower-case -d directory to change the root directory of the password file from "/". FreeBSD -d sets the default NIS domain. Same letter, different meaning.
Source: Solnix rpc.yppasswdd(8) -D; NetBSD rpc.yppasswdd(8) -d; FreeBSD rpc.yppasswdd(8) -d
FreeBSD-m meaningOn Solnix, -m takes arguments that are passed to make(1S), which runs in /var/yp after a password file changes. On FreeBSD, -m takes no argument and turns on multi-domain mode. Both forms of -m differ from each other, so a command line is not portable.
Source: Solnix rpc.yppasswdd(8) -m; FreeBSD rpc.yppasswdd(8) -m
FreeBSDrestricting field changesSolnix uses -noshell, -nogecos and -nopw to block remote changes to the shell, GECOS and password fields. FreeBSD uses single-letter -s (shell) and -f (full name). The FreeBSD text kept in the bundle shows no option for blocking password changes.
Source: Solnix rpc.yppasswdd(8) DESCRIPTION; FreeBSD rpc.yppasswdd(8) -s, -f
FreeBSDsource files and map rebuildSolnix edits the passwd, shadow and security/passwd.adjunct files and rebuilds with make in /var/yp (when -m is given). FreeBSD edits a master.passwd template, /var/yp/master.passwd by default (-t), and runs /usr/libexec/yppwupdate to rebuild the maps.
Source: Solnix rpc.yppasswdd(8) DESCRIPTION; FreeBSD rpc.yppasswdd(8) DESCRIPTION, -t
FreeBSDsuperuser updatesFreeBSD lets the superuser on the NIS master change any field without the existing NIS password, and with -a add new entries. The Solnix page says entries change only if the password presented by yppasswd(1) matches the entry's encrypted password. It documents no superuser bypass.
Source: FreeBSD rpc.yppasswdd(8) DESCRIPTION, -a; Solnix rpc.yppasswdd(8) DESCRIPTION
NetBSDbinary password databasesWith -d, NetBSD requires pwd.db and spwd.db to exist, created once with pwd_mkdb -d directory directory/etc/master.passwd, or the password change fails. The Solnix page mentions no such databases. It describes plain passwd, shadow and passwd.adjunct files.
Source: NetBSD rpc.yppasswdd(8) -d; Solnix rpc.yppasswdd(8) DESCRIPTION
FreeBSD, NetBSDshadow and adjunct filesSolnix requires a shadow file unless -D names a directory other than /etc, and uses security/passwd.adjunct if present. A deviation in where the encrypted password sits makes updates fail. Adding or removing shadow or passwd.adjunct needs a daemon restart. Neither BSD page describes this.
Source: Solnix rpc.yppasswdd(8) DESCRIPTION; FreeBSD rpc.yppasswdd(8) DESCRIPTION; NetBSD rpc.yppasswdd(8) DESCRIPTION
FreeBSD, NetBSDNIS to LDAP (N2L) modeOn Solnix, if /var/yp/NISLDAPmapping exists, the daemon runs in N2L mode: changes go to the DIT, -D is meaningless, -m is unused, and yppush(8) replaces ypmake(8). The FreeBSD and NetBSD pages mention no LDAP mode.
Source: Solnix rpc.yppasswdd(8) DESCRIPTION (N2L); FreeBSD and NetBSD rpc.yppasswdd(8) DESCRIPTION
FreeBSD, NetBSDrestricted shell checkOn Solnix, setting check_restricted_shell_name=1 in /etc/default/yppasswdd makes the daemon treat shells whose names begin with 'r' as restricted, limiting a user's ability to change from them. It is off by default. The BSD pages document no such file.
Source: Solnix rpc.yppasswdd(8) DESCRIPTION, yppasswdd(5); FreeBSD and NetBSD rpc.yppasswdd(8)
FreeBSDbackward-compatible file argumentsSolnix has a second syntax taking passwordfile and adjunctfile paths. It cannot be combined with -D, is kept only for backward compatibility, and might be removed. FreeBSD uses -t and -p for file locations instead.
Source: Solnix rpc.yppasswdd(8) SYNOPSIS, NOTES; FreeBSD rpc.yppasswdd(8) -t, -p
FreeBSDaccess controlFreeBSD checks the client address against /var/yp/securenets, the same mechanism as ypserv(8). The Solnix page describes no client address check.
Source: FreeBSD rpc.yppasswdd(8) DESCRIPTION; Solnix rpc.yppasswdd(8) DESCRIPTION

Standards

  • POSIX: rpc.yppasswdd is not a POSIX.1-2024 utility.
  • Solnix: The kept page text states no interface stability level; SEE ALSO lists attributes(7), but the text in the bundle gives no ATTRIBUTES section.

Writing portable scripts

  • Do not share one rpc.yppasswdd command line across systems. -D, -d and -m mean different things on Solnix, NetBSD and FreeBSD, so pick options per OS.
  • Solnix and NetBSD both accept -noshell, -nogecos, -nopw and -m make-args, but verify the directory option (-D on Solnix, -d on NetBSD) per system.

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.