diff options
| author | Philip J Freeman <elektron@halo.nu> | 2026-04-29 01:00:36 -0700 |
|---|---|---|
| committer | Philip J Freeman <elektron@halo.nu> | 2026-04-29 01:35:40 -0700 |
| commit | 0d9ee702cb93b84c9ff0862eec73316c69cbbf37 (patch) | |
| tree | 47906fa334200d4f4e38981561c16c06a2a6b57e /hooks | |
| parent | 87b5bf1ba92019acfada9d354d49b824578c83d4 (diff) | |
preseed user/group id databases
Diffstat (limited to 'hooks')
| -rwxr-xr-x | hooks/build-os-post/10-test-preseed-ips | 16 | ||||
| -rwxr-xr-x | hooks/build-os/05-preseed-ids | 7 | ||||
| -rwxr-xr-x | hooks/build-os/70-system-config | 3 |
3 files changed, 23 insertions, 3 deletions
diff --git a/hooks/build-os-post/10-test-preseed-ips b/hooks/build-os-post/10-test-preseed-ips new file mode 100755 index 0000000..8973f7d --- /dev/null +++ b/hooks/build-os-post/10-test-preseed-ips @@ -0,0 +1,16 @@ +#!/bin/bash -xe +set -o pipefail + +# test preseed uid / gids: +DBS_CHANGED=0 +for f in group gshadow passwd shadow; do + echo "Checking $f" + if ! diff -Naur files/"$f" "${root:?}"/etc/"$f"; then + DBS_CHANGED="$(( $DBS_CHANGED + 1 ))" + fi +done + +if [ "$DBS_CHANGED" -gt 0 ]; then + echo "Error: user and/or group databases changed" 1>&2 + exit 1 +fi diff --git a/hooks/build-os/05-preseed-ids b/hooks/build-os/05-preseed-ids new file mode 100755 index 0000000..c472849 --- /dev/null +++ b/hooks/build-os/05-preseed-ids @@ -0,0 +1,7 @@ +#!/bin/bash -xe +set -o pipefail + +# preseed uid / gids: +for f in group gshadow passwd shadow; do + cat files/"$f" > "${root:?}"/etc/"$f" +done diff --git a/hooks/build-os/70-system-config b/hooks/build-os/70-system-config index 38b6f68..ca17bd3 100755 --- a/hooks/build-os/70-system-config +++ b/hooks/build-os/70-system-config @@ -1,9 +1,6 @@ #!/bin/bash -xe set -o pipefail -## Set a root password -echo "root:reznor" | chroot "${root:?}" chpasswd - ## add a default regular user with systemd-homed on firstboot mkdir -p "${root:?}"/usr/lib/credstore cat > "${root:?}"/usr/lib/credstore/home.create.trent << EOF |
