Files
Alte_Skripte/Untitled 2.sh
2026-02-16 15:05:15 +01:00

61 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
##########################################################################
# Script : Change PW for Admin Account
# Autor : Andreas Vogel
# Copyright : NEXTEnterprise gmbh, 2021
##########################################################################
set -x
############################################# Variablen #########################################################################
decode () {
echo "$1" | base64 -d ; echo
}
USER=${4}
PASS_AKTIV=$(decode ${5})
PASS_NEW=$(decode ${6})
############################################# Funktion #########################################################################
change_pw () {
expect <<EOF
spawn passwd $USER
expect "Old Password:"
send $PASS_AKTIV\r
expect "New Password:"
send $PASS_NEW\r
expect "Retype New Password:"
send $PASS_NEW\r
expect
EOF
}
check_change()
{
verify="$(dscl /Local/Default -authonly $USER $PASS_NEW)"
if [ "$verify" == "" ]
then
echo "Passwort wurde erfolgreich geändert"
else
echo "Error: Passwort für $USER konnte nicht geändert werden."
exit 1
fi
}
############################################# Ausführung #############################################################################
if [[ $(dscl /Local/Default -authonly $USER $PASS_NEW 2> /dev/null) == "" ]]
then
echo "Das Passwort entspricht bereits dem aktuellen Passwort - das Script wird beendet."
exit 0
else
change_pw
fi
check_change