#!/bin/sh -eu ERRCNT="" # Known good post-debootstrap values passwd_bootstrap="5e8366ef9c178b62079468966f38ce5f" shadow_bootstrap="1c562aa2ed2f443b9151953e800eca16" group_bootstrap="11709d548918f428231ce5801f6da521" gshadow_bootstrap="52170f98470bb898b27f7403b96aae91" # Current post-debootstrap values passwd_hash=$(set -- $(md5sum /etc/passwd) && echo $1) shadow_hash=$(set -- $(cat /etc/shadow | sed "s/:.*:0:99999:/:0:99999:/g" | md5sum) && echo $1) group_hash=$(set -- $(md5sum /etc/group) && echo $1) gshadow_hash=$(set -- $(md5sum /etc/gshadow) && echo $1) # /etc/passwd if [ "$passwd_bootstrap" = "$passwd_hash" ]; then cat > /etc/passwd <&2 echo "The output below might help to resolve the issue" >&2 cat /etc/passwd echo "passwd md5sum: $passwd_hash" >&2 ERRCNT=1 fi # /etc/shadow if [ "$shadow_bootstrap" = "$shadow_hash" ]; then cat > /etc/shadow <&2 echo "The output below might help to resolve the issue" >&2 cat /etc/shadow echo "shadow md5sum: $shadow_hash" >&2 ERRCNT=1 fi # /etc/group if [ "$group_bootstrap" = "$group_hash" ]; then cat > /etc/group <&2 echo "The output below might help to resolve the issue" >&2 cat /etc/group echo "group md5sum: $group_hash" >&2 ERRCNT=1 fi # /etc/gshadow if [ "$gshadow_bootstrap" = "$gshadow_hash" ]; then cat > /etc/gshadow <&2 echo "The output below might help to resolve the issue" >&2 cat /etc/gshadow echo "gshadow md5sum: $gshadow_hash" >&2 ERRCNT=1 fi if [ -n "$ERRCNT" ]; then echo "There were changes to the password database," >&2 echo "please adjust the values in the livecd-rootfs source in the file:" >&2 echo "live-build/ubuntu-core/hooks/00-uid-gid-fix.chroot_early" >&2 echo >&2 echo "Please check also if a maintainer script of the package" >&2 echo "that added these entries perhaps created a home directory and," >&2 echo "if needed, add code for creation of it to the above hook" >&2 exit 1 fi # Create some missing directories mkdir -p /var/lib/lightdm chown lightdm:lightdm /var/lib/lightdm chmod 750 /var/lib/lightdm mkdir -p /var/lib/usermetrics chown usermetrics:usermetrics /var/lib/usermetrics chmod 750 /var/lib/usermetrics # Record the current state for later comparison for file in /etc/passwd /etc/shadow /etc/group /etc/gshadow; do rm -f ${file}- cp ${file} ${file}.orig done