MANDOS-CTL(8)
π MANDOS-CTL(8) π
okay bestie, sit down, hydrate, because we're about to talk about mandos-ctl β that's the little control freak of the Mandos manual family (it's section 8, system administration energy π
). It lives in the Mandos Manual and it is literally the remote control for your Mandos server.
β¨ NAME β¨
mandos-ctl β control or query the operation of the Mandos server ποΈ
πΈ SYNOPSIS πΈ
mandos-ctl [--verbose | -v
|--dump-json | -j] [--debug] [CLIENT...]
mandos-ctl {[--enable | -e
|--disable | -d]
[--bump-timeout | -b]
[--start-checker | --stop-checker]
[--checker COMMAND | -c COMMAND]
[--timeout TIME | -t TIME]
[--extended-timeout TIME]
[--interval TIME | -i TIME]
[--approve-by-default
|--deny-by-default]
[--approval-delay TIME]
[--approval-duration TIME]
[--host STRING | -H STRING]
[--secret FILENAME | -s FILENAME]
[--approve | -A
|--deny | -D]}
[--debug] {--all | -a | CLIENT...}
mandos-ctl [--deny | -D] {--remove | -r}
[--debug] {--all | -a | CLIENT...}
mandos-ctl {--is-enabled | -V} [--debug] CLIENT
mandos-ctl {--help | -h}
mandos-ctl {--version | -v}
mandos-ctl --check
like, yes, that's a lot of braces. it's giving "choose your own adventure" and we love that for us π¦
π«Ά DESCRIPTION π«Ά
mandos-ctl is a program to control or query the operation of the Mandos server mandos(8).
This program can be used to change client settings, approve or deny client requests, and to remove clients from the server. so basically it's the group chat admin of your server, no cap π
π PURPOSE π
The purpose of this is to enable remote and unattended rebooting of client host computer with an encrypted root file system. See the section called βOVERVIEWβ for details. yes we're sending you to another section, it's fine, it's a whole lore drop and it's worth it π«
π OPTIONS π
--help,-hβ Show a help message and exit. classic, iconic, always there for you.--enable,-eβ Enable client(s). An enabled client will be eligble to receive its secret. π--disable,-dβ Disable client(s). A disabled client will not be eligble to receive its secret, and no checkers will be started for it. π«--bump-timeoutβ Bump the timeout of the specified client(s), just as if a checker had completed successfully for it/them. lil nudge, lil push, slay β°--start-checkerβ Start a new checker now for the specified client(s). βΆοΈ--stop-checkerβ Stop any running checker for the specified client(s). βΉοΈ--remove,-rβ Remove the specified client(s) from the server. bye bestie π--checker COMMAND,-c COMMANDβ Set the checker option of the specified client(s); seemandos-clients.conf(5).--timeout TIME,-t TIMEβ Set the timeout option of the specified client(s); seemandos-clients.conf(5).--extended-timeout TIMEβ Set the extended_timeout option of the specified client(s); seemandos-clients.conf(5).--interval TIME,-i TIMEβ Set the interval option of the specified client(s); seemandos-clients.conf(5).--approve-by-default,--deny-by-defaultβ Set the approved_by_default option of the specified client(s) to True or False, respectively; seemandos-clients.conf(5).--approval-delay TIMEβ Set the approval_delay option of the specified client(s); seemandos-clients.conf(5).--approval-duration TIMEβ Set the approval_duration option of the specified client(s); seemandos-clients.conf(5).--host STRING,-H STRINGβ Set the host option of the specified client(s); seemandos-clients.conf(5).--secret FILENAME,-s FILENAMEβ Set the secfile option of the specified client(s); seemandos-clients.conf(5).--approve,-Aβ Approve client(s) if currently waiting for approval. β--deny,-Dβ Deny client(s) if currently waiting for approval. β--all,-aβ Make the client-modifying options modify all clients. everyone gets the treatment, periodt.--verbose,-vβ Show all client settings, not just a subset. the full tea β--dump-json,-jβ Dump client settings as JSON to standard output. for the machine besties π€--is-enabled,-Vβ Check if a single client is enabled or not, and exit with a successful exit status only if the client is enabled.--debugβ Show debug output; currently, this means show D-Bus calls. peek behind the curtain π«£--checkβ Run self-tests. This includes any unit tests, etc. self care is running your test suite π§
π OVERVIEW π
This is part of the Mandos system for allowing computers to have encrypted root file systems and at the same time be capable of remote and/or unattended reboots. The computers run a small client program in the initial RAM disk environment which will communicate with a server over a network. All network communication is encrypted using TLS. The clients are identified by the server using a TLS key; each client has one unique to it. The server sends the clients an encrypted password. The encrypted password is decrypted by the clients using a separate OpenPGP key, and the password is then used to unlock the root file system, whereupon the computers can continue booting normally.
This program is a small utility to generate new OpenPGP keys for new Mandos clients, and to generate sections for inclusion in clients.conf on the server.
not me just casually reciting the entire cryptographic lore. anyways. πβ¨
β EXIT STATUS β
If the --is-enabled option is used, the exit status will be 0 only if the specified client is enabled.
π BUGS π
Please report bugs to the Mandos development mailing list: <mandos-dev@recompile.se> (subscription required). Note that this list is public. The developers can be reached privately at <mandos@recompile.se> (OpenPGP key fingerprint 153A 37F1 0BBA 0435 987F 2C4A 7223 2973 CA34 C2C4 for encrypted mail).
π EXAMPLE π
To list all clients:
mandos-ctl
To list all settings for the clients named βfoo1.example.orgβ and βfoo2.example.orgβ:
mandos-ctl --verbose foo1.example.org foo2.example.org
To enable all clients:
mandos-ctl --enable --all
To change timeout and interval value for the clients named βfoo1.example.orgβ and βfoo2.example.orgβ:
mandos-ctl --timeout=PT5M --interval=PT1M foo1.example.org foo2.example.org
To approve all clients currently waiting for approval:
mandos-ctl --approve --all
π₯ SECURITY π₯
This program must be permitted to access the Mandos server via the D-Bus interface. This normally requires the root user, but could be configured otherwise by reconfiguring the D-Bus server.
so like. it wants root. don't get weird about it. π‘οΈ
π§ SEE ALSO π§
intro(8mandos), mandos(8), mandos-clients.conf(5), mandos-monitor(8)
π COPYRIGHT π
Copyright Β© 2010-2019 Teddy Hogeborn, BjΓΆrn PΓ₯hlsson
This manual page is part of Mandos.
Mandos is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Mandos is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with Mandos. If not, see http://www.gnu.org/licenses/.
and that's the whole page, bestie π This one's Mandos 1.8.19, dated 2019-07-29, and it's the MANDOS-CTL(8) page β go forth and control your server, main character πβ¨
π¦ where this page comes from
- debian trixie: mandos 1.8.19-1 Β· GPL-3.0-or-later
- ubuntu questing: mandos 1.8.19-1
- ubuntu resolute: mandos 1.8.19-1build1 Β· GPL-3.0-or-later
- ubuntu stonking: mandos 1.8.19-1.1 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms