Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

Domänen-Beitritt, Machinen-Account unvollständig

Alles rund um die Server (Web-, Mail-, Datenbank-, Datenaustausch-, etc.) die man unter Linux betreiben kann

Moderator: Moderatoren

Antworten
pixel
Hacker
Hacker
Beiträge: 250
Registriert: 30. Mär 2004, 13:26
Wohnort: Bühl

Domänen-Beitritt, Machinen-Account unvollständig

Beitrag von pixel » 14. Feb 2014, 19:48

Hallo zusamen,

ich versuche schon seit drei Tagen ein Problem mit der Vertrauensstellung der Windows-Clients im Samba/LDAP zu lösen. Die Manpage zum tool sowie dessen Hilfe sind nicht wirklich hilfreich und extrem übersichtlich :-(

Es geht um ein OpenSuSE 12.2 (tritt aber auch auf 12.3 & 13.1 auf). Die Umgebung ist immer gleich. Samba-PDC der die User/Gruppen etc. im LDAP vorhält. Die smb.conf stellt sich wie folgt dar:

Code: Alles auswählen

[global]
        workgroup = LOCALDOM
        passdb backend = ldapsam:ldap://tux.local.lan
        logon path = \\%L\profiles\.msprofile
        logon home = \\%L\%U\.9xprofile
        logon drive = P:
        add user script = ldapsmb -a -u "%u"
        delete user script = ldapsmb -d -u "%u"
        add machine script = ldapsmb -a --homedir /var/lib/nobody -w "%u"
        add group script = ldapsmb -a -g "%g"
        delete group script = ldapsmb -d -g "%g"
        add user to group script = ldapsmb -j -u "%u" -g "%g"
        delete user from group script = ldapsmb -j -u "%u" -g "%g"
        set primary group script = ldapsmb -m -u "%u" -gid "%g
        domain logons = Yes
        domain master = Yes
        ldap admin dn = cn=Administrator,dc=local,dc=lan
        ldap group suffix = ou=group
        ldap machine suffix = ou=Machines
        ldap passwd sync = Yes
        ldap suffix = dc=local,dc=lan
        ldap user suffix = ou=people
        local master = Yes
        os level = 255
        preferred master = Yes
        security = user
        wins support = Yes
        netbios name = tux
        usershare allow guests = No
        map to guest = Bad User
Das Groupmapping sollte auch passen:

Code: Alles auswählen

~# net groupmap list
allusers (S-1-5-21-3602057179-2995430197-2187176434-513) -> allusers
admins (S-1-5-21-3602057179-2995430197-2187176434-512) -> admins
guests (S-1-5-21-3602057179-2995430197-2187176434-514) -> guests
domcomputer (S-1-5-21-3602057179-2995430197-2187176434-515) -> domcomputer
Wenn ich nun mit dem Windows-Client einen Domänen-Beitritt durchführe wird zwar im LDAP das entsprechende Objekt angelegt. Das sieht so aus:

Code: Alles auswählen

dn: uid=wints$,ou=Machines,dc=local,dc=lan
objectClass: sambaSamAccount
objectClass: posixAccount
objectClass: account
cn: Windows Workstation WINTS$
gidNumber: 65534
homeDirectory: /var/lib/nobody
sambaSID: S-1-5-21-3602057179-2995430197-2187176434-1027
uid: wints$
uidNumber: 1001
displayName: WINTS$
loginShell: /bin/false
sambaAcctFlags: [W          ]
sambaNTPassword: A641BFED514B1BF870C9A87AFD312BBD
sambaPwdLastSet: 1392401476
aber es fehlt das Attribut:

Code: Alles auswählen

sambaPrimaryGroupSID: S-1-5-21-3602057179-2995430197-2187176434-515
welche das Objekt als Windows-Domänencomputer spezifiziert.

Für das On-The-Fly - Anlegen der Vertrauensstellung sind ja diese Zeilen verantwortlich:

Code: Alles auswählen

add user script = ldapsmb -a -u "%u"
delete user script = ldapsmb -d -u "%u"
add machine script = ldapsmb -a --homedir /var/lib/nobody -w "%u"
add group script = ldapsmb -a -g "%g"
delete group script = ldapsmb -d -g "%g"
add user to group script = ldapsmb -j -u "%u" -g "%g"
delete user from group script = ldapsmb -j -u "%u" -g "%g"
set primary group script = ldapsmb -m -u "%u" -gid "%g
Zumindest werden diese in der Samba-Doku zum System (samba-doc, File: /usr/share/doc/packages/samba/examples/smb.conf.SUSE)
# This allows machine-account-creation on-the-fly.
# You need to create a root samba-user (never ever with the unix root pwd !!!)
# root has to be domain admin. and you need a group "machines"


Einzig den Parameter "--homedir /var/lib/nobody" musste ich hinzufügen da sonst der Domänen-Beitritt im Log mit dem Fehler dass die Variable $HOME nicht übergeben wurde abbricht.

Was mir jetzt allerding nicht ganz klar ist: Wird bei einem Domänen-Beitritt lediglich die Zeile:

add machine script....

ausgeführt oder spielen die anderen Zeilen auch mit rein? Ich habe den Aufruf von "ldapsmb" schon so ziemlich mit allen Parameter welche möglich sind getestet aber ohne Erfolg.

Solange die sambaPrimaryGroupSID nicht gesetzt ist wird im Log die Fehlermeldung:

Code: Alles auswählen

Feb 14 19:11:17 tux smbd[13398]: [2014/02/14 19:11:17.857061,  0] rpc_server/netlogon/srv_netlog_nt.c:976(_netr_ServerAuthenticate3)
Feb 14 19:11:17 tux smbd[13398]:   _netr_ServerAuthenticate3: netlogon_creds_server_check failed. Rejecting auth request from client WINTS machine account WINTS$
ausgegeben.

Hat jemand von Euch ein ähnliches Setup unter OpenSuSE oder hat eine Idee wo das Problem liegen könnte?

Viele Grüße
pixel
Das maximale Maß an Flach- und Schwachsinn, das eine »kommunizierende« Menschengruppe zu produzieren in der Lage ist, wird seit Internetzeiten nicht mehr an Stammtischen erreicht, deren Besatzung die 10. Runde intus hat.

Werbung:
spoensche
Moderator
Moderator
Beiträge: 7492
Registriert: 30. Okt 2004, 23:53
Wohnort: Siegen

Re: Domänen-Beitritt, Machinen-Account unvollständig

Beitrag von spoensche » 15. Feb 2014, 19:39

pixel hat geschrieben: aber es fehlt das Attribut:

Code: Alles auswählen

sambaPrimaryGroupSID: S-1-5-21-3602057179-2995430197-2187176434-515
welche das Objekt als Windows-Domänencomputer spezifiziert.
Das Attribut fehlt nicht und spezifiziert auch keinen Windows Rechner als Domänencomputer. Das Attribut bezieht sich auf Benutzer und nicht auf Computer. Der Windows Rechner wird als Domänenmitglied anhand des dazu gehörigen Machineaccount verifiziert.

pixel
Hacker
Hacker
Beiträge: 250
Registriert: 30. Mär 2004, 13:26
Wohnort: Bühl

Re: Domänen-Beitritt, Machinen-Account unvollständig

Beitrag von pixel » 18. Feb 2014, 10:39

spoensche hat geschrieben:Das Attribut fehlt nicht und spezifiziert auch keinen Windows Rechner als Domänencomputer. Das Attribut bezieht sich auf Benutzer und nicht auf Computer. Der Windows Rechner wird als Domänenmitglied anhand des dazu gehörigen Machineaccount verifiziert.
Danke für die Info.
Das maximale Maß an Flach- und Schwachsinn, das eine »kommunizierende« Menschengruppe zu produzieren in der Lage ist, wird seit Internetzeiten nicht mehr an Stammtischen erreicht, deren Besatzung die 10. Runde intus hat.

pixel
Hacker
Hacker
Beiträge: 250
Registriert: 30. Mär 2004, 13:26
Wohnort: Bühl

Re: Domänen-Beitritt, Machinen-Account unvollständig

Beitrag von pixel » 19. Feb 2014, 14:09

Danke für den Hinweis! Diese Woche kam wohl ein Update. Danach war der Befehl "ldapsmb" nicht mehr vorhanden. Das gleichnamige Paket war ebenfalls nicht mehr installiert und auch nicht mehr im Repo. Ich konnte es zwar auf dem Buid-Server herunterladen allerdings funktioniert es mit der aktuell unter OpenSuSE-13.1 installierten Samba-Version nicht.

Um mit Windows in die Domäne überhaupt wieder eintreten zu können musste ich nun wieder auf:

Code: Alles auswählen

add machine script = /usr/sbin/useradd -c Machine -d /var/lib/nobody -s /bin/false %m$
Nur damit habe ich nun wieder den Effekt dass das Maschinen-Konto sowohl in /etc/passwd als auch im LDAP angelegt wird was ja eigentlich Unsinn ist, oder?
Das maximale Maß an Flach- und Schwachsinn, das eine »kommunizierende« Menschengruppe zu produzieren in der Lage ist, wird seit Internetzeiten nicht mehr an Stammtischen erreicht, deren Besatzung die 10. Runde intus hat.

spoensche
Moderator
Moderator
Beiträge: 7492
Registriert: 30. Okt 2004, 23:53
Wohnort: Siegen

Re: Domänen-Beitritt, Machinen-Account unvollständig

Beitrag von spoensche » 19. Feb 2014, 18:10

pixel hat geschrieben: Um mit Windows in die Domäne überhaupt wieder eintreten zu können musste ich nun wieder auf:

Code: Alles auswählen

add machine script = /usr/sbin/useradd -c Machine -d /var/lib/nobody -s /bin/false %m$
Nur damit habe ich nun wieder den Effekt dass das Maschinen-Konto sowohl in /etc/passwd als auch im LDAP angelegt wird was ja eigentlich Unsinn ist, oder?
Unsinn würde ich nicht sagen, aber überflüssig. Das der Machine-Account auch in der /etc/passwd angelegt wird liegt am useradd Befehl, da er normalerweise nur lokale Accounts anlegt.

Damit der Machine-Account nur auf dem LDAP-Server angelegt wird musst du "ldapadd" verwenden.

Antworten