NUTCONF(8)

✨ NAME ✨

nutconf β€” the NUT configuration tool πŸŽ€

so like, it's the little tool that handles all your NUT config files, bestie. she does it all. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

nutconf --help

nutconf [OPTIONS]

πŸ’– DESCRIPTION πŸ’–

okay so <rainbow>nutconf</rainbow> is the tool you use to create and manipulate NUT configuration files. she's giving main character energy for your whole config setup. ✨

and that's not even all β€” she also supports device scanning, which is the part where she goes and peeks around and then suggests configuration for devices. so thoughtful of her honestly. 🫢


🧚 INSTALLATION 🧚

ngl this part matters: the scanning feature depends on the very same compile time and run time dependencies as the nut-scanner. literally the exact same ones. so if nut-scanner is happy, scanning in nutconf is happy too. πŸ¦‹


πŸ‘‘ OPTIONS πŸ‘‘

  • -h | -help | --help β€” displays the help text. your "hey what do I even do" button πŸ’–
  • -D β€” raises the debugging level. use this option multiple times for more details. it overrides the optional NUT_DEBUG_LEVEL environment variable. (so like, -D said "I got this" πŸ’…)
  • -v | --verbose β€” increases output verbosity (may be used multiple times). the more times you say it, the more she says back ✨
  • --is-configured β€” checks whether NUT was configured, before.
  • --system β€” the system configuration directory shall be used.
  • --local directory β€” sets an alternative configuration directory.
  • --get-mode β€” prints the current NUT configuration mode.
  • --set-mode mode β€” sets the NUT configuration mode.

the known modes are, bestie:

  • standalone
  • netserver
  • netclient
  • controlled
  • manual
  • none

🌈 CONFIGURATION ENTRY SET/ADD OPTIONS 🌈

okay so these ones mostly come in 2 forms: --set-... or --add-.... πŸŽ€

the difference, and this is the whole thing: the set options discard previous settings, while the add options keep them. so set = fresh start, add = build on top. got it? periodt. πŸ’…

also β€” note that such options may be specified multiple times for one run, which is how you enable setting multiple entries at once. so you can just keep stacking them. πŸ”₯

  • --set-monitor | --add-monitor <arguments> β€” sets/adds a NUT monitor.
    • Arguments:
'<ups_ID>' '<host>[:<port>]' '<power_value>' '<user>' '<passwd>' '(\"master\"|\"slave\")'
  • --set-listen | --add-listen <address> [<port>] β€” sets/adds the upsd(8) daemon listen address. πŸ‘‘
  • --set-device | --add-device <arguments> β€” sets/adds a device (typically a UPS).
    • Arguments:
'<ups_ID>' '<driver>' '<port>' '[<attribute>=<value>]*'

the attribute/value pairs follow the device configuration syntax. heads up tho: devices may have very different configuration attributes depending on the driver. an exhaustive description of them is beyond this man page and may be found in NUT documentation. (iykyk β€” go read the docs for the deep lore πŸ“š)

  • --set-notifyflags | --add-notifyflags <type> <flag>+ β€” sets/adds notification flags for the notification type.
    • the notification types are, and there's a LOT of them, stay with me:
      • ONLINE β€” mains is present
      • ONBATT β€” mains is gone
      • LOWBATT β€” remaining battery capacity is low
      • FSD β€” shutdown was forced
      • COMMOK β€” communication with device established
      • COMMBAD β€” lost communication with device
      • SHUTDOWN β€” system is going down, now
      • REPLBATT β€” UPS battery needs replacing
      • NOCOMM β€” device is unavailable
      • NOPARENT β€” upsmon parent process died, shutdown is impossible
      • CAL β€” calibration in progress
      • NOTCAL β€” calibration finished
      • OFF β€” UPS is administratively OFF or asleep, should wake up on command
      • NOTOFF β€” UPS is no longer administratively OFF or asleep
      • BYPASS β€” on bypass = powered, not protecting
      • NOTBYPASS β€” no longer on bypass
      • ALARM β€” UPS is in an alarm state (has active alarms)
      • NOTALARM β€” UPS is no longer in an alarm state (no active alarms)
      • OVER β€” overloaded
      • NOTOVER β€” no longer overloaded
      • TRIM β€” trimming incoming voltage
      • NOTTRIM β€” no longer trimming incoming voltage
      • BOOST β€” boosting incoming voltage
      • NOTBOOST β€” no longer boosting incoming voltage
      • OTHER β€” UPS has at least one unclassified status token
      • NOTOTHER β€” UPS has no unclassified status tokens anymore
      • SUSPEND_STARTING β€” OS is entering sleep/suspend/hibernate mode
      • SUSPEND_FINISHED β€” OS just finished sleep/suspend/hibernate mode
    • and the notification flags are:
      • SYSLOG β€” use syslogd to log the notification
      • WALL β€” push a message to users' terminals
      • EXEC β€” execute a command
      • IGNORE β€” don’t act
  • --set-notifymsg <type> <message> β€” sets the message for the specified notification type. πŸ“
  • --set-shutdowncmd <command> β€” sets the command used to shut the system down. πŸ’€
  • --set-user | --add-user <arguments> β€” sets/adds a NUT user.
    • Arguments:
      • <username> β€” specifies user name. for a upsmon user it has a special form of upsmon=(primary|master|secondary|slave), which specifies the monitoring mode. πŸ‘‘
      • password=<passwd> β€” sets the password for the user
      • actions=<actions> β€” sets actions (SET, FSD are supported)
      • instcmds=<command> β€” sets instant commands allowed for the user (may be used multiple times)

πŸ” SCANNING OPTIONS πŸ”

okay bestie, here's the tea: whether you actually get each of these scanning options depends on whether the right 3rd-party libraries showed up β€” both at compile time and at run time. so like, the vibe has to be right at both parties. 🫢

run the tool with the --help option to check which of the --scan-... options are actually supported. don't just assume, go check, it's giving "look before you leap" energy fr fr.

⏰ heads up: all timeouts are in microseconds. not seconds. not milliseconds. microseconds. iykyk.

  • --scan-snmp <start IP> <stop IP> [<attribute>=<value>]* β€” scans for SNMP devices on IP addresses from the specified range.

✨ known attributes are:

  • timeout β€” device scan timeout
  • community β€” SNMP community (default: public)
  • sec-level β€” security level (SNMPv3); one of noAuthNoPriv authNoPriv, authPriv
  • sec-name β€” security name (SNMPv3); mandatory companion of sec-level
  • auth-password β€” authentication password (SNMPv3); mandatory for authNoPriv and authPriv
  • priv-password β€” privacy password (SNMPv3); mandatory for authPriv
  • auth-protocol β€” authentication protocol (SNMPv3): MD5 or SHA, MD5 is the default
  • priv-protocol β€” priv. protocol (SNMPv3): DES or AES, DES is the default
  • peer-name β€” peer name
  • --scan-usb β€” scans the USB bus for known devices πŸ¦‹
  • --scan-xml-http [<timeout>] β€” scans for XML/HTTP devices on the network.
  • --scan-nut <start IP> <stop IP> <port> [<timeout>] β€” scans for NUT (pseudo-)devices on the network.
  • --scan-avahi [<timeout>] β€” scans for Avahi devices.
  • --scan-ipmi <start IP> <stop IP> [<attribute>=<value>]* β€” scans for IPMI devices on IP addresses from the specified range.

✨ known attributes are:

  • username β€” username (mandatory for IPMI/LAN)
  • password β€” user password (mandatory for IPMI/LAN)
  • auth-type β€” authentication type (see below)
  • cipher-suite-id β€” cipher suite ID (see below)
  • K-g-BMC-key β€” optional second key (???)
  • priv-level β€” priv. level
  • workaround-flags
  • version β€” (1.5 or 2.0)

πŸ” Authentication types

specifies the IPMI 1.5 authentication type to use (NONE, STRAIGHT_PASSWORD_KEY, MD2, and MD5) with the remote host (default=MD5). this forces connection through the lan IPMI interface, thus in IPMI 1.5 mode. periodt.

  • none β€” authentication is disabled
  • MD2
  • MD5 β€” (default)
  • plain-password β€” no ciphering used for password sending
  • OEM
  • RMCPplus

πŸŽ€ Cipher suite IDs

specifies the IPMI 2.0 cipher suite ID to use.

the Cipher Suite ID identifies a set of authentication, integrity, and confidentiality algorithms to use for IPMI 2.0 communication.

the authentication algorithm identifies the algorithm to use for session setup, the integrity algorithm identifies the algorithm to use for session packet signatures, and the confidentiality algorithm identifies the algorithm to use for payload encryption (default=3). literally three jobs in one little number, main character energy honestly.

the following cipher suite IDs are currently supported:

  • code 0 β€” Authentication: None, Integrity: None, Confidentiality: None
  • code 1 β€” Authentication: HMAC-SHA1, Integrity: None, Confidentiality: None
  • code 2 β€” Authentication: HMAC-SHA1, Integrity: HMAC-SHA1-96, Confidentiality: None
  • code 3 β€” Authentication: HMAC-SHA1, Integrity: HMAC-SHA1-96, Confidentiality: AES-CBC-128
  • code 6 β€” Authentication: HMAC-MD5, Integrity: None, Confidentiality: None
  • code 7 β€” Authentication: HMAC-MD5, Integrity: HMAC-MD5-128, Confidentiality: None
  • code 8 β€” Authentication: HMAC-MD5, Integrity: HMAC-MD5-128, Confidentiality: AES-CBC-128
  • code 11 β€” Authentication: HMAC-MD5, Integrity: MD5-128, Confidentiality: None
  • code 12 β€” Authentication: HMAC-MD5, Integrity: MD5-128, Confidentiality: AES-CBC-128
  • code 15 β€” Authentication: HMAC-SHA256, Integrity: None, Confidentiality: None
  • code 16 β€” Authentication: HMAC-SHA256, Integrity: HMAC_SHA256_128, Confidentiality: None
  • code 17 β€” Authentication: HMAC-SHA256, Integrity: HMAC_SHA256_128, Confidentiality: AES-CBC-128
  • --scan-serial <port>* β€” scans for serial devices (of supported types) on the specified serial port(s).

🌈 EXAMPLES 🌈

to set alternative directory for configuration files:

:; nutconf --local ~/test/nut/etc

to add another user (keeping the existing ones):

:; nutconf --add-user bart password=qwerty

to scan USB devices and serial devices (on the first two ports):

:; nutconf --scan-usb --scan-serial /dev/ttyS1 /dev/ttyS2

see? not scary. you got this, bestie. πŸ’…


πŸ‘€ SEE ALSO πŸ‘€

ups.conf(5) nut-scanner(8)


🌐 INTERNET RESOURCES 🌐

the NUT (Network UPS Tools) home page: http://www.networkupstools.org/


and that's a wrap, gorgeous ✨ this was Network UPS Tools 2.8.5, dated 10/07/2026, and yes the page is literally called NUTCONF(8) β€” go forth and configure, you absolute icon πŸ‘‘πŸ’–

πŸ“¦ where this page comes from