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.
The manual pages
- Solnix: rpc.yppasswdd(8) from
pkgs.solnix.illumos-world-man· illumos.org - FreeBSD: rpc.yppasswdd(8) 15.1-RELEASE
- NetBSD: rpc.yppasswdd(8) 11.0
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 with | Topic | What differs |
|---|---|---|
| FreeBSD, NetBSD | service model | Solnix 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 -d | Solnix -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 meaning | On 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 |
| FreeBSD | restricting field changes | Solnix 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 |
| FreeBSD | source files and map rebuild | Solnix 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 |
| FreeBSD | superuser updates | FreeBSD 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 |
| NetBSD | binary password databases | With -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, NetBSD | shadow and adjunct files | Solnix 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, NetBSD | NIS to LDAP (N2L) mode | On 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, NetBSD | restricted shell check | On 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) |
| FreeBSD | backward-compatible file arguments | Solnix 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 |
| FreeBSD | access control | FreeBSD 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,-dand-mmean different things on Solnix, NetBSD and FreeBSD, so pick options per OS. - Solnix and NetBSD both accept
-noshell,-nogecos,-nopwand-mmake-args, but verify the directory option (-Don Solnix,-don 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.