Direkt zum Hauptinhalt

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 fabaccess-bffh.service

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

	#then load users.toml
	$BASE/bffhd --verbose --config $CFG --dump-users /tmp/users.toml --force

	#if this was successful and service is running, restart it, elso do nothing
	if [ $? == 0 ]; then
		cat /tmp/users.toml
		FAS="fabaccess-bffh.service"
		STATUS="$(systemctl is-active $FAS)"
		if [ "${STATUS}" = "active" ]; then
			echo "restarting $FAS"
			systemctl restart $FAS
		fi
	fi

else
	echo "Error: config is invalid!"
	exit 1
fi
chmod +x /opt/fabinfra/scripts/bffh-load-users.sh