PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Via Kerberos an AD von Windows 2003



hippoth
21.08.08, 15:43
Hallo Leute,

ich habe einen Suse Linux Enterprise Server erfolgreich an das AD eines Windows 2003 Servers anbinden können. In den Einstellungen von "Authentifizierung und Quellen für Benutzerdaten" steht, dass die Kerberos-Authentifizierung aktiviert ist. Der Server gehört auch damit auch der Windows-Domäne an (zu sehen unter "Windows-Domänenmitgliedschaft").

Ich habe die Anbindung auf der Konsole mit "kinit benutzerkürzel" getestet. Mein Name wird angezeigt und ich kann das Passwort erfolgreich eingeben.

Was aber nicht funktioniet ist die Authentifikation von einem anderen Rechner aus an einem beliebig freigegebenen Verzeichnis.

Kann mir jemand sagen was ich noch vergessen haben könnte, damit dies funktioniert? :confused:

hessijens
21.08.08, 18:08
Kann mir jemand sagen was ich noch vergessen haben könnte...

Ja. Du hast vergessen folgende Fehlermeldung in /var/log/samba/log.smbd und log.winbindd (ich hoffe dort findest sich der Log von Samba unter SuSE) hier zu veröffentlichen.

Deine /etc/samba/smb.conf und /etc/krb5.conf wären für die Fehlersuche auch sehr hilfreich.

Wahrscheinlich hast Du Kerberos erfolgreich eingerichtet aber Samba nicht richtig an der Domaine angemeldet oder das Verzeichnis falsch freigegeben. Aber ohne mehr Informatioen wird Dir das hier keines sagen können.

hippoth
25.08.08, 13:06
Ja. Du hast vergessen folgende Fehlermeldung in /var/log/samba/log.smbd und log.winbindd (ich hoffe dort findest sich der Log von Samba unter SuSE) hier zu veröffentlichen.

Deine /etc/samba/smb.conf und /etc/krb5.conf wären für die Fehlersuche auch sehr hilfreich.

Wahrscheinlich hast Du Kerberos erfolgreich eingerichtet aber Samba nicht richtig an der Domaine angemeldet oder das Verzeichnis falsch freigegeben. Aber ohne mehr Informatioen wird Dir das hier keines sagen können.
Hallo Jens, stimmt meine Informationen waren etwas spärlich.

Hier die gewünschten Infos:

Das steht im Log, wenn ich mich via Windows an einem Verzeichnis authentifizieren will ...

[2008/08/25 12:20:04, 0] auth/auth_util.c:make_server_info_info3(1297)


make_server_info_info3: pdb_init_sam failed!


Das ist die smb.conf


# 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: 2006-06-16
[global]
workgroup = INT
printing = cups
printcap name = cups
printcap cache time = 750
cups options = raw
map to guest = Bad User
include = /etc/samba/dhcp.conf
logon path = \\%L\profiles\.msprofile
logon home = \\%L\%U\.9xprofile
logon drive = P:
domain logons = No
domain master = No
passdb backend = smbpasswd
password server = *
security = domain
wins support = No
usershare max shares = 100
ldap suffix =
[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[profiles]
comment = Network Profiles Service
path = %H
read only = No
store dos attributes = Yes
create mask = 0600
directory mask = 0700
[users]
comment = All users
path = /home
read only = No
inherit acls = Yes
veto files = /aquota.user/groups/shares/
[groups]
comment = All groups
path = /home/groups
read only = No
inherit acls = Yes
[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @ntadmin root
force group = ntadmin
create mask = 0664
directory mask = 0775
[test]
comment = test
inherit acls = No
path = /usr/test
read only = No
[vm-data]
comment = Virtuelle Maschinen
inherit acls = Yes
path = /usr/lib/vmware/Virtual Machines
read only = No


... und das die krb5.conf (etwas anonymisiert)


[libdefaults]
default_realm = INT.xxxxx.DE
clockskew = 300

[realms]
INT.xxxxx.DE = {
kdc = x.x.x.x
default_domain = int.xxxxx.de
admin_server = x.x.x.x
}
EXAMPLE.COM = {
kdc = kerberos.example.com
admin_server = kerberos.example.com
}

[logging]
kdc = FILE:/var/log/krb5/krb5kdc.log
admin_server = FILE:/var/log/krb5/kadmind.log
default = SYSLOG:NOTICE:DAEMON
[domain_realm]
.int.xxxxx.de = INT.xxxxx.DE
[appdefaults]
pam = {
ticket_lifetime = 1d
renew_lifetime = 1d
forwardable = true
proxiable = false
retain_after_close = false
minimum_uid = 0
try_first_pass = true
}

hessijens
25.08.08, 17:14
Es mag sein, dass Kerberos richtig konfiguriert ist. Bekommst Du auf der Linuxkiste ein Ticket mit "kinit"? Falls nein stimmt was mit der krb5.conf nicht.

Was aber total falsch ist ist Deine Samba Konfiguration (pdb_init_sam failed!). "Security=domain" ist für Windows NT ohne Kerberos und selbst dazu hat yast hier wohl einiges bei der automatischen Konfiguration falsch gemacht. Folgende Einträge sollte Deine smb.conf schon besitzen:

security = ads
idmap uid = xxxxx-yyyyy
idmap gid = xxxxx-yyyyy
winbind separator = +
winbind enum users = yes
winbind enum groups = yes
encrypt passwords = Yes
preferred master = no
realm = EXAMPLE.COM


Die "logon" und "passdb backend" Parameter kannst Du Dir hingegen sparen, der Linuxrechner ist doch nur Client für die Benutzer. (Samba kann kein BDC für einen Windows PDC sein!). Am Ende sollte ein

net ads join -U Administrator
zum Beitritt der Domaine führen und "wbinfo -u" sollte Dir die Windowsbenutzer und "wbinfo -g" die Windowsgruppen anzeigen.

Dann noch winbindd starten und winbind in /etc/nsswich.conf hinzufügen.

passwd: compat winbind
shadow: compat
group: compat winbind
.... Dann sollten die Benutzer auch mit "gettent passwd" und "gettent group" für das Linuxsystem verfügbar sein und die Anmeldung mit den Windowsusern am Linuxsysstem sollte möglich sein.

hippoth
26.08.08, 18:13
zum Beitritt der Domaine führen und "wbinfo -u" sollte Dir die Windowsbenutzer und "wbinfo -g" die Windowsgruppen anzeigen.
Hallo Jens, erstmal Danke für deine kompetente Hilfe - ich bin schon ein ganzes Stück weiter gekommen.

Es funktioniert schonmal, dass ich Nutzer und Gruppen mittels wbinfo anzeigen lassen kann.

Was aber nicht geht bzw. etwas merkwürdig erscheint ist die tatsache, dass immer, wenn ich eine Freigabe unter Samba eintrage das Passwort des Admins aus der Windows-Domäne abgefragt wird. Allerdings kann das nicht verifiziert werden, da unter "Samba" --> "Identität" der Name der Domain als Kürzel angegeben ist. Trage ich den vollqualifizierten Internetnamen also kürzel.domain.com ein, dann geht es. Allerdings klappt dann die Verbindung zum AD nicht mehr.
Wenn ich nach dem Eintrag einer Freigabe die Authentifikation am AD ignoriere steht die Freigabe dann zwar drin aber ich kann die Freigabe von einer Windows-Maschine aus nicht erreichen.

Was mache ich denn da mit den Freigaben noch falsch?

hippoth
27.08.08, 09:10
Noch eine Ergänzung ...

Ich habe gerade gesehen, dass Teile meiner Änderungen an der smb.conf immer wieder verschwinden, z.B. die "security = ads" wird wieder zu "security = user" und "encrypt passwords = yes" genau wie "preferred master = no" verschwinden gänzlich. :eek:

Hast du eine Erklärung dafür, wird das durch einen anderen Prozeß überschrieben?

hippoth
27.08.08, 09:37
Noch etwas ...

Ich habe gerade gesehen, dass Kerberos nicht aktiv war - das hab ich korrigiert, bin dann nochmal via "net ads join -U Administrator" der Domäne beigetreten, habe den SMB daemon neu gestartet und siehe da, ich kann mich mit dem Samba verbinden.

Dann wollte ich noch eine Freigabe hinzufügen, hätte diese aber wieder mit einem Betritt zur Domäne bestätigen müssen (ich frag mich wieso eigentlich immer). Wenn ich dies wieder mit dem korrekten Passswort versuche scheitert es wieder mit der Meldung "Unable to find suitable server", da ich unter Idendität ja auch "nur" das Kürzel der Domäne eingetragen habe.
Also mache ich den Abschluß des Samba-Freigaben-Dialoges ohne Beitritt zur Domäne.
Die Folge davon: ich komme wieder nicht in die Freigaben rein. Also, wieder "net ads join -U Administrator", SMB daemon neustarten und dann geht es.

Ist das wirklich der richtige Weg? Mir scheint es für eine simple Freigabe doch arg umständlich? :confused:

hippoth
27.08.08, 15:58
Ok, Probleme haben sich geklärt ... Authentifikation am AD muß doch nicht mit jeder Freigabe gemacht werden. :)

hessijens
27.08.08, 16:00
Jetzt rächt sich, dass ich schon lange kein SuSE mehr benutzt habe. Ich habe nämlich keine Ahnung ob oder warum die Optionen überschrieben werden, könnte mir aber erklären, dass autoyast die Optionen wieder anders setzt. Versuch mal autoyast (gibt es das überhaupt noch?) abzuschalten oder versuche mal mit yast die Option in die smb.conf zu schreiben und der Domäne beizutreten (ich glaube das sind zwei unterschiedliche Icons).

"net ads join -U Administrator" dient dazu den Computer in der Domaine bekannt zu machen und die nötigen Verbindungsdaten zu speichern. Einmal ausführen reicht in der Regel. Evtl. musst Du auch noch den Domainserver angeben "net ads join -S PDC? -U Administrator" und in der smb.conf unter global "client use spnego = yes" was eigentlich der default sein sollte. Mehr fällt mir jetzt nicht mehr ein.