DOVEADM-WHO(1)

πŸ’– DOVEADM-WHO(1) β€” the doveadm-who page, bestie edition πŸ’–

Dovecot manual · the "who's online rn" command ✨


🌸 NAME 🌸

doveadm-who β€” show who is logged into the Dovecot server πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

doveadm [GLOBAL OPTIONS] who [-1] [-f passdb_field] [-a
anvil_socket_path] [user_mask] [ip [/ bits]]

✨ DESCRIPTION ✨

okay so the who command is literally the vibe check for your server: it shows which users, from which hosts, are currently connected to which service. that's it. that's the whole thing. iconic.


πŸ‘‘ GLOBAL OPTIONS πŸ‘‘

Global doveadm(1) options:

  • -D β€” turns on verbosity AND debug messages. it's giving "tell me everything" πŸ”
  • -O β€” do not read ANY config file, just use defaults. the dovecot_storage_version setting defaults to the latest version, but you can override it with -o. no cap.
  • -k β€” preserve the entire environment for doveadm, not just the import_environment setting. keep the whole vibe, not a snippet 🫢
  • -v β€” enables verbosity, including a progress counter. numbers go brrr ⭐
  • -i instance-name β€” if you're running multiple Dovecot instances, pick the config file based on this instance name. see the instance_name setting for more info πŸ’œ
  • -c config-file β€” read config from the given config-file. by default it first reads the config socket, and then falls back to /etc/dovecot/dovecot.conf. you can also point this at the config socket of some instance running a compatible version πŸ‘€
  • -o setting=value β€” overrides the config setting from /etc/dovecot/dovecot.conf and from the userdb with the given value. to override multiple settings, you can specify -o multiple times. stack 'em πŸ“š
  • -f formatter β€” picks the formatter for formatting the output. supported formatters are:
    • flow β€” prints each line with key=value pairs.
    • json β€” prints a JSON array of JSON objects.
    • pager β€” prints each key: value pair on its own line and separates records with form feed character (^L).
    • tab β€” prints a table header followed by tab separated value lines.
    • table β€” prints a table header followed by adjusted value lines.

this command uses by default the output formatter table. periodt.


πŸ’… OPTIONS πŸ’…

  • -1 β€” print one line per user and connection. otherwise the connections are grouped by the username. (yes, grouping is the default; -1 is the un-group girlie πŸ™ˆ)
  • -a anvil_socket_path β€” this option specifies an alternative socket. the option's argument is either an absolute path to a local UNIX domain socket, or a hostname and port (hostname:port), in order to connect a remote host via a TCP socket. by default doveadm(1) will use the socket /rundir/anvil. the socket may be located in another directory when the default base_dir setting was overridden in /etc/dovecot/dovecot.conf.
  • -f passdb_field β€” alternative username field to use for querying, as returned by passdb. only the passdb fields beginning with the user_ prefix are tracked. prefix-only, bestie, that's the rule πŸ”₯

πŸŽ€ ARGUMENTS πŸŽ€

  • ip [/ bits] β€” specify an ip address or network range, in CIDR notation, to reduce the result to matching connections.
  • user_mask β€” list only users whose login name matches the user_mask, or the alternative username (user_* field) if the -f parameter is used. it's also possible to use wildcards in the user name. wildcard girlies rise 🌈

🌟 EXAMPLE 🌟

Show authenticated sessions, filtered by the client's IP address:

  doveadm who ::1

  username                       # proto (pids)        (ips)
  jane                           2 imap  (30155 30412) (::1)

  $ doveadm who 192.0.2.0/24
  username                        # proto (pids)  (ips)
  john@example.com                1 imap  (30257) (192.0.2.34)

Show authenticated sessions, filtered by username:

  doveadm who pvo

  username         # proto (pids)                    (ips)
  pvo              1 sieve (30343)                   (fd95:4eed:38ba::25)
  pvo              4 imap  (25693 25686 25679 25669) (fd95:4eed:38ba::25)

  $ doveadm who ja\*
  username                    # proto (pids)        (ips)
  james                       1 imap  (30091)       (127.0.0.1)
  jane                        2 imap  (30155 30412) (::1)

😭 REPORTING BUGS 😭

found a bug? report it β€” including doveconf -n output β€” to the Dovecot Mailing List ⟨dovecot@dovecot.org⟩. info about reporting bugs lives at: ⟨https://dovecot.org/bugreport.html⟩

ngl bestie, always include that doveconf -n output, they WILL ask for it 🫢

πŸ”₯ SEE ALSO πŸ”₯


that's the whole page, you ate it πŸ’… this was f979264, April 2026, Dovecot, and I'm obsessed with you for reading the whole thing πŸŽ€βœ¨

πŸ“¦ where this page comes from