Dieser Spickzettel soll eine kleine Erklärung zu den Feldern im LDAP sein, da diese oft nicht selbst erklärend sind. Wie man Samba mit einem LDAP im Hintergrund installiert / konfiguriert will ich hier nicht beschreiben. Wenn ihr mehr zu dem ein oder anderem Feld wißt, gebt mir bitte bescheid, sodass ich es veröffentlichen kann und andere auch von eurem Wissen profitieren können.
commonName
Gibt den Namen an, der z.b. bei Windows XP im Startmenü steht
Gibt an mit welcher Shell sich der Benutzer an der Console / per SSH anmelden darf z.b /bin/bash (für die „normale“ Shell) oder /bin/false (für eine Zugriffsverweigerung)
Die ObjectClass geben an, welche Felder verwendet werden dürfen. Gibt man z.B. die „sambaSamAccount“ an, stehen einem alle Felder beginnend mit „samba“ zur Verfügung. Pflicht sind „sambaSID“ und „uid“. Für einen Sambabenutzer benötigt man folgende Klassen: top inetOrgPerson posixAccount shadowAccount sambaSamAccount ou organizationalUnitName: Gibt eine Oberkategorie an. Ähnlich eines Ordners. Im Windows ADS ist oft die Rede von einer OU. Diese gruppiert z.B. Benutzer einer Abteilung Für die Konfiguration sollte hier immer „Users“ stehen
Mögleiche Flags: [NDHTUMWSLKI] Gibt z.B. an ob dieser Eintrag ein User / Rechner ist und ob dieser aktiviert ist. Für die Sambabenutzer sollte es immer [U] sein. [DU] bedeutet, dass das Konto momentan deaktiviert wurde
Welchen Laufwerksbuchstabe soll das Home-Verzeichnis auf den Client haben. z.B. „H:“
Wo liegt das Home-Verzeichnis des Users auf dem Server. Es sollte immer “/home/[user]“ sein. Wobei [user] durch den Benutzernamen ersetzt werden sollte ;)
Gibt an, bis wann das Benutzerkonto noch gültig ist. Angabe im UNIX-Timestamp. 0 entspricht unendlich. Angeblich soll der Benutzer automatisch abgemeldet werden, doch dieses konte ich nicht nachvollziehen.
Angeblich soll hier von Windows eingetragen werden, wann der Benutzer sich das letzte mal abgemeldet hat. Dies habe ich aber noch nicht feststellen können
Gibt an, an welchen Tag um wie viel Uhr sich der Benutzer anmelden darf. Dieser Eintrag kann weggelassen werden oder auf „FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF“ gesetzt werden
Welches Script soll beim Login des Users ausgefürt werden? Das Script muss in der Freigabe „netlogon“ liegen.
Soll den letzten Login des Users speichern.
Gibt das Windows Passwort an. Setzten des Passwortes ist etwas schwieriger, da es verschlüsselt wird. Nur Windows like nicht nach einem Standard wie md5 sondern nach einem anderen Verfahren. In meinem PHP Script funktioniert es folgender maßen:
function unicodify($str) {
$newstr = '';
for ($i = 0; $i < strlen($str); ++$i)
{
$newstr .= substr($str, $i, 1) . chr(0);
}
return $newstr;
} $password=bin2hex(mhash(MHASH_MD4, unicodify($_POST['password'])));
Ist bei mir immer „0000000000000000000000000000000000000000000000000000000000000000“
Gibt die Gruppe an, in der sich der Benutzer befindet. Z.B „S-1-5-21-2597730612-2778016812-4202431964-513“. Die 513 bedeuten , dass es sich um die „Domain Users“ handelt. Der Rest davor gibt die sambaSID der Samba Domäne an, die man im Root Verzeichnis des LDAPs im „sambaDomainName“ nachlesen kann
Gibt an, wo das Windows Profil gespeichert werden soll. Es macht Sinn dieses in einem Unterverzeichnis des Users zu tun. z.b „\\pdc\homes\profiles“
Wann darf der Benutzer das nächste mal wieder sein Passwort ändern. Angabe im UNIX-Timestamp
Gibt im UNIX-Timestamp an, wann das letzte mal das Passwort geändert wurde
Gibt an wann der Benutzer sein Passwort wieder ändern muss. 0 bedeutet bei der ersten Anmeldung. Ansonsten Angabe im (na?) UNIX-Timestamp (richtig).
Gibt die ID in der Samba Domäne an. Der erste Teil ist wieder die ID der Domäne und der 2. Teil die ID des Users. Die nächste frei ID kann man aus dem Eintrag „NextFreeUnixId“ im Root-Verzeichnis des LDAPs ablesen. PS: bei manuellen Vergabe der ID muss der NextFreeUnixId auch erhöht werden
surname: Nachname
Gibt das Passwort des Benutzers an