| #!/usr/bin/env bash |
| set -ex |
| set -o pipefail |
| |
| systemd-analyze log-level debug |
| systemd-analyze log-target console |
| |
| # Set everything up without DynamicUser=1 |
| |
| systemd-run --wait -p DynamicUser=0 -p StateDirectory=zzz touch /var/lib/zzz/test |
| systemd-run --wait -p DynamicUser=0 -p StateDirectory=zzz test -f /var/lib/zzz/test |
| ! systemd-run --wait -p DynamicUser=0 -p StateDirectory=zzz test -f /var/lib/zzz/test-missing |
| |
| test -d /var/lib/zzz |
| ! test -L /var/lib/zzz |
| ! test -e /var/lib/private/zzz |
| test -f /var/lib/zzz/test |
| ! test -f /var/lib/zzz/test-missing |
| |
| # Convert to DynamicUser=1 |
| |
| systemd-run --wait -p DynamicUser=1 -p StateDirectory=zzz test -f /var/lib/zzz/test |
| ! systemd-run --wait -p DynamicUser=1 -p StateDirectory=zzz test -f /var/lib/zzz/test-missing |
| |
| test -L /var/lib/zzz |
| test -d /var/lib/private/zzz |
| |
| test -f /var/lib/zzz/test |
| ! test -f /var/lib/zzz/test-missing |
| |
| # Convert back |
| |
| systemd-run --wait -p DynamicUser=0 -p StateDirectory=zzz test -f /var/lib/zzz/test |
| ! systemd-run --wait -p DynamicUser=0 -p StateDirectory=zzz test -f /var/lib/zzz/test-missing |
| |
| test -d /var/lib/zzz |
| ! test -L /var/lib/zzz |
| ! test -e /var/lib/private/zzz |
| test -f /var/lib/zzz/test |
| ! test -f /var/lib/zzz/test-missing |
| |
| systemd-analyze log-level info |
| |
| echo OK > /testok |
| |
| exit 0 |