aboutsummaryrefslogtreecommitdiffstats
path: root/lacme-accountd.1.md
diff options
context:
space:
mode:
authorGuilhem Moulin <guilhem@fripost.org>2021-02-18 21:07:01 +0100
committerGuilhem Moulin <guilhem@fripost.org>2021-02-20 22:13:41 +0100
commit0ef94d85e58497dcb2c4c954cadcac918032467a (patch)
tree9ff32832dc06f0c8b17ae19c9e9fbcd46e48d2ba /lacme-accountd.1.md
parent4a502836164821b9faa56d363c8fb116ce032321 (diff)
Add %-specifiers support.
lacme(8): for --config=, --socket=, --config-certs= (and ‘socket’/ ‘config-certs’/‘challenge-directory’ configuration options *before* privilege drop; and for the [accountd] section ‘command’/‘config’ configuration options *after* privilege drop). lacme-accountd(1): for --config=, --socket= and --privkey= (and ‘socket’/‘privkey’ configuration options). This also changes the default configuration file location. lacme(8) and lacme-accountd(1) now respectively use /etc/lacme/lacme.conf resp. /etc/lacme/lacme-accountd.conf when running as root, and $XDG_CONFIG_HOME/lacme/lacme.conf resp. $XDG_CONFIG_HOME/lacme/lacme-accountd.conf when running as a normal user. There is no fallback to /etc anymore.
Diffstat (limited to 'lacme-accountd.1.md')
-rw-r--r--lacme-accountd.1.md67
1 files changed, 53 insertions, 14 deletions
diff --git a/lacme-accountd.1.md b/lacme-accountd.1.md
index cd6352c..4c494f2 100644
--- a/lacme-accountd.1.md
+++ b/lacme-accountd.1.md
@@ -41,9 +41,12 @@ Options
`--config=`*filename*
-: Use *filename* as configuration file. `lacme-accountd` fails when
- `--config=` is used with a non-existent file, but a non-existent
- default location is treated as if it were an empty file.
+: Use *filename* as configuration file instead of
+ `%E/lacme/lacme-accountd.conf`. The value is subject to
+ [%-specifier expansion](#percent-specifiers). `lacme-accountd`
+ fails when `--config=` is used with a non-existent file, but a
+ non-existent default location is treated as if it were an empty
+ file.
See the **[configuration file](#configuration-file)** section below
for the configuration options.
@@ -57,6 +60,8 @@ Options
symmetrically encrypted)
* `gpg:`*FILE*, for a [`gpg`(1)]-encrypted private key
+ *FILE* is subject to [%-specifier expansion](#percent-specifiers).
+
The [`genpkey`(1ssl)] command can be used to generate a new private
(account) key:
@@ -67,9 +72,14 @@ Options
`--socket=`*path*
-: Use *path* as the UNIX-domain socket to bind against for signature
- requests from the [ACME] client. `lacme-accountd` aborts if *path*
- exists or if its parent directory is writable by other users.
+: Use *path* as the UNIX-domain socket to bind to for signature
+ requests from the [ACME] client. The value is subject to
+ [%-specifier expansion](#percent-specifiers). `lacme-accountd`
+ aborts if *path* exists or if its parent directory is writable by
+ other users.
+ Default: `%t/S.lacme` (omitting `--socket=` therefore yields an
+ error when `lacme-accountd` doesn't run as and the `XDG_RUNTIME_DIR`
+ environment variable is unset or empty).
`-h`, `--help`
@@ -86,12 +96,6 @@ Options
Configuration file
==================
-If `--config=` is not given, `lacme-accountd` uses the first existing
-configuration file among *$XDG_CONFIG_HOME/lacme/lacme-accountd.conf*
-(or *~/.config/lacme/lacme-accountd.conf* if the `XDG_CONFIG_HOME`
-environment variable is not set), and
-*@@sysconfdir@@/lacme/lacme-accountd.conf*.
-
When given on the command line, the `--privkey=`, `--socket=` and
`--quiet` options take precedence over their counterpart (without
leading `--`) in the configuration file. Valid settings are:
@@ -110,13 +114,48 @@ leading `--`) in the configuration file. Valid settings are:
*socket*
: See `--socket=`.
- Default: *$XDG_RUNTIME_DIR/S.lacme* if the `XDG_RUNTIME_DIR`
- environment variable is set.
*quiet*
: Be quiet. Possible values: `Yes`/`No`.
+%-specifiers {#percent-specifiers}
+============
+
+The value the `--config=`, `--privkey=` and `--socket=` CLI options (and
+*privkey* and *socket* configuration options) are subject to %-expansion
+for the following specifiers.
+
+---- ------------------------------------------------------------------
+`%C` `@@localstatedir@@/cache` for the root user, and `$XDG_CACHE_HOME`
+ for other users (or `$HOME/.cache` if the `XDG_CACHE_HOME`
+ environment variable is unset or empty).
+
+`%E` `@@sysconfdir@@` for the root user, and `$XDG_CONFIG_HOME` for
+ other users (or `$HOME/.config` if the `XDG_CONFIG_HOME`
+ environment variable is unset or empty).
+
+`%g` Current group name.
+
+`%G` Current group ID.
+
+`%h` Home directory of the current user.
+
+`%t` `@@runstatedir@@` for the root user, and `$XDG_RUNTIME_DIR` for
+ other users. Non-root users may only use `%t` when the
+ `XDG_RUNTIME_DIR` environment variable is set to a non-empty
+ value.
+
+`%T` `$TMPDIR`, or `/tmp` if the `TMPDIR` environment variable is unset
+ or empty.
+
+`%u` Current user name.
+
+`%U` Current user ID.
+
+`%%` A literal `%`.
+---- ------------------------------------------------------------------
+
Examples
========