vipw(1b) on Solnix vs Linux and the BSDs

On Solnix, vipw is the illumos BSD-compatibility command at /usr/ucb/vipw. It takes no options and edits only the password file. Linux vipw also edits group and shadow files (and has vigr), and FreeBSD and NetBSD have -d.

What Solnix runs

A default Solnix system runs the illumos vipw at /usr/ucb/vipw, published as section 1b (the BSD compatibility section). No other variants are shipped. The page is dated September 14, 1992.

Differences

Compared withTopicWhat differs
Linuxfiles and optionsSolnix vipw has no options and edits only the password file. Linux vipw edits /etc/passwd, and with -s edits /etc/shadow. Linux also ships vigr for /etc/group and /etc/gshadow, and has -g, -p, -q, -R and -u. The Solnix page documents none of these.
Source: Solnix vipw(1b) SYNOPSIS; Linux vipw(8) DESCRIPTION, OPTIONS -g, -p, -q, -R, -s, -u
FreeBSD, NetBSD-d directoryFreeBSD and NetBSD vipw accept -d directory to work on password files outside /etc. The Solnix synopsis is only /usr/ucb/vipw, with no option to change the directory.
Source: FreeBSD vipw(8) SYNOPSIS, DESCRIPTION; NetBSD vipw(8) OPTIONS -d; Solnix vipw(1b) SYNOPSIS
Linuxchroot optionLinux vipw -R CHROOT_DIR applies changes in another root directory. The Solnix page documents no equivalent.
Source: Linux vipw(8) -R, --root; Solnix vipw(1b) SYNOPSIS
Linuxeditor selection orderSolnix and Linux both try VISUAL, then EDITOR, then vi. Solnix words it as vi unless VISUAL or EDITOR names another editor, and does not state the order between the two.
Source: Solnix vipw(1b) DESCRIPTION; Linux vipw(8) DESCRIPTION, ENVIRONMENT
FreeBSD, OpenBSD, NetBSDeditor environment variableThe Solnix page names VISUAL and EDITOR. The FreeBSD, OpenBSD and NetBSD pages document only EDITOR. FreeBSD says EDITOR lets a script modify the file non-interactively.
Source: Solnix vipw(1b) DESCRIPTION; FreeBSD vipw(8) ENVIRONMENT; OpenBSD vipw(8) ENVIRONMENT; NetBSD vipw(8) ENVIRONMENT
FreeBSD, OpenBSD, NetBSDdatabase rebuild with pwd_mkdbOn the BSDs, vipw runs pwd_mkdb(8) in the background after validation. Until it finishes, the password file is locked against other updates and the new data is not visible to programs. The Solnix page describes no such step.
Source: FreeBSD vipw(8) DESCRIPTION; OpenBSD vipw(8) DESCRIPTION; NetBSD vipw(8) DESCRIPTION; Solnix vipw(1b) DESCRIPTION
FreeBSD, OpenBSD, NetBSDconsistency checks and rejectionSolnix vipw checks the root entry and the root login shell against /etc/shells. The BSD pages say they check the password entries in general and, if rejected, prompt the user to re-enter the edit session. The Solnix page does not describe re-entry.
Source: Solnix vipw(1b) DESCRIPTION; FreeBSD vipw(8) DESCRIPTION; OpenBSD vipw(8) DESCRIPTION; NetBSD vipw(8) DESCRIPTION
NetBSDstale lock fileNetBSD documents that a killed vipw session may leave /etc/ptmp, making later runs fail with "vipw: the passwd file is busy" until it is removed. The Solnix page says only that you are told to try again later.
Source: NetBSD vipw(8) OPTIONS section; Solnix vipw(1b) DESCRIPTION
FreeBSDnon-interactive editor scriptsFreeBSD documents that its modification check needs the password file's mtime to change, so an EDITOR script must run for at least a second. The Solnix page documents no such limit.
Source: FreeBSD vipw(8) BUGS; Solnix vipw(1b) DESCRIPTION
OpenBSDpassword cipherOpenBSD says the cipher used for password information depends on login.conf(5). The Solnix page says nothing about ciphers.
Source: OpenBSD vipw(8) DESCRIPTION; Solnix vipw(1b) DESCRIPTION

Standards

  • POSIX: vipw is not a POSIX.1-2024 utility.
  • Solnix: The manual page has no STANDARDS or ATTRIBUTES section.

Writing portable scripts

  • Call vipw with no options in scripts: only FreeBSD and NetBSD take -d, and only Linux takes -g, -s, -R and so on.
  • Set EDITOR, not just VISUAL, when driving vipw from a script. Every page in the bundle documents EDITOR.

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.