echo "${entry[0]}:$encrypted:${entry[2]}:${entry[3]}:${entry[4]}:${entry[5]}:0:${entry[7]}:${entry[8]}:${entry[9]}"
}
+openbsd_change_shadow_entry() {
+ freebsd_change_shadow_entry "$@"
+}
+
+netbsd_change_shadow_entry() {
+ freebsd_change_shadow_entry "$@"
+}
+
windows_password() {
local target password
target="$1"
if [ "$SNF_IMAGE_PROPERTY_OSFAMILY" = "windows" ]; then
windows_password "$SNF_IMAGE_TARGET" "$SNF_IMAGE_PASSWORD"
-elif [ "$SNF_IMAGE_PROPERTY_OSFAMILY" = "linux" ]; then
- unix_password linux "$SNF_IMAGE_TARGET" "$SNF_IMAGE_PASSWORD"
-elif [ "$SNF_IMAGE_PROPERTY_OSFAMILY" = "freebsd" ]; then
- unix_password freebsd "$SNF_IMAGE_TARGET" "$SNF_IMAGE_PASSWORD"
+else
+ unix_password "$SNF_IMAGE_PROPERTY_OSFAMILY" "$SNF_IMAGE_TARGET" "$SNF_IMAGE_PASSWORD"
+fi
+# For FreeBSD, OpenBSD and NetBSD we need to recreate the password database too
+if [[ "$SNF_IMAGE_PROPERTY_OSFAMILY" == *bsd ]]; then
rm -f "$SNF_IMAGE_TARGET/etc/spwd.db"
# Make sure /etc/spwd.db is recreated on first boot