• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

SLES 10 als File-Only-Server mit AD-Authentifizierung

Besth

Newbie
Ich hätte gern ein Linux-System was mir nur als File-Server dient.
Die komplette Authentifizierung soll übers AD laufen. Der Sambaserver soll eigentlich keine User oder Passwörter zwischenspeichern.

Folgender Stand:
bestehende Windows-Domäne auf Funktionsebene 2003
Suse Linux Enterprise Server 10
Samba Version 3.5.6 von Sernet

Was ich bisher gemacht habe:
- ftp.sernet.de als Installationsquelle hinzugefügt
- samba3 + samba3-winbind über Yast installiert
- smb.conf angepasst
- winbind und samba neugestartet
- net ads join HW-LOCAL -U Administrator

Hier mal die smb.conf
Code:
# smb.conf is the main Samba configuration file. You find a full commented
# version at /usr/share/doc/packages/samba/examples/smb.conf.SUSE if the
# samba-doc package is installed.
# Date: 2007-05-16
[global]
	server string = Samba %v
	workgroup = HW-LOCAL
	netbios name = service1
	local master = no
	wins support = no
	syslog = 0
	vfs objects = readahead
	os level = 10
	#locking = no
	#kernel oplocks = no
	#posix locking = no
	#log file = /var/log/samba/smbd.%m
	#max log size = 0
	#debug hires timestamp = yes
	#debug pid = yes
	
	#printing = cups
	#printcap name = cups
	#printcap cache time = 750
	#cups options = raw
	
	map to guest = Bad User
	guest account = nobody
	keep alive = 0
	
	interfaces = 10.1.0.3/255.255.0.0
	
	#include = /etc/samba/dhcp.conf
	#logon path = \\%L\profiles\.msprofile
	#logon home = \\%L\%U\.9xprofile
	#logon drive = P:
	usershare allow guests = no
	
	security = ADS
	domain logons = no
	domain master = no
	password server = hwdc1, hwmatrix
	
	#logon script = %U.bat
	wins server = 10.1.0.8
	idmap gid = 10000-20000
	idmap uid = 10000-20000
	realm = HW.LOCAL
	template homedir = /home/%D/%U
	template shell = /bin/bash
	winbind refresh tickets = yes
	winbind enum users = yes
	winbind enum groups = yes
	log level = 2
	#winbind use default domain = yes

[open]
	comment = free
	path = /etc/samba
	public = yes
	browseable = yes
	writeable = yes
	create mode = 0666
	directory mode = 0777
[www]
	comment = Webserver
	path = /srv/www
	browseable = yes
	valid users = HW-LOCAL\testuser
	writeable = yes

wbinfo -g und -u funktionieren und listen mir auch alle User auf.
Ich komm über \\service1 auf die Suse Kiste und seh die Shares, auch in open kann ich lesen, sobald ich mich aber auf www verbinden will lässt er mich nicht rein mit dem User ...
log.smbd:
Code:
check_ntlm_password authentication for user [testuser] -> [testuser] failed with error nt_status_no_such_user

Woran liegt das?
 

stka

Guru
Du musst den Kerberosclient konfigurieren, denn für die Authentifizierung wird Kerberos verwendet. Nimm den heimdal-client dafür. Am besten du schaust mal hier:
http://gertranssmb3.berlios.de/output/domain-member.html#ads-member
 
OP
B

Besth

Newbie
Aber da muss es doch noch eine andere Möglichkeit geben.
Denn die anderen Server hier von meinem Vorgänger laufen alle ohne Kerberos (zumindest ist die /etc/krb5.conf mit den Standarteinstellungen EXAMPLE.COM gefüllt) und kinit geht auf den Kisten auch nicht.
Was gibt es da noch für Möglichkeiten?
 

stka

Guru
Dann hattest du vorher eine alte Samba-Version oder? Die Einrichtung das Kerberos-Clients dauert maximal 5 Minuten.
 
OP
B

Besth

Newbie
Eigentlich nicht.
Die hatte der Kollege immer upgedatet. Aktuell steht sie dort bei 3.5.4.
Mit alten Versionen ging das wohl ohne Probleme? Und ohne Kerberos oder wie?
 
OP
B

Besth

Newbie
hmm vielen Dank.
Ich schau mir das mal an.
Aber das problem was ich mit Kerberos habe ist immer die Meldung:
Code:
# net ads join -S hwdc1 -U Administrator
[2010/10/26 16:51:48, 0] utils/net_ads.c:ads_startup_int(285)
  ads_connect: Server not found in Kerberos database
kinit funktioniert
 
OP
B

Besth

Newbie
Ich dachte genau das macht dieser Befehl.
Naja zumindest wenn ich den Server im AD anlege, funktioniert es auch nicht. Ich bekomme die selbe Fehlermeldung
 

spoensche

Moderator
Teammitglied
Besth schrieb:
Ich dachte genau das macht dieser Befehl.
Naja zumindest wenn ich den Server im AD anlege, funktioniert es auch nicht. Ich bekomme die selbe Fehlermeldung

Das macht der Befehl auch. Du musst ihn allerdings mit den richtigen Parametern aufrufen.

Erstellt einen Computeraccount in einer OrganisationUnit OU:
Code:
net ads join [pdc|bdc|member] -U username createcomputer=OU -S targetserver

Statt createcomputer kannst du auch createupn verwenden.


Wenn der Server einen existierenden Account hat kannst du dich mit dem AD verbinden, wenn du als Typ (nach dem join) Member angibst.
 

ThomasF

Hacker
Hmm,

ob Samba unbedingt eine gültige Konfiguration in der /etc/krb5.conf braucht kann ich nicht genau sagen. Ich lege diese sowieso immer an ;)
Aber es spricht viel dafür, das diese notwendig ist ...

Die Frage ist aber doch wie soll Samba denn rauskriegen wer hinter "realm = HW.LOCAL" steckt ... oder ?
Evt. über "password server" jedenfalls würde ich sicherheitshalber auch einmal die DNS Auflösung kontrollieren ! (vorwärts und rückwärts)

Ein KDC Eintrag für den REALM in der krb5.conf sollte auch nicht schaden ...

Auf der anderen Seite hast du "workgroup = HW-LOCAL" gesetzt !?!
Bei einem REALM = HW.LOCAL müsste IMHO die workgroup aber HW heissen, oder ?

Dazu kommt noch das bei aktuellen Samba Versionen (3.5.x) neue Optionen hinzugekommen sind :

Code:
kerberos method = secrets and keytab
dedicated keytab file = /etc/krb5.keytab

Und je nach Kerberos Version( 1.7 oder 1.8 ) UND ADS Version ( 2003 oder 2008 ) brauchst du in der krb5.conf auch noch folgendes :

Code:
allow_weak_crypto = true
default_tkt_enctypes = DES-CBC-CRC RC4-HMAC DES-CBC-MD5

Sonst klappt es mit dem "join" schon mal gar nicht richtig ;)


PS. Und die Sache mit dem idmap kommt ja auch noch ;)

So long

ThomasF
 
OP
B

Besth

Newbie
Auf der anderen Seite hast du "workgroup = HW-LOCAL" gesetzt !?!
Bei einem REALM = HW.LOCAL müsste IMHO die workgroup aber HW heissen, oder ?
nein Windows kann kein . in seinem Domänennamen. Deswegen heißt die Windowsdomäne HW-LOCAL aber die DNS-Zone heißt hw.local
Und DNS und .local als TLD geht schon mal dreimal nicht
Und wieso soll das nicht gehen?
Dazu kommt noch das bei aktuellen Samba Versionen (3.5.x) neue Optionen hinzugekommen sind :
oh ich werde dies einmal ausprobieren, ich melde mich dann nochmal
 

stka

Guru
Warum nicht .local? Ich glaube, dass habe ich hier im Forum schon zig mal geschrieben. Die TLD .local ist für Multicast reserviert und führt bei der Namensauflösung zu Fehlern. Klar wenn sich eine Firma (Namen will ich hier nicht nennen) nicht an die entsprechenden RFCs hält, geht es bei dem entsprechenden BS.

http://tools.ietf.org/html/draft-cheshire-dnsext-multicastdns-06
 

ThomasF

Hacker
Besth schrieb:
Und was nimmt man dann stattdessen für ein Firmennetz?

Solange du nicht raus in Internet routest hast du "fast" die freie Auswahl ;)

IMHO hast du sicherlich auch .de nehmen ... Probleme würden nur dann auftauchen wenn deine Domain schon vorhanden wäre ... Also falls es hw.de schon geben würde ( was es auch tut ... Umleitung auf http://www.hardenberg-wilthen.de ) wäre diese Domain bei euch von intern nicht erreichbar ...

Wie wäre es mit .priv

Besth schrieb:
nein Windows kann kein . in seinem Domänennamen. Deswegen heißt die Windowsdomäne HW-LOCAL aber die DNS-Zone heißt hw.local

Hmmm, eventuell solltest du dich auch noch ein wenig mit den ADS Grundlagen und dessen Verschachtelungen zu DNS geschäftigen ;)

Das was Samba als workgroup bezeichnet ist in einer aktuellen ADS nicht die gesamte Domain URL sondern der kurze NETBIOS Name ( NT4 kompatibel)
Bei einer Domain wie wdr.de also nur WDR ...

So long

ThomasF
 

stka

Guru
Auch dafür gibt es ein RFC
http://www.faqs.org/rfcs/rfc2606.html
http://tools.ietf.org/html/draft-ietf-dnsind-test-tlds-07
 
Oben