Hallo!
Am Freitag 17 September 2010 schrieb Jens Weiße:
Frage: Wo sind die Gruppen definiert? Und wie sind die festgelegt? Hier ist nach meinen Erfahrungen der Knackpunkt. Ich habe die Gruppen ebenfalls im LDAP liegen. Dort müssen die Nutzer über MemberUid eingesetzt werden. Beispiel:
dn: cn=DomainAdmins,ou=sysgroups,o=SYSTEM,dc=musikgym,c=de cn: DomainAdmins gidNumber: 98 memberUid: ntadmin memberUid: adm objectClass: posixGroup objectClass: sambaGroupMapping structuralObjectClass: posixGroup entryUUID: bf7640fa-19ff-102a-8eb9-d556bce1a672 sambaSID: S-1-5-21-1183065902-2052886306-2859288576-512 sambaGroupType: 2 displayName: DomainAdministratoren description: Domain Unix group
MemberUID gibt es nicht. Die Nutzer stecken alle in member mit dem vollen "LDAP-Pfad".
LDAP kennt im Prinzip zwei Arten von Gruppen. posixGroups entsprechen den klassischen Gruppen im Linux und eben auch im Samba-System. Nur diesen lässt sich sauber eine Samba-Gruppe zuordnen.
Du hast aber:
dn: cn=lft,ou=group,dc=domain=de cn: lft gidNumber: 20000 ... member: uid=weisse,ou=people,dc=domain,dc=de ... objectClass: top objectClass: groupOfNames objectClass: sambaGroupMapping
also den Typ: GroupOfNames gegeben. Damit beides überhaupt geht, hast Du objectClass: top mit eingefügt (sonst würde dich der Strukturtest sofort warnen, dass das in den Schema-Vorgaben nicht vorgesehen ist. Bau einfach mal zum Testen eine Gruppe nach meinem Schema. Dann sollte es gehen...
Die Gruppe "nt_domain_admin" fehlt auf meinem Linux-Arbeitsplatzrechner. ==>> Lustig.
War gerade das nette Beispiel: Die Gruppe $SID-512 hat immer Admin-Rechte. Damit baue ich mir immer einen Nutzer, der auf den Arbeitsplätzen Admin-Rechte hat, um damit Software zu installieren und Registry-Einträge zu ändern. Auch für das Default-Profile ist das sehr nützlich...
Genau das habe ich: SuSE 11.3 mit dem mitgelieferten LDAP. Allerdings hatte ich große Probleme mit dem von SuSE gepatchten Samba.
Welche Patches? Habe die mehr als ein paar Pfadangaben verändert?!
keine wirkliche Ahnung. Aber die haben einiges gepatcht. Und irgendwas davon hatte anfangs verhindert, dass ich meine Rechner in die Domäne aufnehmen konnte (Windows 7 prof.). Mit dem Original-Samba ging dann plötzlich alles ohne Probleme. Frag also nicht, was SuSE da gemacht hat. Es gab dann kurz darauf ein Patch-Update für Samba von SuSE. Vielleicht hat das die Probleme gelöst. Analog war der dhcpd von SuSE zwar gegen LDAP gelinkt, aber seine Konfiguration hat er trotzdem nicht aus dem LDAP gelesen. Auch hier hatte SuSE ca. 4 Wochen nach dem Versenden der DVD-Boxen auf einmal einen Patch nachgeliefert. Laut SuSE soll der das Problem gelöst haben. Da ich ohnehin selbst kompiliert habe, musste ich den SuSE-Patch noch nicht testen.
Naja ... ich würde am liebsten bei den Suse-Paketen bleiben wollen. Hin und wieder ist halt doch mal eine Sicherheitslücke in Samba drin. Und meine Kollegen wollen ein möglichst einfaches Standardsystem.
Sehe ich ja ein, würde ich auch gern. Nur müsste es dazu auch funktionieren! Wenn es nicht geht, greift man dann doch zum Compiler...
Hast du noch irgendwelche Geschichten mit IDMAP (winbind o.ä.) gefummelt?
IDMAP wird benutzt, wenn Du bereits einen Windows NT oder ähnlichen Server mit Domäne, aber noch ohne ADS hast. Dann kannst Du diesen Server als "trustet" in die Samba-Domäne einbinden. Die IDMAP ist die Tabelle, die die SIDs des NT-Servers auf die IDs in der Samba-Domäne mappt. Die Server 2003 und 2008 haben aber mit ADS ein komplett neues Modell, das nicht wirklich zum alten Prinzip kompatibel ist. Nach meinen Experimenten bringt das dann nix mehr...
Bzw. wie sieht deine smb.conf aus?
# Global parameters [global] server string = Schulserver %h (Samba %v) workgroup = LMG interfaces = lo 192.168.0.1/255.255.255.0 bind interfaces only = Yes hosts allow = 127. 192.168. 10. 172.16.0.0/255.240.0.0 unix extensions = Yes ldap passwd sync = Yes name resolve order = lmhosts host wins dns time server = Yes socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE case sensitive = no preserve case = yes short preserve case = yes map to guest = Bad User logon script = %a.bat logon path = \%L\Profiles%G%U%a logon drive = L: logon home = \%L\Profiles%G%U%a domain logons = Yes domain master = Yes os level = 255 preferred master = Yes passdb backend = ldapsam:ldap://localhost:389/ ldap ssl = Off ldap suffix = dc=musikgym,c=de ldap admin dn = cn=admin,dc=musikgym,c=de ldap machine suffix = ou=ARBEITSSTATIONEN,o=SCHULE ldap idmap suffix = ou=idmaps,o=SYSTEM ldap passwd sync = Yes ldap delete dn = Yes ; passdb expand explicit = yes dns proxy = No wins support = Yes message command = /bin/bash -c 'rm %s' & template homedir = /home/winbind/%U invalid users = internet, sysadm admin users = root, ntadmin guest account = nobody add user to group script = /usr/lib/ods-server/bin/modldapgroup -a %u %g delete user from group script = /usr/lib/ods-server/bin/modldapgroup -d %u %g add machine script = /usr/sbin/mkntclient %u mangled names = No log level = 3
Wird nichts neues bringen...
Gruss Reiner