Samba
(→Samba-LDAP-Konfiguration) |
|||
Zeile 6: | Zeile 6: | ||
Danach fragen wir den Sambaserver nach den verfügbaren Services: | Danach fragen wir den Sambaserver nach den verfügbaren Services: | ||
− | # smbclient -L -U <username> // | + | # smbclient -L -U <username> //lenny3 |
Sollten hier Fehler auftreten, sind diese zu beseitigen, bevor versucht wird, LDAP ins Spiel zu bringen. | Sollten hier Fehler auftreten, sind diese zu beseitigen, bevor versucht wird, LDAP ins Spiel zu bringen. | ||
Zeile 82: | Zeile 82: | ||
Obwohl in der smb.conf die Workgroup/Domain | Obwohl in der smb.conf die Workgroup/Domain | ||
− | + | workgroup = SAMBA | |
angegeben ist, wird im LDAP der Hostname als Domain hinterlegt. (???) | angegeben ist, wird im LDAP der Hostname als Domain hinterlegt. (???) |
Version vom 17. Dezember 2010, 20:58 Uhr
Bei der Installation wird die Arbeitsgruppe/Domain abgefragt, wir verwenden hier SAMBA. Vorerst genügt eine Arbeitsgruppenumgebung. Die vorhandenen Benutzer wurden in das TDB-Backend importiert, haben aber noch keine Passwörter bekommen.
Da bei der Installation der sudo-root-Umgebung ein normaler Benutzer angelegt wurde, der nicht im LDAP gelandet ist, verwenden wir diesen gleich wieder um Samba ohne LDAP zu testen und geben ihm als root ein Passwort:
# smbpasswd <username>
Danach fragen wir den Sambaserver nach den verfügbaren Services:
# smbclient -L -U <username> //lenny3
Sollten hier Fehler auftreten, sind diese zu beseitigen, bevor versucht wird, LDAP ins Spiel zu bringen.
Samba-LDAP-Konfiguration
Für den Betrieb von Samba mit LDAP ist ein funktionierendes NSS-LDAP, PAM-LDAP wird jedoch nicht benötigt.
In der LDAP-Konfiguration (/etc/ldap/slapd.conf) muß das Samba-Schema aufgenommen werden:
# Schema and objectClass definitions include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/inetorgperson.schema include /etc/ldap/schema/samba.schema
Das Schema muß noch an die richtige Stelle gelegt werden
# cp /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz /etc/ldap/schema # gunzip /etc/ldap/schema/samba.schema.gz
Anschließend den LDAP-Server neu starten:
# invoke-rc.d slapd restart
In /etc/samba/smb.conf sind folgende minimale Anpassungen nötig:
/etc/samba# diff smb.conf.tdb smb.conf 110c110,117 < passdb backend = tdbsam --- > passdb backend = ldapsam > ldap suffix = dc=debian,dc=local > ldap admin dn = cn=admin,dc=debian,dc=local > ldap ssl = no > ldap user suffix = ou=people > ldap group suffix = ou=group > ldap machine suffix = ou=hosts > ldap passwd sync = yes
Die Änderungen sollten mit testparm auf Fehler überprüft werden. Danach kann die Serverkonfiguration neu geladen werden:
# invoke-rc.d samba reload
Weiterhin muß das Passwort für ldap admin gesetzt werden:
# smbpasswd -W
Jetzt kann das Samba-Passwort für einen im LDAP hinterlegten Benutzer gesetzt werden:
# smbpasswd -a testuser
Im LDAP-Verzeichnis wird daraufhin dem testuser folgende Attribute hinzugefügt:
displayname: TestUser objectclass: sambaSamAccount sambaacctflags: [U ] sambantpassword: 41F15D06F7F59A98BDFCCFC9ADB1C106 sambapasswordhistory: 0000000000000000000000000000000000000000000000000000000000000000 sambapwdlastset: 1291395231 sambasid: S-1-5-21-1344755936-1802148465-1015568262-3002
Beim 1. Aufruf von smbpasswd wird außerdem im LDAP-Verzeichnis der Domain-Eintrag erzeugt:
dn: sambaDomainName=LENNY3,dc=debian,dc=local objectclass: sambaDomain sambaalgorithmicridbase: 1000 sambadomainname: LENNY3 sambaforcelogoff: -1 sambalockoutduration: 30 sambalockoutobservationwindow: 30 sambalockoutthreshold: 0 sambalogontochgpwd: 0 sambamaxpwdage: -1 sambaminpwdage: 0 sambaminpwdlength: 5 sambanextuserrid: 1000 sambapwdhistorylength: 0 sambarefusemachinepwdchange: 0 sambasid: S-1-5-21-1344755936-1802148465-1015568262
Obwohl in der smb.conf die Workgroup/Domain
workgroup = SAMBA
angegeben ist, wird im LDAP der Hostname als Domain hinterlegt. (???)