signstar-configure-build(1)

NAME
signstar-configure-build - A command-line interface for Signstar image build configuration

SYNOPSIS
signstar-configure-build [-c|--config] [-v|--version] [-h|--help]

DESCRIPTION
A command-line interface for Signstar image build configuration

NOTE: This command must be run as root!

This executable is meant to be used to configure relevant system users of a Signstar system during build.

It creates system users and their integration based on a central configuration file.

By default, one of the following configuration files is used if it exists, in the following order:

- "/usr/local/share/signstar/config.toml"

- "/run/signstar/config.toml"

- "/etc/signstar/config.toml"

If none of the above are found, the default location "/usr/share/signstar/config.toml" is used. Alternatively a custom configuration file location can be specified using the "--config"/ "-c" option.

System users, if they don't exist already, are created with the help of `useradd`. The users are created without a passphrase and setup with a home below "/var/lib/signstar/home/". However, their home directory is not created automatically. The system user accounts are then unlocked with the help of `usermod`. For each system user a tmpfiles.d integration is provided below "/usr/lib/tmpfiles.d", to allow automatic creation of their home directory.

If the used configuration file associates the system user with SSH public keys, a dedicated "authorized_keys" file containing the SSH public keys for the user is created below "/etc/ssh/". Additionally, an "sshd_config" drop-in configuration is created below "/etc/ssh/sshd_config.d/". This "sshd_config" drop-in configuration enforces the use of the user's "authorized_keys" and the use of a specific command (i.e. one of ["signstar-download-backup", "signstar-download-key-certificate", "signstar-download-metrics", "signstar-download-secret-share", "signstar-download-wireguard", "signstar-sign", "signstar-upload-backup", "signstar-upload-secret-share", "signstar-upload-update"]) depending on the user's role.

OPTIONS

-c, --config <CONFIG>
    The path to a custom configuration file If specified, the custom configuration file is used instead of the default configuration file location. If unspecified, one of the following configuration files is used if it exists, in the following order: - "/usr/local/share/signstar/config.toml" - "/run/signstar/config.toml" - "/etc/signstar/config.toml" If none of the above are found, the default location "/usr/share/signstar/config.toml" is used.
    May also be specified with the SIGNSTAR_CONFIG environment variable.

-v, --version
    Return the name and version of the application

-h, --help
    Print help (see a summary with '-h')