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:
Das Groupmapping sollte auch passen:
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:
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:
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:
ausgegeben.
Hat jemand von Euch ein ähnliches Setup unter OpenSuSE oder hat eine Idee wo das Problem liegen könnte?
Viele Grüße
pixel
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:
[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:
~# 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:
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
Code:
sambaPrimaryGroupSID: S-1-5-21-3602057179-2995430197-2187176434-515
Für das On-The-Fly - Anlegen der Vertrauensstellung sind ja diese Zeilen verantwortlich:
Code:
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
# 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:
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$
Hat jemand von Euch ein ähnliches Setup unter OpenSuSE oder hat eine Idee wo das Problem liegen könnte?
Viele Grüße
pixel