Files
latchd/scripts/test-pam-fixture.sh

28 lines
688 B
Bash
Executable File

#!/bin/sh
# Run ignored PAM fault-injection tests against a disposable service policy.
set -eu
if [ "$(id -u)" -ne 0 ]; then
echo "pam-fixture: SKIP (root is required to install a temporary PAM policy)"
exit 0
fi
service="latchd-fixture-$$"
policy="/etc/pam.d/$service"
cleanup() {
rm -f "$policy"
}
trap cleanup EXIT HUP INT TERM
umask 077
cat >"$policy" <<'PAM'
# Disposable deny policy used only by the ignored fixture tests.
auth required pam_deny.so
account required pam_permit.so
password required pam_deny.so
session required pam_permit.so
PAM
LATCHD_PAM_FIXTURE_SERVICE="$service" \
cargo test --locked -p latchd-auth --test pam_fixture -- --ignored