ldapmodify(1) on Solnix vs Linux and the BSDs

On Solnix, ldapmodify and ldapadd are the illumos tools at /usr/bin/ldapmodify, and ldapadd is a hard link to ldapmodify. Many single-letter flags differ from the NetBSD page, which is the only counterpart in the bundle: -P, -V, -H, -W, -e, -E and -M all mean different things, and Solnix has no -x or -y.

What Solnix runs

A default Solnix system runs the illumos ldapmodify at /usr/bin/ldapmodify, published in pkgs.solnix.illumos-world-man. No other variants are shipped. The bundle contains a counterpart page only for NetBSD. It has no Linux, FreeBSD or OpenBSD page, so this note makes no claims about those systems. The Solnix page text in the bundle is trimmed after -w, so options after it (including -Y, -Z and -q) are not described here.

Differences

Compared withTopicWhat differs
NetBSD-P meaningSolnix -P takes the path of the client's certificate database. NetBSD -P {2|3} selects the LDAP protocol version. A NetBSD-style -P 3 fails or misbehaves on Solnix.
Source: Solnix ldapmodify(1) -P path; NetBSD ldapmodify(1) -P {2|3}
NetBSD-V meaningSolnix -V version sets the LDAP protocol version, 2 or 3, with 3 as the default. NetBSD -V[V] prints version information, and -VV prints only that.
Source: Solnix ldapmodify(1) -V version; NetBSD ldapmodify(1) -V[V]
NetBSD-H meaningSolnix -H prints the usage help, the same as -?. NetBSD -H ldapuri takes one or more server URIs. A script that passes a URI with -H does not connect on Solnix.
Source: Solnix ldapmodify(1) -H, -?; NetBSD ldapmodify(1) -H ldapuri
NetBSDhost and port selectionSolnix documents only -h ldaphost and -p ldapport, with no URI option. NetBSD marks -h and -p as deprecated in favour of -H. The Solnix page describes -p as the port of the 'secure' LDAP server.
Source: Solnix ldapmodify(1) -h, -p; NetBSD ldapmodify(1) -h, -p, -H
NetBSDpassword optionsSolnix -W password is the password for the client's key database given with -P. NetBSD -W takes no argument and prompts for the simple-bind password. Solnix reads a password from a file with -j filename. NetBSD uses -y passwdfile, and Solnix has no -y.
Source: Solnix ldapmodify(1) -W, -j; NetBSD ldapmodify(1) -W, -y
NetBSDsimple vs SASL authenticationNetBSD has -x to select simple authentication instead of SASL. The Solnix page has no -x. SASL settings go through -o attributename=value (secProp, realm, authzid, authid, mech) rather than separate flags.
Source: NetBSD ldapmodify(1) -x; Solnix ldapmodify(1) -o attributename=value
NetBSD-o and SASL flagsNetBSD -o sets general options (nettimeout, ldif-wrap), and SASL uses -O, -U, -R, -X, -Y, -I, -Q and -N. On Solnix -o carries SASL settings, -O is a referral hop limit, and -N is a certificate name.
Source: Solnix ldapmodify(1) -o, -O hopLimit, -N certificate; NetBSD ldapmodify(1) -o, -O, -U, -R, -X, -Y, -I, -Q, -N
NetBSD-e and -S: error file vs extensionsSolnix -e errorFile copies invalid update statements to a file. NetBSD -e [!]ext specifies a general extension, and -S file writes skipped records plus the server's error message. Solnix has no -S.
Source: Solnix ldapmodify(1) -e errorFile; NetBSD ldapmodify(1) -e, -S file
NetBSD-E meaningSolnix -E asks the server to report the bind identity through an authentication response control. NetBSD -E [!]ext[=extparam] specifies modify extensions, such as txn.
Source: Solnix ldapmodify(1) -E; NetBSD ldapmodify(1) -E [!]ext[=extparam]
NetBSD-M and criticalitySolnix -M manages smart referrals, and criticality is set through -J [:criticality...]. NetBSD -M[M] enables the manage DSA IT control, with -MM making it critical, and has no -J.
Source: Solnix ldapmodify(1) -M, -J; NetBSD ldapmodify(1) -M[M]
NetBSDSolnix-only optionsSolnix adds -b (binary file references), -B baseDN (bulk import under a suffix), -F (force replica: lines), -l (number of connections), -r, -i locale and -k path. The NetBSD page documents none of these.
Source: Solnix ldapmodify(1) -b, -B, -F, -l, -r, -i, -k; NetBSD ldapmodify(1) OPTIONS
NetBSD-d debug levelsSolnix lists debug masks: 1 trace, 2 packets, 4 arguments, 32 filters, 128 access control, which are added together. NetBSD says -d has no effect unless ldapmodify was compiled with LDAP_DEBUG and lists no levels.
Source: Solnix ldapmodify(1) -d debuglevel; NetBSD ldapmodify(1) -d debuglevel

Standards

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

Writing portable scripts

  • Do not rely on short flags other than -a, -c, -n, -v, -f, -D, -w, -h and -p. They match in the Solnix and NetBSD pages. -H, -P, -V, -W, -e, -E, -M, -o, -O and -N differ.
  • Avoid -w passwd on either system. Both pages treat it as a command-line password, and the Solnix page warns that it is visible through ps. Use -j on Solnix and -y on NetBSD, selected by 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.