summaryrefslogtreecommitdiffstats
path: root/test/units/testsuite-54.sh
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xtest/units/testsuite-54.sh31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/units/testsuite-54.sh b/test/units/testsuite-54.sh
new file mode 100755
index 0000000..aabc56f
--- /dev/null
+++ b/test/units/testsuite-54.sh
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+set -ex
+
+systemd-analyze log-level debug
+
+# Verify that the creds are properly loaded and we can read them from the service's unpriv user
+systemd-run -p LoadCredential=passwd:/etc/passwd \
+ -p LoadCredential=shadow:/etc/shadow \
+ -p SetCredential=dog:wuff \
+ -p DynamicUser=1 \
+ --wait \
+ --pipe \
+ cat '${CREDENTIALS_DIRECTORY}/passwd' '${CREDENTIALS_DIRECTORY}/shadow' '${CREDENTIALS_DIRECTORY}/dog' > /tmp/ts54-concat
+( cat /etc/passwd /etc/shadow && echo -n wuff ) | cmp /tmp/ts54-concat
+rm /tmp/ts54-concat
+
+# Verify that the creds are immutable
+! systemd-run -p LoadCredential=passwd:/etc/passwd \
+ -p DynamicUser=1 \
+ --wait \
+ touch '${CREDENTIALS_DIRECTORY}/passwd'
+! systemd-run -p LoadCredential=passwd:/etc/passwd \
+ -p DynamicUser=1 \
+ --wait \
+ rm '${CREDENTIALS_DIRECTORY}/passwd'
+
+systemd-analyze log-level info
+
+echo OK > /testok
+
+exit 0