smbpasswd — Ändert das SMB-Passwort eines Benutzers.
smbpasswd [-a] [-x] [-d] [-e] [-D Debugebene] [-n] [-r <entfernter Rechner>] [-R <Namensauflösungsreihenfolge>] [-m] [-U Benutzername[%Passwort]] [-h] [-s] [-w Passwort] [-i] [-L] [Benutzername]
Dieses Werkzeug ist Teil der Samba(7)-Suite.
Das Programm smbpasswd hat mehrere verschiedene Aufgaben, je nachdem ob es vom Benutzer root ausgeführt wird oder nicht. Einem normalen Benutzer erlaubt es, das Passwort seiner SMB-Sitzungen auf allen Rechnern zu ändern, die SMB-Passwörter speichern.
Standardmäßig (ohne Angabe von Argumenten) versucht es, das aktuelle SMB-Passwort des Benutzers auf dem lokalen Rechner zu ändern. Auf eine ähnliche Weise funktioniert das Programm passwd(1). Aber smbpasswd unterscheidet sich von passwd darin, dass es nicht setuid root ist, sondern in einem Client-Server-Modus läuft und mit einem lokal laufenden smbd(8) kommuniziert. Damit das funktionieren kann muss als Konsequenz der smbd-Daemon auf dem lokalen Rechner laufen. Auf einem UNIX-Rechner werden die verschlüsselten SMB-Passwörter normalerweise in der Datei smbpasswd(5) gespeichert.
Wenn es von einem gewöhnlichen Benutzer ohne Optionen ausgeführt wird, fragt smbpasswd ihn nach seinem alten SMB-Passwort und dann fragt es zwei mal nach seinem neuen Passwort, um sicherzugehen, dass das neue Passwort korrekt eingegeben wird. Während der Eingabe sind die Passwörter auf dem Bildschirm nicht sichtbar. Sollten Sie ein leeres SMB-Passwort haben (angegeben durch den String "NO PASSWORD" in der Datei smbpasswd), so drücken Sie einfach die Eingabetaste, wenn Sie nach Ihrem alten Passwort gefragt werden.
Normale Benutzer können mit smbpasswd auch ihr SMB-Passwort auf entfernten Rechnern ändern, z.B. auf Windows NT-Primären Domänen-Controllern. Siehe die Optionen -r und -U unten.
Unter root ausgeführt, kann smbpasswd auch neue Benutzer zur smbpasswd-Datei hinzufügen oder von dort löschen, und es kann dann Änderungen an den Attributen eines Benutzers in dieser Datei vornehmen. Unter root greift smbpasswd direkt auf die Datei smbpasswd zu, so dass auch dann Änderungen vorgenommen werden können, wenn smbd gar nicht läuft.
Diese Option gibt an, dass der folgende Benutzername zur lokalen Datei smbpasswd hinzugefügt werden soll, mit dem eingegebenen neuen Passwort (drücken Sie die Eingabetaste für das alte Passwort). Diese Option wird ignoriert, falls der folgende Benutzername in der smbpasswd-Datei bereits existiert und sie wird dann wie ein normaler Befehl zum Ändern eines Passworts behandelt. Beachten Sie, dass die standardmäßigen passdb-Backends verlangen, dass der Benutzer in der Passwortdatei des Systems bereits vorhanden ist (normalerweise /etc/passwd), sonst schlägt die Anfrage, den Benutzer hinzuzufügen, fehl.
Diese Option ist nur dann vorhanden, wenn smbpasswd unter root ausgeführt wird.
Diese Option gibt an, dass der folgende Benutzername aus der lokalen smbpasswd-Datei gelöscht werden soll.
Diese Option ist nur dann vorhanden, wenn smbpasswd unter root ausgeführt wird.
Diese Option gibt an, dass der folgende Benutzername in der lokalen smbpasswd-Datei deaktiviert werden soll. Das wird dadurch bewerkstelligt, dass das Flag 'D' in den Bereich mit den Kontoangaben der Datei smbpasswd geschrieben wird. Anschließend schlagen alle Versuche einer SMB-Authentifikation für diesen Benutzernamen fehl.
Falls die smbpasswd-Datei im 'alten' Format ist (vor Samba 2.0), gibt es im Passworteintrag des Benutzers keinen Platz, wo diese Information hingeschrieben werden könnte, und der Befehl schlägt fehl. Siehe smbpasswd(5) für weitere Details zu den 'alten' und neuen Passwort-Dateiformaten.
Diese Option ist nur dann vorhanden, wenn smbpasswd unter root ausgeführt wird.
Diese Option gibt an, dass der folgende Benutzername in der lokalen smbpasswd-Datei aktiviert werden soll, falls das Konto zuvor deaktiviert wurde. Falls das Konto nicht deaktiviert wurde, hat diese Option keinen Effekt. Nachdem das Konto aktiviert wurde, kann der Benutzer sich mit SMB wieder authentifizieren.
Falls die smbpasswd-Datei im 'alten' Format ist, kann smbpasswd das Konto NICHT aktivieren. Siehe smbpasswd(5) für weitere Details zu den 'alten' und neuen Passwort-Dateiformaten.
Diese Option ist nur dann vorhanden, wenn smbpasswd unter root ausgeführt wird.
Debugeene ist ein Integer von 0 bis 10. Falls nicht angegeben, ist der Vorgabewert für diesen Parameter gleich Null.
Je höher dieser Wert ist, desto mehr Details werden in den Logdateien über die Aktivitäten von smbpasswd festgehalten. Auf der Ebene 0 werden nur kritische Fehler und ernste Warnungen gespeichert.
Auf Ebenen über 1 werden erhebliche Mengen an Logdaten gespeichert, daher sollten diese Ebenen nur bei der Untersuchung eines Problems verwendet werden. Ebenen über 3 sind für den Gebrauch von Entwicklern gedacht und erzeugen RIESIGE Mengen an Logdaten, von denen die meisten extrem kryptisch sind.
Diese Option gibt an, dass für den folgenden Benutzernamen das Passwort in der lokalen smbpasswd-Datei auf Null, d.h. ein leeres Passwort, zurückgesetzt werden soll. Das wird dadurch bewerkstelligt, dass in der smbpasswd-Datei am Anfang des Passworts der String "NO PASSWORD" gespeichert wird.
Man beachte, dass der Administrator den folgenden Parameter im Abschnitt [global] der Datei smb.conf setzen muss, damit Benutzer sich auf einem Samba-Server anmelden kännen, nachdem das Passwort in der smbpasswd-Datei auf "NO PASSWORD" eingestellt wurde:
null passwords = yes
Diese Option ist nur dann vorhanden, wenn smbpasswd unter root ausgeführt wird.
Mit dieser Option kann ein Benutzer angeben, auf welchem Rechner er sein Passwort ändern möchte. Ohne diesen Parameter geht smbpasswd vom lokalen Host aus. Der entfernte Rechnername ist der NetBIOS-Name des SMB/CIFS-Servers, der für den Versuch einer Passwortänderung kontaktiert werden soll. Dieser Name wird mit dem standardmäßigen Namensauflösungsmechanismus in allen Programmen der Samba-Suite in eine IP-Adresse aufgelöst. Siehe den Parameter -R Namensauflösungsreihenfolge für weitere Details zur Änderung dieses Auflösungsmechanismus.
Der Benutzername, dessen Passwort geändert wird, ist der des aktuell angemeldeten UNIX-Benutzers. Siehe den Parameter -U Benutzername zu Details darüber, wie man das Passwort eines anderen Benutzers ändert.
Man beachte, dass bei der Änderung eines Windows NT-Domänenpassworts der angegebene entfernte Rechner der primäre Domänencontroller der Domäne sein muss (Backup Domänen-Controller verfügen lediglich über eine nur lesbare Kopie der Benutzerkontendatenbank und erlauben keine Passwortänderung).
Beachten Sie, dass Windows 95/98 keine echte Passwortdatenbank besitzt. Daher ist es nicht möglich, Passwörter zu ändern, indem ein Win95/98-Rechner als entfernter Zielrechner angegeben wird.
Mit dieser Option kann der Benutzer von smbpasswd bestimmen, welche Dienste bei der Namensauflösung benutzt werden, wenn der NetBIOS-Name des Hosts gesucht wird, mit dem eine Verbindung hergestellt wird.
Verfügbare Option sind: "lmhosts", "host", "wins" und "bcast". Sie bewirken, dass Namen wie folgt aufgelöst werden:
lmhosts: Sucht eine IP-Adresse in der Samba-Datei lmhosts. Falls die Zeile in lmhosts keinen mit dem NetBIOS-Namen verbundenen Namenstyp hat (Details siehe lmhosts(5)), dann trifft bei einer Suche jeder gefundene Namenstyp zu.
host: Führt eine standardmäßige Auflösung von Hostname zu IP-Adresse aus, entweder mit der Systemdatei /etc/hosts, mit einer NIS- oder DNS-Suche. Diese Methode der Namensauflösung ist abhängig vom Betriebssystem und wird z.B. unter IRIX oder Solaris mit der Datei /etc/nsswitch.conf gesteuert. Beachten Sie, dass diese Methode nur dann benutzt wird, wenn der gesuchte NetBIOS-Namenstyp der Typ 0x20 (Server) ist, ansonsten wird sie ignoriert.
wins: Fragt einen Namen mit Hilfe der IP-Adresse ab, die im Parameter wins server aufgelistet ist. Falls kein WINS-Server angegeben wurde, wird diese Methode ignoriert.
bcast: Führt ein Broadcast auf allen bekannten Schnittstellen durch, die im Parameter interfaces aufgelistet sind. Dies ist die unzuverlässigste Methode der Namensauflösung, da sie verlangt, dass der Ziel-Host sich in einem lokal verbundenen Subnetz befindet.
Die Standardreihenfolge ist lmhosts, host, wins, bcast und ohne diesen Parameter oder ohne Eintrag in der Datei smb.conf(5) werden die Methoden der Namensauflösung in dieser Reihenfolge ausprobiert.
Diese Option sagt smbpasswd, dass es sich beim geänderten Konto um ein RECHNER-Konto handelt. Momentan wird das dann benutzt, wenn Samba als primärer NT-Domänencontroller benutzt wird.
Diese Option ist nur dann vorhanden, wenn smbpasswd unter root ausgeführt wird.
Diese Option darf nur zusammen mit der Option -r benutzt werden. Bei der Änderung eines Passworts auf einem entfernten Rechner erlaubt sie, den Benutzernamen auf diesem Rechner anzugeben, dessen Passwort geändert wird. Diese Option existiert, damit Benutzer mit verschiedenen Benutzernamen auf verschiedenen Systemen diese Passwörter ändern können.
Diese Option gibt den Hilfestring für smbpasswd aus, wobei je nach normalem oder root-Benutzer der richtige ausgewählt wird.
Diese Option bewirkt, dass smbpasswd leise ist, d.h. keine Fragen stellt und seine alten und neuen Passwörter von der Standardeingabe statt von /dev/tty einliest (wie es das Programm passwd(1) macht). Diese Option soll den Leuten helfen, die Skripte zur Steuerung von smbpasswd schreiben.
Dieser Parameter ist nur dann verfügbar, wenn Samba so konfiguriert wurde, dass es die experimentelle Option --with-ldapsam benutzt. Mit dem Schalter -w wird das Passwort angegeben, das mit ldap admin dn benutzt wird. Man beachte, dass das Passwort in der Datei secrets.tdb gespeichert wird, und vom Administrator-DN übernommen wird. Das bedeutet, dass falls sich jemals der Wert von ldap admin dn ändert, das Passwort manuell ebenfalls aktualisiert werden muss.
Diese Option sagt smbpasswd, dass das veränderte Konto ein Interdomänen-Trustkonto ist. Momentan wird das benutzt, wenn Samba als primärer NT-Domänen-Controller verwendet wird. Das Konto enthält Informationen über eine andere vertrauenswürdige Domäne.
Diese Option ist nur dann vorhanden, wenn smbpasswd unter root ausgeführt wird.
Läuft im lokalen Modus.
Dies gibt den Benutzernamen an, auf dem alle nur root-Optionen operieren sollen. Nur root kann diesen Parameter angeben, da nur root die notwendigen Rechte hat, Attribute direkt in der lokalen smbpasswd-Datei zu ändern.
Da smbpasswd im Client-Server-Modus arbeitet und für einen Benutzer, der nicht root ist, mit einem lokalen smbd kommuniziert, muss der smbd-Daemon laufen, damit das funktioniert. Ein häufiges Problem besteht darin, eine Einschränkung der Hosts vorzunehmen, die auf dem lokal laufenden smbd zugreifen, indem einer der Einträge allow hosts oder deny hosts in der Datei smb.conf(5) angegeben wird, und vergessen wird, den Zugriff von "localhost" auf smbd zu erlauben.
Außerdem gilt, dass der Befehl smbpasswd nur dann nützlich ist, wenn Samba so eingestellt wurde, dass es verschlüsselte Passwörter verwendet.
Diese Manpage ist korrekt für die Version 3.0 der Samba-Suite.
Die originale Samba-Software und die zugehörigen Werkzeuge wurden von Andrew Tridgell geschrieben. Samba wird nun vom Samba-Team als ein Open-Source-Projekt entwickelt, ähnlich wie der Linux-Kernel.
Die originalen Samba-Manpages wurden von Karl Auer geschrieben. Die Manpage-Quelltexte wurden ins YODL-Format konvertiert (ein weiteres exzellentes Stück Open-Source-Software, verfügbar unter ftp://ftp.icce.rug.nl/pub/unix/) und für die Samba 2.0-Release von Jeremy Allison aktualisiert. Die Umwandlung ins DocBook-Format wurde von Gerald Carter für Samba 2.2 durchgeführt. Die Umwandlung in DocBook für XML 4.2 wurde von Alexander Bokovoy für Samba 3.0 durchgeführt.