pwconv(8) on Solnix vs Linux and the BSDs

On Solnix, pwconv is the illumos command (/usr/bin/pwconv and /usr/sbin/pwconv) that builds or updates /etc/shadow from /etc/passwd. It takes no options and has no sibling commands in the page, unlike Linux shadow-utils, where pwconv takes -h and -R and is documented together with pwunconv, grpconv and grpunconv. The BSD systems have no counterpart page in the bundle.

What Solnix runs

A default Solnix system runs the illumos pwconv, found at both /usr/bin/pwconv and /usr/sbin/pwconv. No other variants are shipped. The page is published by pkgs.solnix.illumos-world-man. Only a Linux counterpart page is in the bundle. It has no FreeBSD, OpenBSD or NetBSD counterpart, so the manuals here say nothing about those systems.

Differences

Compared withTopicWhat differs
LinuxoptionsSolnix pwconv has the synopsis 'pwconv' and takes no options. Linux pwconv takes [options]: -h/--help and -R/--root CHROOT_DIR, which applies changes under a chroot directory and uses that directory's configuration files.
Source: Solnix pwconv(8) SYNOPSIS; Linux pwconv(8) SYNOPSIS, OPTIONS -h, -R
Linuxcompanion commandsThe Linux page also covers pwunconv, grpconv and grpunconv, which convert back to plain files and handle group/gshadow. The Solnix page documents only pwconv, with no reverse conversion and no group-file equivalent.
Source: Linux pwconv(8) NAME, DESCRIPTION; Solnix pwconv(8) NAME, SEE ALSO
Linuxhow existing entries are syncedSolnix adds entries missing from shadow, removes entries not in passwd, and moves password attributes from a passwd entry into the matching shadow entry. Linux removes stale entries, updates entries whose passwd password is not 'x', adds missing entries, then replaces passwords in passwd with 'x'. The Solnix page does not say it rewrites passwd.
Source: Solnix pwconv(8) DESCRIPTION; Linux pwconv(8) DESCRIPTION
Linuxaging defaults for new entriesLinux pwconv takes PASS_MIN_DAYS, PASS_MAX_DAYS and PASS_WARN_AGE from /etc/login.defs when it adds entries. The Solnix page names no such file. It says only that aging information is copied if present in /etc/passwd, and otherwise none is added. The last-changed field is always updated.
Source: Linux pwconv(8) DESCRIPTION; Solnix pwconv(8) DESCRIPTION
Linuxlocking and USE_TCBLinux pwconv acquires the necessary locks before conversion and does not work with USE_TCB enabled. The Solnix page says nothing about locking or tcb.
Source: Linux pwconv(8) DESCRIPTION; Solnix pwconv(8) DESCRIPTION
Linuxprivilege and warningsThe Solnix page says only the super-user can run pwconv. The Linux page does not state that restriction. It warns instead that errors in passwd or group may make the programs loop forever or fail, and advises running pwck and grpck first. The Solnix page has no such warning.
Source: Solnix pwconv(8) DESCRIPTION (last paragraph); Linux pwconv(8) BUGS
FreeBSD, OpenBSD, NetBSDno counterpart pageThe bundle has no FreeBSD, OpenBSD or NetBSD page for pwconv, so the manuals here do not say whether those systems have an equivalent.
Source: Bundle header: only a linux COUNTERPART is listed

Standards

  • POSIX: pwconv is not a POSIX.1-2024 utility.

Writing portable scripts

  • Do not assume pwconv exists or takes -R on every system. Check that the command is present, and on Solnix call it with no arguments as root.
  • Do not rely on pwunconv, grpconv or grpunconv being documented on Solnix; the Solnix page covers only pwconv.

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.