Zum Inhalt springen

Samba Password History für einen User löschen

Meine Suche bei Google hatte mal wieder keinen vernünftigen Treffer gelandet, das Problem – ich möchte die Kennwort History für einen Benutzer löschen.

Nach etwas Suchen und Probieren habe ich folgende Lösung gebaut (user_pw-clear-histroy.sh):

#!/bin/bash

if [ ! "$1" ]; then
	echo "Bitte Username angeben!"
	exit
fi

DN=$(samba-tool user show $1|head -1)
TEMPFILE=$(mktemp)

echo -e -n "$DN\nchangetype: modify\ndelete: ntPwdHistory\n" > $TEMPFILE
ldbmodify -H /var/lib/samba/private/sam.ldb.d/DC\=AD\,DC\=MYDOMAIN\,DC\=LOCAL.ldb $TEMPFILE

rm $TEMPFILE

echo "Password history cleared!"

Das Script geht ganz einfach her und übernimmt den übergebenen Benutzernamen, bastelt eine ldif Datei zum verändern der SAM-Datenbank des Samba-AD’s und spielt diese mit ldbmodify dort ein.

Anschließend verschwindet der Eintrag ntPwdHistory des Users aus der ldb Datei und schon kann der Benutzer ein bereits benutztes Kennwort erneut verwenden.

Ihr findet die passende ldb Datei für euer AD gewöhnlich im Verzeichnis /var/lib/samba/private/sam.ldb.d/ – diese muss im Script natürlich angepasst werden, es sei denn ihr verwendet AD.MYDOMAIN.LOCAL als AD Namen 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert