ubuntuusers.de

Samba / OpenLDAP und Windows Integration

Status: Ungelöst | Ubuntu-Version: Kubuntu 8.04 (Hardy Heron)
Antworten |

DarkY87

Avatar von DarkY87

Anmeldungsdatum:
30. Dezember 2008

Beiträge: Zähle...

Hallo Leute, ich versuche nun seit etwa 4 Tagen auf unserem Familienfileserver einen Samba Server mit openLDAP Benutzerverwaltung zum laufen zu bringen. Bisher haben wir den Sambaserver ohne LDAP betrieben und hatten keine Probleme. Es ist jedoch mühsam jeden User und vor allem alle Passwörter auf jedem Client (ca. 5 - 7) separat zu führen.

Der openLDAP Server sollte eigentlich soweit richtig konfiguriert sein, beim Sambaserver habe ich noch Probleme. Konkret: Der Versuch einen Windows XP Rechner in die Domäne einzubinden scheitert immer mit einer Fehlermeldung. Die Domäne wird anscheinend nicht gefunden. Soweit ich gelesen habe, muss man lediglich den Domänenname in der Netzwerkkennung des Windows Rechners eintragen und kann dann mit dem Admin Account des LDAP Servers sich anmelden.

Der Zugriff auf die freigegebenen Shares funktioniert ohne Probleme im Workgroup Mode, leider bietet mir dieser jedoch noch nicht die gewünschten funktionen.

Des Weiteren bin ich mir nicht sicher ob die Migration der Gruppen und User richtig funktioniert hat. Wie es scheint wurden die Gruppenmitglieder nicht richtig übertragen und einige wurden aus /etc/group gelöscht. Vielleicht habe ich auch einfach zu wenig Gruppen auf den LDAP Server migriert. Was sollte lokal sein, was auf dem LDAP Server?

Meine Samba Config:

[global]
	dos charset = 850
	unix charset = ISO8859-1
	workgroup = SCHMID
	server string = Fileserver
	map to guest = Bad User
	null passwords = Yes
	passdb backend = ldapsam:ldap://127.0.0.1/
	log level = 1
	log file = /var/log/samba/log.%m
	max log size = 50
	socket options = SO_KEEPALIVE IPTOS_LOWDELAY TCP_NODELAY
	add user script = /usr/local/sbin/smbldap-useradd -m "%u"
	add group script = /usr/local/sbin/smbldap-groupadd -p "%g"
	add user to group script = /usr/local/sbin/smbldap-groupmod -m "%u" "%g"
	delete user from group script = /usr/local/sbin/smbldap-groupmod -x "%u" "%g"
	set primary group script = /usr/local/sbin/smbldap-usermod -g "%g" "%u"
	add machine script = /usr/local/sbin/smbldap-useradd -w "%u"
	ldap admin dn = cn=Admin,dc=schmimo,dc=ch
	ldap delete dn = Yes
	ldap group suffix = ou=Groups
	ldap machine suffix = ou=Computers
	ldap passwd sync = Yes
	ldap suffix = dc=schmimo,dc=ch
	ldap user suffix = ou=Users

[beni]
	comment = Fileshare Beni
	path = /srv/daten/beni
	valid users = beni
	read only = No
	create mask = 0666
	directory mask = 0777

[barbara]
	comment = Fileshare Barbara
	path = /srv/daten/barbara
	valid users = barbara
	read only = No
	create mask = 0666
	directory mask = 0777

[tobias]
	comment = Fileshare Tobias
	path = /srv/daten/tobias
	valid users = tobias
	read only = No
	create mask = 0666
	directory mask = 0777

[stefanie]
	comment = Fileshare Stefanie
	path = /srv/daten/stefanie
	valid users = stefanie
	read only = No
	create mask = 0666
	directory mask = 0777

[eta]
	comment = Fileshare ETA
	path = /srv/daten_beni_Geschaeft/ETA
	valid users = beni
	read only = No
	create mask = 0666
	directory mask = 0777

[eta_cleanin]
	comment = Fileshare ETA_CLEANIN
	path = /srv/daten_beni_Geschaeft/ETA_CLEANIN
	valid users = beni
	read only = No
	create mask = 0666
	directory mask = 0777

[eta_fmcoin]
	comment = Fileshare ETA_FMCOIN
	path = /srv/daten_beni_Geschaeft/ETA_FMCOIN
	valid users = beni
	read only = No
	create mask = 0666
	directory mask = 0777

[fotos]
	comment = Fileshare Fotos
	path = /srv/daten/Fotos
	valid users = tobias, beni, barbara, stefanie, alle
	read list = barbara, stefanie, alle
	write list = beni, tobias
	read only = No
	create mask = 0666
	directory mask = 0777

[internet]
	comment = Fileshare Internet
	path = /srv/daten/Internet
	valid users = tobias, beni, barbara, stefanie
	read list = barbara, stefanie
	write list = beni, tobias
	read only = No
	create mask = 0666
	directory mask = 0777

[mibag]
	comment = Fileshare MIBAG
	path = /srv/daten_beni_Geschaeft/MIBAG
	valid users = beni
	read only = No
	create mask = 0666
	directory mask = 0777

[musik]
	comment = Fileshare Musik
	path = /srv/daten/Musik
	valid users = tobias, beni, barbara, stefanie, alle
	read list = stefanie, barbara, alle
	write list = tobias, beni
	read only = No
	create mask = 0666
	directory mask = 0777

[public]
	comment = Fileshare Public
	path = /srv/daten/Public
	valid users = tobias, beni, barbara, stefanie, alle
	read only = No
	create mask = 0666
	directory mask = 0777

[Backup_Babetost_ext_hd]
	comment = Backup Babetost ext. HD
	path = /media/disk
	valid users = beni
	read only = No
	create mask = 0666
	directory mask = 0777

Dalai

Avatar von Dalai

Anmeldungsdatum:
16. Juni 2008

Beiträge: 2316

Wohnort: Meiningen

DarkY87 schrieb:

Es ist jedoch mühsam jeden User und vor allem alle Passwörter auf jedem Client (ca. 5 - 7) separat zu führen.

Was meinst du damit? Hast du bisher keine Domäne gehabt? Man kann auch mit Samba allein eine Domäne aufbauen, LDAP ist dafür nicht unbedingt nötig.

DarkY87 schrieb:

Der Versuch einen Windows XP Rechner in die Domäne einzubinden scheitert immer mit einer Fehlermeldung.

Bitte die konkrete Fehlermeldung posten. An der Stelle können verschiedene auftauchen.

DarkY87 schrieb:

Soweit ich gelesen habe, muss man lediglich den Domänenname in der Netzwerkkennung des Windows Rechners eintragen und kann dann mit dem Admin Account des LDAP Servers sich anmelden.

Nein, so stimmt das nicht. Man gibt den Admin-Account des Samba-Servers an. Die Zugangsdaten zum LDAP sind im Samba selbst hinterlegt bzw. in /etc/ldap.secret für den LDAP-Client zugänglich.

DarkY87 schrieb:

Des Weiteren bin ich mir nicht sicher ob die Migration der Gruppen und User richtig funktioniert hat.

Was sagt ein

ldapsearch -x -b dc=example,dc=local | less

(natürlich angepasst mit deiner Domäne)? Hast du Apache laufen? Falls ja, kannst du mit phpldapadmin schauen, was konkret los ist bzw. ob der die Gruppen/Nutzer richtig wiedergibt.

DarkY87 schrieb:

Was sollte lokal sein, was auf dem LDAP Server?

Im LDAP müssen alle Daten drinstehen, die Samba benötigt, also Nutzer, Gruppenzugehörigkeit, Passwort (normalerweise als Hash), Security ID (SID), UID und noch ein paar andere Daten. Was lokal (damit meinst du die Clients, oder?) liegen muss, kannst du selbst entscheiden. Der LDAP ist ja nur zur Authentifizierung da. Hast du servergespeicherte Profile?

MfG Dalai

DarkY87

(Themenstarter)
Avatar von DarkY87

Anmeldungsdatum:
30. Dezember 2008

Beiträge: 9

Dalai schrieb:

Was meinst du damit? Hast du bisher keine Domäne gehabt? Man kann auch mit Samba allein eine Domäne aufbauen, LDAP ist dafür nicht unbedingt nötig.

Scheinbar ist mir das etwas entgangen. Nein, bisher hatten wir den Server in der Arbeitsgruppe und haben die Passwörter Samba Passwörter manuell auf dem Server gesetzt. Bisher habe ich noch kein vernünftiges How-To zum installieren des Samba Server als Domäne gesehen.

Bitte die konkrete Fehlermeldung posten. An der Stelle können verschiedene auftauchen.

Siehe Bild im Anhang

Nein, so stimmt das nicht. Man gibt den Admin-Account des Samba-Servers an. Die Zugangsdaten zum LDAP sind im Samba selbst hinterlegt bzw. in /etc/ldap.secret für den LDAP-Client zugänglich.

Ja diese Einträge sind alle vorhanden.

Was sagt ein

ldapsearch -x -b dc=example,dc=local | less

(natürlich angepasst mit deiner Domäne)? Hast du Apache laufen? Falls ja, kannst du mit phpldapadmin schauen, was konkret los ist bzw. ob der die Gruppen/Nutzer richtig wiedergibt.

tobias@babetost:~$ sudo ldapsearch -x -b dc=Admin,dc=schmimo,dc=ch
[sudo] password for tobias:
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)
tobias@babetost:~$ sudo ldapsearch -x -b cn=Admin,dc=schmimo,dc=ch
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)
tobias@babetost:~$ sudo ldapsearch -x -b dc=schmimo,dc=ch
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)

phpldapadmin funktioniert soweit, die Einträge existieren und stimmen soweit auch. Einzig die Gruppenmitglieder wurden anscheinend mit dem Migrationsskript nicht berücksichtigt. Ich habe sie manuell eingetragen.

Im LDAP müssen alle Daten drinstehen, die Samba benötigt, also Nutzer, Gruppenzugehörigkeit, Passwort (normalerweise als Hash), Security ID (SID), UID und noch ein paar andere Daten. Was lokal (damit meinst du die Clients, oder?) liegen muss, kannst du selbst entscheiden. Der LDAP ist ja nur zur Authentifizierung da. Hast du servergespeicherte Profile?

Die Sambauser und die Gruppen der Sambauser sind auf dem LDAP Server eingetragen. Jedoch würden die einzelnen Benutzer scheinbar aus /etc/group gelöscht.

Bilder

Dalai

Avatar von Dalai

Anmeldungsdatum:
16. Juni 2008

Beiträge: 2316

Wohnort: Meiningen

[user:DarkY87] schrieb:

Bisher habe ich noch kein vernünftiges How-To zum installieren des Samba Server als Domäne gesehen.

Im Wiki gibt's eins.


Das ldapsearch bitte mit dem Base des LDAPs aufrufen, nicht mit dem Admin-User! Das Beispiel von mir war schon passend.

[user:DarkY87] schrieb:

Die Sambauser und die Gruppen der Sambauser sind auf dem LDAP Server eingetragen.

Gut, so soll das sein.

[user:DarkY87] schrieb:

Jedoch würden die einzelnen Benutzer scheinbar aus /etc/group gelöscht.

Naja, gelöscht oder nicht ist egal. Dort drin stehen eben nur echte Linux-Gruppen. Die PAM wird ja verändert, damit Linux auch die Gruppen/Nutzer im LDAP sieht und sich die LDAP-User ebenfalls anmelden können.

Aus deiner smb.conf oben lese ich aber, dass du keinerlei für den PDC relevante Einträge wie

   local master = yes
   preferred master = yes
   os level = 200
   domain master = yes
   domain logons = yes

hast. Deswegen kann auch Windows keinen DC finden (logisch, wenn sich Samba nicht als solcher verhält). Schau mal den oben verlinkten Wiki-Artikel durch und ergänze die wichtigen Einträge.

MfG Dalai

DarkY87

(Themenstarter)
Avatar von DarkY87

Anmeldungsdatum:
30. Dezember 2008

Beiträge: 9

Dalai schrieb:

Im Wiki gibt's eins.

Toll danke, das hab ich nicht gesehen.

Das ldapsearch bitte mit dem Base des LDAPs aufrufen, nicht mit dem Admin-User! Das Beispiel von mir war schon passend.

Ich habe alle alle möglichen Methoden ausprobiert, dort muss ein anderes Problem sein.

Naja, gelöscht oder nicht ist egal. Dort drin stehen eben nur echte Linux-Gruppen. Die PAM wird ja verändert, damit Linux auch die Gruppen/Nutzer im LDAP sieht und sich die LDAP-User ebenfalls anmelden können.

Das werde ich wohl am besten so belassen wie es ist, momentan funktioniert glaube ich endlich mehr oder weniger alles wie es soll.

Aus deiner smb.conf oben lese ich aber, dass du keinerlei für den PDC relevante Einträge wie

   local master = yes
   preferred master = yes
   os level = 200
   domain master = yes
   domain logons = yes

hast. Deswegen kann auch Windows keinen DC finden (logisch, wenn sich Samba nicht als solcher verhält). Schau mal den oben verlinkten Wiki-Artikel durch und ergänze die wichtigen Einträge.

Das war das Problem, nach dem einfügen dieser Einträge wurde die Domäne erkannt und ich kann mich einloggen. Ich hoffe der Rest funktioniert nun auch wie ich es möchte, ansonst werde ich wahrscheinlich auf die Methode ohne LDAP zurückgreifen.

Antworten |