• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

ADS / Samba / Idmap

ThomasF

Hacker
Hi @all,

ich schlage mich gerade mit einer nicht zu verachtenden Herausforderung herum ;)

Das Ziel ist es einen Linux Server ( Ubuntu Server 8.04 LTS ) einzurichten der sich an einer AD (Active Directory) authentifiziert.

Dieser Server soll als Mail- und File-Server (Samba und NFS ) dienen. Die Verbindung zum AD ( SFU 3.5) mit Hilfe von LDAP und Kerberos war dabei die kleinste Hürde.

Und da die Posix Seite ja funktioniert dachte ich der Samba wäre auch nicht weiter kompliziert ;)
Kerberos sollte auch genutzt werden, also war "security = ADS" schon mal Pflicht.

Samba ohne winbind war aber keine gute Idee, ich weiß nicht woran genau es lag aber manchmal war eine Verbindung vom Client zum Server möglich und manchmal nicht, zudem stürzte Samba regelmäßig ab ( Port 139 war nicht mehr erreichbar )

Im nächsten Versuch Samba mit winbind, aber ohne Idmapping ( ohne idmap da ich in vorherigen Versuchen schon raus gefunden hatte das das Mapping die UIDs und GIDs vom Server ignoriert) ... das sah schon besser aus .... aber es stellt sich schnell heraus das die Rechtevergabe auf die Ordner und Dateien stark eingeschränkt war ( Nur UidNumber und primäre GID möglich ) und da wie erwähnt sowohl Windows als auch Linux Clients auf den gleichen Datenbestand zugreifen sollten ein unhaltbarer Zustand *fg*

Ich hatte mir mehr von der Option winbind nss info = sfu versprochen ...

Also doch einen idmap Bereich definieren ... z.B 1000-1099 für die UIDs und 2000-2099 für die GIDs

Das Problem nun war das der MS Server schon eine Weile lief und diverse User und Gruppen angelegt waren die auch schon produktiv arbeiten ... Über die SFU Attribute also schon verschiedene Nummern vergeben waren ...

Es kam wie es kommen musste ... Samba und Winbind neu gestartet ... und schon begann Winbind der Reihe nach UIDs und GIDs zu vergeben ... natürlich nicht so wie auf dem MS Server *grummel*

So und schon die nächste Ungereimtheit net usersidlist gibt die UIDs korrekt aus wie sie auch in der AD eingetragen sind ... sobald ich jedoch über einen Windows-Client einem Ordner oder einer Datei weitere Rechte vergebe ... also sage eine Gruppe hinzufügen die z.B nur lesen darf und ich diese Rechte mit getfacl überprüfe sehe eine völlig willkürliche gidNumber ...

Wenn jemand eine Lösung kennt ... immer her damit ;)

Ich habe dies Problem "per Hand" behoben ... mit :

net idmap dump /var/lib/samba/winbindd_idmap.tdb > winbindd_idmap.dump

Die Datei editiert, also die korrekten GIDs eingetragen und dann mit net idmap restore zurückgespielt ...

Bitte um Kommentare ;)

So long

ThomasF
 

stka

Guru
Eine andere Lösung würde mir auch nicht einfallen, zumindest nicht so schnell. Das ist leider das Problem wenn der AD schon länger läuft.
 
OP
ThomasF

ThomasF

Hacker
Hmmm,

für alle die es interessiert, hier ein Link der auf eine "neue" oder eher undokumentierte Variante zurückgreift :

http://blogs.sun.com/jurasek/entry/even_more_simple_configuration

Der interessante Part ist dieser :

Code:
...
#  winbind configuration: 

   winbind nested groups = yes
;  winbind normalize names = yes
;  winbind use default domain = yes
;  winbind enum users = yes
;  winbind enum groups = yes
   winbind nss info = sfu

   idmap domains = SMBSETUP

   idmap config SMBSETUP:backend = ad
   idmap config SMBSETUP:default = yes
   idmap config SMBSETUP:range = 500 - 100000
   idmap config SMBSETUP:schema_mode = sfu
 ...

Auf den ersten Blick scheint es zu klappen ... werde es aber noch etwas genauer testen ...

So long

ThomasF
 

stka

Guru
Bei undokumentierten Funktionen bin ich ja immer sehr vorsichtig, wer weiß was da alles nachkommt.
Aber vielleicht kannst du ja was zu dem Thema ins wiki schreiben ;-) Dann geht das nicht verloren.
 
OP
ThomasF

ThomasF

Hacker
Naja wirklich undokumentiert stimmt nicht ganz ;)

Im Samba Wiki findet sich die Syntax auch : http://wiki.samba.org/index.php/Ldapsam_Editposix

idmap config ist wohl erst ab 3.0.25 möglich ... mit undokumentiert meine ich das testparm -v es nicht zeigt ... ebensowenig wie die Hilfe von "net" das vorhanden sein von net idmap verrät ;)

Aber du hast recht, ich werde schaun das ich das in unserem Wiki unterbringe ...

Habe nämlich noch etwas raus gefunden

Code:
...
winbind nss info = rfc2307 ### sfu geht nicht

idmap domains = DOMAIN

idmap config DOMAIN:backend = ad
idmap config DOMAIN:schema_mode = rfc2307 ### sfu geht nicht
idmap config DOMAIN:default = yes
idmap config DOMIAN:range = 500 - 5000000000

...

Angeblich soll "winbind nss info = sfu" mit dem MS Server 2003 R2 (SFU 3.5) gehen ... und wenn ich mit nss_ldap arbeite sehe ich auch die richtigen Posix Attribute und muss diese in der ldap.conf nicht "ummappen"

Im Zusammenhang mit winbind und idmap bekomme ich jedoch keine Ausgabe bei "getent passwd"
Erst wenn ich rfc2307 verwende werden die Posix Attribute richtig erkannt ... merkwürdig ...

So long

ThomasF
 
Oben