Einige Client/Server-Kombinationen haben Probleme mit Passwords die Groß-/Kleinschreibung enthalten. Besonders problematisch ist hier ein Windows for Workgroups-Client, denn aus völlig unerfindlichen Gründen werden die Passwords vor der Übermittlung an den Server immer dann in Großbuchstaben umgewandelt, wenn das LANMAN1-Protokoll, aber nicht, wenn als Protokoll COREPLUS verwendet wird. Für solche Fälle kann mit diesem Parameter festgelegt werden, wie viele Zeichen in einem Password Großbuchstaben sein dürfen (maximal). smbd permutiert dann die Buchstaben und die Schreibweise des übermittelten Passwords und versucht so, ein Password zu finden, das mit dem für den Unix-Account festgelegten Password übereinstimmt.
Um diese Methodik zu erläutern, sehen wir uns zwei Beispiele an:
Nehmen wir an, ein Windows for Workgroups-Client schickt das Password OLAF. Wenn der Parameter password level mit dem Wert belegt ist, so wird der Daemon smbd versuchen, mit den folgenden Permutationen der Password-Schreibweise sich auf dem Unix-Account des Clients einzuloggen:
Olaf, olaf, oLaf, olAf, olaF
Wenn der password level mit dem Wert belegt ist, so werden die folgenden Permutationen durchprobiert:
OLaf, OlAf, OlaF, oLAf, oLaF, olAF, ..
Je höher der Wert der Belegung ist, desto größer ist die Wahrscheinlichkeit, dass der Password-Vergleich positiv ausfällt. Aber zwei Dinge sollten dabei nicht vergessen werden: Mit steigender Anzahl von Permutationen erhöht sich der Zeitbedarf! Jedoch nicht linear, so dass der Vergleich zu einem timeout auf der Unix-Seite führen kann. Und - der Sicherheit in einem Netz ist diese Methode auch nicht gerade zuträglich, ansonsten erhielten gleiche, aber unterschiedlich geschriebene Passwords Zugang zu den falschen Shares.
Voreinstellung:
password level = 0
Beispiel:
password level = 4