kdb-uidextract(8)
π kdb-uidextract β bestie edition
okay so this is kdb-uidextract(8), straight out of the Gromox admin reference, and honestly? it's a little helper script that does one job and does it cute. let me tell you everything β¨
β¨ NAME β¨
kdb-uidextract β the helper bestie for creating a gromox-kdb2mt ACL map π«Ά
β¨ SYNOPSIS β¨
python /usr/libexec/gromox/kdb-uidextract
that's it. that's the whole vibe check. no flags, no drama π
β¨ DESCRIPTION β¨
so kdb-uidextract is a Python script that uses the python-kopano bindings to read user object descriptions off a Kopano installation and spit out a user listing that's ready to be eaten by the gromox-kdb2mt --user-map option. it's giving "personal assistant who reads your contacts so you don't have to" π
this script is meant to be run on a live Kopano system, and it doesn't rely on Gromox components at all. zero Gromox energy required, we love that for it πΈ
first thing it does? it queries the server on the current machine for all the participating Kopano servers in the cluster. and for that to work, all the Kopano servers need to accept TLS connections β that's /etc/kopano/server.cfg:server_ssl_port, server_ssl_key_file, sslkeys_path β and they need authentication keys set up for the SYSTEM account (in the directory specified by sslkeys_path). no keys, no party π
the resulting map for kdb2mt gets printed to stdout. periodt π
β¨ OPTIONS β¨
this program offers no command-line options. literally none. it's an icon of minimalism, it ate and left no crumbs π
β¨ FILES β¨
by way of the kopano Python module, /etc/kopano/admin.cfg is sourced for TLS certificate parameters. so go confer with the kopano-admin.cfg(5) manpage if you need the deets, iykyk π¦
β¨ FORMAT β¨
the output is a JSON file containing an array of user objects. each user object is a dictionary with zero or more attributes β yes, zero, it's allowed to be mysterious π β and these can be:
"na"β username (this can have many forms, including, but not limited to,"user","user@domain","domain_user","domain\user"; see the"loginname_format"line of/etc/kopano/server.cfg)"sv"β server GUID, represented as 16 ASCII characters, case-insensitive"st"β store GUID, represented as 16 ASCII characters, case-insensitive"id"β per-database(!) numeric user ID"em"β e-mail address associated with the Kopano account"to"β e-mail address thatgromox-kdb2mt(8)should map the Kopano user to
null values and empty strings are allowed. take note that in multi-server Kopano installations, every LDAP user will appear in all the kopano-server databases, and with generally different user IDs. so yeah, expect duplicates, it's not a glitch, it's a feature π
[
{"em": "boss@example.domain", "na": "boss", "sv":
"0123456789abcdef0123456789abcdef", "st": "0123456789abcdef0123456789abcdef",
"to": "boss@domain.example", "id": 3},
{"em": "boss@domain.example", "na": "boss", "sv":
"123456789abcdef0123456789abcdef0", "st": "0123456789abcdef0123456789abcdef",
"to": "boss@domain.example", "id": 91}
]
look at that little guy. two entries, same human, different sv and id. iconic π
β¨ SEE ALSO β¨
gromox(7), gromox-kdb2mt(8), kdb-uidextract-limited(8) β go read those too, they're all in the family π₯
ngl the whole time you're running this you're on a live Kopano system, so be nice to it, bestie π
and that's the page, fr fr π this was kdb-uidextract(8) from Gromox (the Gromox admin reference, bestie π«). mwah, go extract some users π
β¨
π¦ where this page comes from
- alpine 3.24: grommunio-gromox-doc 3.6-r0 Β· AGPL-3.0-or-later
- π the page's license: CC-BY-SA-4.0 or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms