Samba

Aus ConfigWiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(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> //lenny
+
  # 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
+
  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, 21: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. (???)

Meine Werkzeuge