ubuntuusers.de

Samba Active Directory - Login via Windows-Client schlägt fehl

Status: Gelöst | Ubuntu-Version: Server 16.04 (Xenial Xerus)
Antworten |

Glocke

Avatar von Glocke

Anmeldungsdatum:
1. März 2009

Beiträge: 880

Wohnort: Thüringen

Hi, ich plane einen Linux-basierten ActiveDirectory Server (auf Basis von Samba) in einer (zugegebenermaßen veralteten) Umgebung von Windows-Clients (WinXP und Win7) einzurichten.

In meiner Virtualbox Testumgebung habe ich es geschafft, dass sich WinXP-Client und Samba-Server finden. Der Client kann der Domain beitreten, sich an ihr aber nicht anmelden - gleiches mit meinem Win10 Rechner (scheint also kein XP-ist-veraltet-Problem zu sein).

Konkret meldet der Loginversuch unter Windows zurück, dass Benutzername/Passwort falsch sind. Am Server liefert der auth.log, dass someguy@FSG nicht in der Kerberos-Datenbank gefunden werden kann. Allerdings ist FSG der Domainname (das komplette Realm heißt FSG.INTRANET). Die Windows-Clients sind auch teil des Realms (konkret: xptest.fsg.intranet etc.), versuchen aber @FSG statt @FSG.INTRANET beim Login zu verwenden.

Darüberhinaus liefert das Beitreten der Domain - auch wenn die Windowsclients ein positive Meldung liefern - zusätzliche Authlogs:

  • Administrator@FSG.INTRANET gibt es nicht in der Kerberos-DB

  • xptest$@FSG.INTRANET gibt es nicht in der Kerberos-DB

Administrator ist der Samba-Admin-Name - ich verwende den Samba-Admin um der Domain zu joinen. xptest ist der Computername des XP-Clients - das $ scheint einen Maschinenaccount zu beschreiben. Ich habe in div. Google-Ergebnissen von "Trusted Machine Accounts" gelesen, aber das Erstellen eines Linux-Benutzers mit Namen xptest$ half auch nicht (selbiges für einen Kerberos-Nutzer).

Hat jemand hier eine Idee was ich falsch mache? Auf das massenhafte, ziellose Posten von Logs verzichte ich erstmal - außer ihr habt einen konkreten Wunsch bzgl. Logs, Configs etc. ☺

LG Glocke

Glocke

(Themenstarter)
Avatar von Glocke

Anmeldungsdatum:
1. März 2009

Beiträge: 880

Wohnort: Thüringen

*push*

cflinux

Anmeldungsdatum:
14. Januar 2013

Beiträge: 685

Hallo

Die Uhrzeit zwischen den Clients und dem AD-Server sind gleich?

Kannst du mit kinit ein Ticket erstellen (z.B kinit administrator) mit klist kannst du das Ticket ansehen.

Deine AD-User werden mit wbinfo -u angezeigt?

Gruß cflinux

Glocke

(Themenstarter)
Avatar von Glocke

Anmeldungsdatum:
1. März 2009

Beiträge: 880

Wohnort: Thüringen

cflinux schrieb:

Deine AD-User werden mit wbinfo -u angezeigt?

Hier scheint der Fehler! Der Nutzer existiert nur als Kerberos-Nutzer, nicht im AD. Ihn einfach hinzufügen bringt allerdings auch nichts :S

Ticket erstellen und anzeigen mit kinit und klist geht - da wird allerdings @FSG.INTRANET (und nicht wie beim XP-Login nur @FSG) verwendet.

/EDIT:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
cat /etc/krb5.conf 
[libdefaults]
	default_realm = FSG.INTRANET

[realms]
	FSG.INTRANET = {
		kdc = server.fsg.intranet:88
		admin_server = server.fsg.intranet:749
		default_domain = FSG
	}

[domain_realm]
	.fsg.intranet = FSG.INTRANET
	fsg.intranet = FSG.INTRANET

[logging]
	kdc = FILE:/var/log/kerberos/krb5kdc.log
	admin_server = FILE:/var/log/kerberos/kadmin.log
	default = FILE:/var/log/kerberos/krb5lib.log
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
cat /etc/samba/smb.conf 
# Global parameters
[global]
	workgroup = FSG
	realm = FSG.INTRANET
	netbios name = SERVER
	server role = active directory domain controller
	dns forwarder = 192.168.0.250
	idmap_ldb:use rfc2307 = yes

[netlogon]
	path = /var/lib/samba/sysvol/fsg.intranet/scripts
	read only = No

[sysvol]
	path = /var/lib/samba/sysvol
	read only = No
1
2
3
4
5
6
wbinfo -u
FSG\administrator
FSG\chrglo
FSG\krbtgt
FSG\guest
FSG\root
1
2
3
4
5
6
7
klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: chrglo@FSG.INTRANET

Valid starting       Expires              Service principal
07.05.2018 13:04:32  07.05.2018 23:04:32  krbtgt/FSG.INTRANET@FSG.INTRANET
	renew until 08.05.2018 13:04:29
1
2
3
4
5
6
7
8
9
kadmin.local:  listprincs
K/M@FSG.INTRANET
admin/admin@FSG.INTRANET
chrglo@FSG.INTRANET
kadmin/admin@FSG.INTRANET
kadmin/changepw@FSG.INTRANET
kadmin/server@FSG.INTRANET
kiprop/server@FSG.INTRANET
krbtgt/FSG.INTRANET@FSG.INTRANET

cflinux

Anmeldungsdatum:
14. Januar 2013

Beiträge: 685

Hallo

Versuch mal diese Zeilen als neue krb5.conf

[libdefaults]
	default_realm = FSG.INTRANET
        dns_lookup_realm = false
        dns_lookup_kdc = true

Was mir in deiner smb.conf aufgefallen ist:

sollte diese Zeile
idmap_ldb:use rfc2307 = yes

nicht so heißen
idmap_ldap:use rfc2307 = yes

Die smb.conf kannst du mit testparm prüfen.

Hier scheint der Fehler! Der Nutzer existiert nur als Kerberos-Nutzer, nicht im AD. Ihn einfach hinzufügen bringt allerdings auch nichts :S

Ticket erstellen und anzeigen mit kinit und klist geht - da wird allerdings @FSG.INTRANET (und nicht wie beim XP-Login nur @FSG) verwendet.

Das ist normal, das er da den ganzen Realm verwendet.

Noch ein bescheuerte Frage: Du hast aber keinen extra Kerberos-Server installiert.

Welche Samba Version verwendest du?

Gruß cflinux

Glocke

(Themenstarter)
Avatar von Glocke

Anmeldungsdatum:
1. März 2009

Beiträge: 880

Wohnort: Thüringen

cflinux schrieb:

Versuch mal diese Zeilen als neue krb5.conf

[libdefaults]
	default_realm = FSG.INTRANET
        dns_lookup_realm = false
        dns_lookup_kdc = true

Die beiden Zeilen hatte ich mal drinne ... ging auch nicht. Aber ich füge sie mal wieder hinzu ^^

cflinux schrieb:

Was mir in deiner smb.conf aufgefallen ist:

sollte diese Zeile
idmap_ldb:use rfc2307 = yes

nicht so heißen
idmap_ldap:use rfc2307 = yes

Die smb.conf kannst du mit testparm prüfen.

Ok danke. Testparm gibt mir ein OK zur Konfiguration.

cflinux schrieb:

Noch ein bescheuerte Frage: Du hast aber keinen extra Kerberos-Server installiert.

Welche Samba Version verwendest du?

Samba 4.3.11 16.04er-Quellen.

Aber einen extra Kerberos-Server habe ich installiert... ich war davon ausgegangen, dass das erforderlich wäre. Liegt da der Fehler?

LG

cflinux

Anmeldungsdatum:
14. Januar 2013

Beiträge: 685

Hallo

Der Samba-Server bringt seinen eigenen Kerberos-Server mit. Da wird wahrscheinlich das Problem liegen. Ob man einen externen Kerberos-Server mit Samba benutzen kann, weiß ich nicht, hab ich auch noch nicht probiert.

Gruß cflinux

Glocke

(Themenstarter)
Avatar von Glocke

Anmeldungsdatum:
1. März 2009

Beiträge: 880

Wohnort: Thüringen

ok, dann teste ich es mal so. in mehreren "Tutorials" hatte ich gelesen es wäre nen extra kerberos Server zu installieren (vllt eher wenn mehrere physische Server verwendet werden)

LG Glocke

Glocke

(Themenstarter)
Avatar von Glocke

Anmeldungsdatum:
1. März 2009

Beiträge: 880

Wohnort: Thüringen

Soooo, ich hab mal den gesamten Server (gleich mit 18.04 LTS) neu aufgesetzt.. mit dem DNS hab ich ne ganze Weile gekämpft. Inzwischen läuft Samba aber (bisher) ordnungsgemäß. Bzgl. Kerberos habe ich nur krb5-user installiert (keinen Admin-Server). kinit und klist funktionieren mit administrator.

Allerdings ist dieser Account kein Admin, sodass ich nicht in das kadmin-Interface reinkomme - und kadmin.local gehört zu krb5-admin-server.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
fsgadmin@server:~$ kinit administrator
Password for administrator@FSG.INTRANET: 
Warning: Your password will expire in 41 days on Mi 20 Jun 2018 12:02:56 UTC


fsgadmin@server:~$ klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: administrator@FSG.INTRANET

Valid starting       Expires              Service principal
09.05.2018 12:28:44  09.05.2018 22:28:44  krbtgt/FSG.INTRANET@FSG.INTRANET
        renew until 10.05.2018 12:28:41


fsgadmin@server:~$ kadmin
Authenticating as principal administrator/admin@FSG.INTRANET with password.
kadmin: Missing parameters in krb5.conf required for kadmin client while initializing kadmin interface


fsgadmin@server:~$ kadmin.local

Command 'kadmin.local' not found, but can be installed with:

sudo apt install krb5-admin-server

Füge ich in der /etc/krb5.conf noch

1
2
3
4
5
6
[realms]
        FSG.INTRANET = {
                kdc = server.fsg.intranet:88
                admin_server = server.fsg.intranet:749
                default_domain = fsg
        }

ein, liefert kadmin:

1
2
3
fsgadmin@server:~$ kadmin
Authenticating as principal administrator/admin@FSG.INTRANET with password.
kadmin: Client 'administrator/admin@FSG.INTRANET' not found in Kerberos database while initializing kadmin interface

Vllt hast du 'ne Idee was ich falsch mache ☺ Ich weiß, dass administrator und administrator/admin verschieden sind (ersterer entspricht einem einfachen Nutzer, das zweite ist ein Admin-Account). Allerdings finde ich keinen Zugang zu kadmin um einen adäquaten Admin zu erstellen.

LG Glocke

PS: lookups für server.fsg.intranet etc. funktionieren

/EDIT: Aber der Login via XP geht ☺

cflinux

Anmeldungsdatum:
14. Januar 2013

Beiträge: 685

Hallo

Glocke schrieb:

Soooo, ich hab mal den gesamten Server (gleich mit 18.04 LTS) neu aufgesetzt.. mit dem DNS hab ich ne ganze Weile gekämpft. Inzwischen läuft Samba aber (bisher) ordnungsgemäß. Bzgl. Kerberos habe ich nur krb5-user installiert (keinen Admin-Server). kinit und klist funktionieren mit administrator.

Allerdings ist dieser Account kein Admin, sodass ich nicht in das kadmin-Interface reinkomme - und kadmin.local gehört zu krb5-admin-server.

Für was benötigst du das? Du legst deine Benutzer im Samba an und gut is.

cflinux

Glocke

(Themenstarter)
Avatar von Glocke

Anmeldungsdatum:
1. März 2009

Beiträge: 880

Wohnort: Thüringen

cflinux schrieb:

Du legst deine Benutzer im Samba an und gut is.

Ich habe zu kompliziert gedacht 😀 Danke, Problem gelöst!

Antworten |