Nutzerdatenbank laden
Für das Laden der Nutzerdatenbank (users.toml) kann folgendes Script genutzt werden. Es prüft zunächst, ob die Konfiguration von bffh valid ist. Wenn nicht, wird nichts unternommen. Im Anschluss werden die Nutzer neu geladen und gleichzeitig wieder exportiert, um etwaige unverschüsselte Passwörter automatisch zu hashen.
Hinweis: Das Script basiert auf einem auf dem System aktiven systemd Service namens bffh.service
mkdir -p /opt/fabinfra/scripts/
vim /opt/fabinfra/scripts/bffh-load-users.sh
#/!bin/bash
#check config
BASE="/opt/fabinfra/bffh/target/release"
DATA="/opt/fabinfra/bffh-data"
CFG="$DATA/config/bffh.dhall"
$BASE/bffhd --check --config $CFG > /dev/null
if [ $? == 0 ]; then
#pre-check bffh.dhall
echo "Config is valid. Loading users ..."
$BASE/bffhd --verbose --config $CFG --load=$DATA/config/users.toml
if [ $? == 0 ]; then
#then load users.toml
$BASE/bffhd --verbose --config $CFG --dump-users /tmp/users.toml --force
else
echo "Error: Newly given users.toml is invalid!"
exit 1
fi
#if this was successful and service is running, restart it, elso do nothing
if [ $? == 0 ]; then
cat /tmp/users.toml
FAS="bffh.service"
STATUS="$(systemctl is-active $FAS)"
if [ "${STATUS}" = "active" ]; then
echo "restarting $FAS"
systemctl restart $FAS
else
echo -e "\n\n$FAS not active/existing. Not restarting bffh service!"
fi
fi
else
echo "Error: Currently loaded users.toml is invalid!"
exit 1
fi
chmod +x /opt/fabinfra/scripts/bffh-load-users.sh