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

ADS / Samba / Idmap

Alles rund um das Internet, Internet-Anwendungen (E-Mail, Surfen, Cloud usw.) und das Einrichten von Netzwerken einschl. VPN unter Linux

Moderator: Moderatoren

Antworten
Benutzeravatar
ThomasF
Hacker
Hacker
Beiträge: 578
Registriert: 1. Mai 2004, 12:37
Wohnort: Köln

ADS / Samba / Idmap

Beitrag von ThomasF »

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
______________________

Ich bin /root, ich darf das !
stka
Moderator
Moderator
Beiträge: 3357
Registriert: 1. Jun 2004, 13:56
Wohnort: 51°58'34.91"N 7°38'37.47"E
Kontaktdaten:

Re: ADS / Samba / Idmap

Beitrag von stka »

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.
Du hörst nicht auf zu laufen weil du alt wirst. Du wirst alt weil du aufhörst zu laufen.
Das neue Buch http://www.kania-online.de/fachbuecher
Benutzeravatar
ThomasF
Hacker
Hacker
Beiträge: 578
Registriert: 1. Mai 2004, 12:37
Wohnort: Köln

Re: ADS / Samba / Idmap

Beitrag von ThomasF »

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 ... figuration

Der interessante Part ist dieser :

Code: Alles auswählen

...
#  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
______________________

Ich bin /root, ich darf das !
stka
Moderator
Moderator
Beiträge: 3357
Registriert: 1. Jun 2004, 13:56
Wohnort: 51°58'34.91"N 7°38'37.47"E
Kontaktdaten:

Re: ADS / Samba / Idmap

Beitrag von stka »

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.
Du hörst nicht auf zu laufen weil du alt wirst. Du wirst alt weil du aufhörst zu laufen.
Das neue Buch http://www.kania-online.de/fachbuecher
Benutzeravatar
ThomasF
Hacker
Hacker
Beiträge: 578
Registriert: 1. Mai 2004, 12:37
Wohnort: Köln

Re: ADS / Samba / Idmap

Beitrag von ThomasF »

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: Alles auswählen

...
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
______________________

Ich bin /root, ich darf das !
Antworten