ntlm_auth — Werkzeug für den externen Zugriff auf die NTLM-Authentifikationsfunktion von Winbind.
ntlm_auth [-d DebugEbene] [-l LogVerz] [-s <smb KonfigDatei>]
Dieses Werkzeug ist Teil der Samba(7)-Suite.
ntlm_auth ist ein Hilfswerkzeug, das Benutzer mit einer NT/LM-Authentifikation identifiziert. Es gibt 0 zurück, falls der Benutzer erfolgreich identifiziert wird und 1, falls der Zugriff verweigert wurde. ntlm_auth verwendet winbind für den Zugriff auf die Benutzer- und Authentifikationsdaten für eine Domain. Dieses Werkzeug ist nur dafür gedacht, dass es von anderen Programmen benutzt wird (im Moment Squid).
Damit viele dieser Befehle funktionieren, muss der Daemon winbindd(8) laufen.
Manche dieser Befehle benötigen auch einen Zugriff auf das Verzeichnis winbindd_privileged in $LOCKDIR. Dies sollte entweder durch Ausführen dieses Befehls als root oder durch Ermöglichen des Gruppenzugriffs auf das Verzeichnis winbindd_privileged geschehen. Aus Sicherheitsgründen sollte dieses Verzeichnis nicht für alle Benutzer zugreifbar sein.
Funktioniert als stdio-basiertes Hilfsprogramm. Gültige Protokolle dafür sind:
Serverseitiges Hilfsprogramm für den Einsatz mit der einfachen Authentifikation von Squid 2.4 (Klartext).
Serverseitiges Hilfsprogramm für den Einsatz mit der einfachen Authentifikation von Squid 2.5 (Klartext).
Serverseitiges Hilfsprogramm für den Einsatz mit der NTLMSSP-Authentifikation von Squid 2.5.
Benötigt Zugriff auf das Verzeichnis winbindd_privileged in $LOCKDIR. Das verwendete Protokoll wird hier beschrieben: http://devel.squid-cache.org/ntlm/squid_helper_protocol.html
Clientseitiges Hilfsprogramm für den Einsatz mit beliebigen externen Programmen, die Sambas Fähigkeit zur NTLMSSP-Authentifikation nutzen möchten.
Dieses Hilfsprogramm ist ein Client und darf daher von allen Benutzern ausgeführt werden. Das verwendete Protokoll ist im Prinzip die Umkehrung des vorherigen Protokolls.
Serverseitiges Hilfsprogramm, das GSS-SPNEGO implementiert. Dabei wird ein Protokoll benutzt, das fast identisch ist mit squid-2.5-ntlmssp, aber einige subtile Unterschiede dazu aufweist, die im Moment außerhalb der Quellen noch undokumentiert sind.
Benötigt Zugriff auf das Verzeichnis winbindd_privileged in $LOCKDIR.
Clientseitiges Hilfsprogramm, das GSS-SPNEGO implementiert. Dabei wird ebenfalls ein ähnliches Protokoll wie bei den obigen Hilfsprogrammen verwendet, was aber im Moment nicht dokumentiert ist.
Gibt den Namen des zu identifizierenden Benutzers an.
Gibt die Domäne des zu identifizierenden Benutzers an.
Gibt die Workstation an, auf der sich der Benutzer identifiziert hat.
NTLM-Aufgabe (in HEXADEZIMAL-Form).
LM-Antwort zur Aufgabe (in HEXADEZIMAL-Form).
NT- oder NTLMv2-Antwort zur Aufgabe (in HEXADEZIMAL-Form).
Passwort des Benutzers in Klartext.
Wird wenn nötig abgefragt, falls es nicht auf der Kommandozeile angegeben wird.
Empfängt LM-Sitzungsschlüssel.
NT-Abfrageschlüssel
Führt eine Diagnose der Authentifikationskette durch. Verwendet das Passwort von --password oder fragt eines ab.
Verlangt, dass der Benutzer Mitglied der angegebenen Gruppe (entweder Name oder SID) ist, damit die Authentifikation klappt.
Gibt die Versionsnummer des Programms aus.
Die angegebene Datei enthält die Konfigurationdetails, die der Server benötigt. Die Information in dieser Datei ist zum Teil Server-spezifisch, z.B. welche printcap-Datei benutzt werden soll, enthält aber auch Beschreibungen aller Dienste, die der Server anbieten soll. Siehe smb.conf für weitere Informationen. Der Standardname der Konfigurationsdatei wird beim Kompilieren bestimmt.
Debug-Ebene ist ein Integer von 0 bis 10. Falls dieser Parameter nicht angegeben wird, ist der Vorgabewert dafür Null.
Je höher der Wert ist, desto mehr Details über die Serveraktivität werden in den Log-Dateien abgespeichert. Auf der Ebene 0 werden nur kritische Fehler und ernstzunehmende Warnungen geloggt. Ebene 1 ist eine vernünftige Ebene beim alltäglichen Betrieb - dabei wird eine kleine Informationsmenge über die ausgeführten Operationen erzeugt.
Die Ebenen höher als 1 erzeugen beachtliche Mengen von Logdaten, und sollten nur bei der Suche nach Problemen verwendet werden. Die Ebenen größer als 3 sind nur für Entwickler gedacht und erzeugen RIESIGE Mengen an Logdaten, von denen die meisten extrem kryptisch sind.
Beachten Sie, dass durch die Angabe dieses Parameters an dieser Stelle der Parameter log level in der Datei smb.conf überschrieben wird.
Dateiname für Log-/Debug-Dateien. Die Dateierweiterung ".client" wird angefügt. Die Log-Datei wird vom Client niemals entfernt.
Gibt eine Zusammenfassung der Kommandozeilenoptionen aus.
Um ntlm_auth für den Einsatz mit Squid 2.5 sowohl mit einfacher wie auch mit NTLMSSP-Authentifikation einzurichten, sollte folgendes in die Datei squid.conf platziert werden:
auth_param ntlm program ntlm_auth --helper-protocol=squid-2.5-ntlmssp auth_param basic program ntlm_auth --helper-protocol=squid-2.5-basic auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours
Bei diesem Beispiel wird angenommen, dass ntlm_auth in Ihrem Pfad installiert wurde und dass die Gruppenrechte von winbindd_privileged so sind, wie oben beschrieben wurde.
Um ntlm_auth für den Einsatz mit Squid 2.5 zusätzlich zu obigem Beispiel mit einer Gruppenbeschränkung einzurichten, sollte folgendes zur Datei squid.conf hinzugefügt werden:
auth_param ntlm program ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of='WORKGROUP\Domain Users' auth_param basic program ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of='WORKGROUP\Domain Users'
Sollten Sie im Internet Explorer unter MS Windows 9X oder Millenium Edition Probleme bei der Authentifizierung mittels des NTLMSSP-Authentifikationshilfsprogramms ntlm_auth haben (--helper-protocol=squid-2.5-ntlmssp), dann lesen Sie bitte den Artikel #239869 in der Microsoft Knowledge Base und befolgen Sie die dortigen Anweisungen.
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 ntlm_auth-Manpage wurde von Jelmer Vernooij und Andrew Bartlett geschrieben.