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:
[global] workgroup = LOCALDOMpassdb backend = ldapsam:ldap://tux.local.lanlogon path = \\%L\profiles\.msprofilelogon home = \\%L\%U\.9xprofilelogon 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 "%gdomain logons = Yesdomain master = Yesldap admin dn = cn=Administrator,dc=local,dc=lanldap group suffix = ou=groupldap machine suffix = ou=Machinesldap passwd sync = Yesldap suffix = dc=local,dc=lanldap user suffix = ou=peoplelocal master = Yesos level = 255 preferredmaster = Yessecurity = userwins support = Yesnetbios name = tuxusershare allow guests = Nomap to guest = Bad User
Das Groupmapping sollte auch passen:
~# net groupmap listallusers (S-1-5-21-3602057179-2995430197-2187176434-513) -> allusersadmins (S-1-5-21-3602057179-2995430197-2187176434-512) -> adminsguests (S-1-5-21-3602057179-2995430197-2187176434-514) -> guestsdomcomputer (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:
dn: uid=wints$,ou=Machines,dc=local,dc=lanobjectClass: sambaSamAccountobjectClass: posixAccountobjectClass: accountcn: Windows Workstation WINTS$gidNumber: 65534homeDirectory: /var/lib/nobodysambaSID: S-1-5-21-3602057179-2995430197-2187176434-1027uid: wints$uidNumber: 1001displayName: WINTS$loginShell: /bin/falsesambaAcctFlags: [W ]sambaNTPassword: A641BFED514B1BF870C9A87AFD312BBDsambaPwdLastSet: 1392401476
aber es fehlt das Attribut:
welche das Objekt als Windows-Domänencomputer spezifiziert.
Für das On-The-Fly - Anlegen der Vertrauensstellung sind ja diese Zeilen verantwortlich:
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:
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