Password expired loop

Ich hatte ja bereits von dem kleinen DockStar berichtet, welcher nun mit Plugbox-Linux aufgerüstet im Regal sitzt. Da Standard-Passwörter bekanntlich nicht das gelbe vom Ei sind habe ich diese also geändert und auch gleich noch einige zusätzliche Benutzer angelegt. Bei der Anmeldung mit einem dieser Benutzer wurde ich anschließend dezent darauf hingewiesen, dass ich doch bitte mein Passwort ändern möge:

1
2
3
4
5
You are required to change your password immediately (root enforced)
Changing password for janedoe
(current) UNIX password:
Enter new password:
Enter it again:

Eigentlich 'ne sinnvolle Sache, allerdings nahm das gar kein Ende mehr. Und die Passwortänderei lief in einer Schleife. Glücklicherweise hatte ich noch eine Root-Shell offen um dem ganzen auf den Grund zu gehen.

Das Problem war relativ einfach zu lösen, aber hat mich dennoch einiges an Zeit gekostet:

Der DockStar verfügt leider über keinen integrierte Zeitgeber, eine sogenannte Hardware-Uhr, welche für das setzen der Systemzeit bei Systemstart zuständig ist. Das führte dazu, dass sich das System immer noch in den Anfangen der Unix-Zeitrechnung aufhielt, also am 1. Januar 1970. Die Systemzeit wird jedoch herangezogen um die Gültigkeit des Passwortes festzustellen, was aufgrund der konfusen Zeitangaben letztendlich in die Passwort-Schleife führte.

Die Lösung ist die Installation eines NTP-Klienten. Mit einem kurzen pacman -S openntpd und dem hinzufügen des NTP-Dienstes in die /etc/rc.conf ist die Sache also erledigt. Allerdings sollte man daran denken den Dienst so früh wie möglich zu starten, am Besten gleich nachdem die Kiste Verbindung zum Netz hat.