Lokale Passwörter ändern via Skripting

Dienstag, 02 November 2004
0.0/5 Bewertung (0 Stimmen)
Beschreibung

Wenn Sie ein grosses Mac-Netzwerk in einer sicheren Umgebung verwalten, ist es erforderlich, das Kennwort des Administrator-Accounts regelmässig zu wechseln. Dies in einer 10.3 Umgebung zu tun ist eine durchaus einfache Angelegenheit, aber für jene, die noch alte 10.2.x Maschinen einsetzen, kann es sehr frustrierend sein. Im Folgenden finden Sie ein expect Skript für den Einsatz mit 10.3 und ein bash Skript für die Verwendung auf 10.2.x Maschinen.

Zuerst das ”expect” Skript
Der Grund warum ich diesen Weg gewählt habe, obwohl passwd meine Bedürfnisse abdecken würde, ist, das ich ein Skript ohne Benutzer-Interaktion benutzen wollte, welches auf alle Maschinen gleichzeitig aufgespielt werden kann.
Erstellen Sie zuerst eine temporäre Textdatei mit dem Kennwort, das Sie verwenden möchten (es sollte nur von root lesbar sein und sofort gelöscht werden, nachdem das Skript ausgeführt wurde). Dies war notwendig, weil einige Zeichen einen Fehler wie ”tcsh: sudo: No match” produzieren, wenn Sie versuchen, das Kennwort einfach nach dem Befehl einzugeben. Um es auf der Client-Maschine auszuführen, tippen Sie folgendes ein:

sudo cpasswd.tcl `cat password_file`

Dies ist der Inhalt meines cpasswd.tcl Skripts. Beachten Sie, dass ich in der zweiten Zeile den Benutzernamen des Administrators eingesetzt habe. Ändern Sie dies auf den Kurznamen des Benutzers auf Ihrer Maschine.

#!/usr/bin/expect
spawn passwd admin
expect ”ssword:”
send [lindex $argv 0]r
expect ”ssword:”
send [lindex $argv 0]r
expect eof

Das ist alles für 10.3.x Maschinen, sehr einfach.
Die 10.2.x Maschinen benötigen etwas mehr Aufwand, da auf diesen weder expect noch tcl/tk standardmässig installiert ist. Das vollständige bash Skript können Sie im Anhang herunterladen (speichern Sie es unter dem Namen «10.2_passwd.sh» ab). Es gilt jedoch einige Dinge zu beachten, bevor man das Skript einfach laufen lässt. Sie müssen zuerst eine Maschine manuell ändern, um eine «gute» Referenz-Maschine zu haben. Beachten Sie den zweiten Kommentar im Skript und führen Sie das nidumpd wie beschrieben auf Ihrer Referenz-Maschine aus.
Dieses Skript sollte keine Kennwörter der eigenen Benutzer-Accounts auf der Maschine überschreiben, solange Sie die nidump Datei von einer Maschine erzeugen, das nur den einen lokalen Account hat, den Sie auf dem Rest Ihrer Maschinen ändern möchten. Nochmal, ich habe für dieses Skript admin als Account benutzt, ändern Sie es entsprechend Ihren Bedürfnissen. Und selbstverständlich sollten es gründlich auf seine Tauglichkeit getestet werden, bevor Sie es auf allen Maschinen einsetzen.

Spezifikationen

Hits

1473

© by macjaner.ch | Powered by GoeGG-ArT.ch