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

IDMAP auf 2 Linux-Servern synchronisieren

DrSputnik

Member
Guten Morgen,

Folgende Aufgabe:

1x AD (2008)
2x Linux (SLES11SP1)
gleiche UserIDs

Ich habe beide Linux-Server mit auth. gegen AD eingerichtet.
Wenn ich jetzt aber die User-ID auslese erhalte ich unterschiedliche IDs der User - also ein und der selbe AD-User hat je nach Linux-Server eine andere ID.

Code:
linuxserver1:/var/lib # id user1
uid=1000125(sts-fibu)

linuxserver2:/var/lib # id user1
uid=27937(sts-fibu)

Ich habe auf dem Linuxserver2 den WINBIND gestoppt und das komplette /var/lib/samba Verzeichnis des Linuxservers1 rüber kopiert - WINBIND wieder gestartet, aber die ID hat sich nicht geändert!

Wo ist der Haken?

MfG
Dr.Sputnik
 

stka

Guru
Zeig mal deine smb.conf, denn das Mapping ist immer abhängig von den verwendeten Verfahren für das Mapping und jenes wird in der smb.conf festgelegt.
 
OP
D

DrSputnik

Member
Code:
[global]
        allow trusted domains = yes
        socket options = TCP_NODELAY
        map to guest = Bad User
        winbind use default domain = yes
        realm = DOMAIN.INTRANET
        logon home = \\%L\%U\.9xprofile
        passdb backend = tdbsam
        template shell = /bin/bash
        printcap cache time = 750
        cups options = raw
        server string = Server SLES11
        printing = cups
        idmap uid = 10000-20000
 template homedir = /home/ABC/ABC_Echt
        logon path = \\%L\profiles\.msprofile
        workgroup = DOMAIN
        winbind enum groups = yes
#       socket address = 170.56.100.20
        winbind refresh tickets = yes
        printcap name = cups
        security = ADS
        usershare allow guests = No
        idmap backend = tdb
        idmap gid = 1000000-1999999
idmap uid = 1000000-1999999
idmap config ISO : backend     = rid
idmap config ISO : range       = 10000 - 49999


So, sind aber auf beiden Server gleich - hab Sie selber kopiert!

coole Signatur ;-)
 

stka

Guru
workgroup = example
realm = EXAMPLE.NET
security = ADS
winbind enum users = yes
winbind enum groups = yes
winbind use default domain = yes
winbind refresh tickets = Yes
template shell = /bin/bash
idmap config * : range = 1000000 - 1999999
idmap config EXAMPLE : backend = rid
idmap config EXAMPLE : range = 1000000 - 1999999


Dir fehlt die Zeile "idmap config *" und Zeilen mit "idmap backend" also alle ohne Domainname oder * sind uralt. Was hast denn du da für eine alte Samba Version laufen. Versuch mal den Cache mit "net cache flush" zu löschen.
 
OP
D

DrSputnik

Member
Hallo Stefan,

danke für die Hilfe.
Die Samba Version (3.4) kommt von einer 2.8 - dieser Umzug ist aber schon Jahre her.

So, jetzt habe ich schon mal die UIDs in der passenden Höhe - aber sie sind immer noch nicht genau gleich.
Mein Problem ist, dass eine Software, welche auf beiden Servern läuft die User über die UIDs identifiziert - sind diese nicht gleich bekomme ich keinen erfolgreichen Login...

Wie bekomme ich die denn synchronisiert?

Gruß Markus
 

stka

Guru
normal sollte, wenn du "rid" für das ID-Mapping verwendest alle alle Benutzer aus dem AD auf einem Linux-client die selbe ID haben. Immer vorausgesetzt du hast überall die selbe range gesetzt. Schau mal in /var/lib/samba dort sollten zwei Dateien für das ID-Mapping liegen (die Datenbanken) wenn du den Winbind anhälst dann die Dateien zum Winbind löschst und dann den winbind wieder startest, dann sollte es passen. ABER die Einstellungen in der smb.conf sollten überall identisch sein.
 
OP
D

DrSputnik

Member
"normal sollte"
aber ich bekomme es nicht hin!
also ich hatte anfänglich die smb.conf vom ersten System auf dem 2. System kopiert - den winbind gestoppt das /var/lib/samba geleert und dann den winbind wieder gestartet.
Erfolglos....
Noch Ideen?
 

stka

Guru
Ich vermute immer noch das es an den alten Idmap Parametern liegt. Kommentiere die mal alle aus so das nur noch die neu Schreibweise in der smb.conf steht und zwar müssen das DREI Zeilen sein:

idmap config * : range = 1000000 - 1999999
idmap config EXAMPLE : backend = rid
idmap config EXAMPLE : range = 1000000 - 1999999

Die erste Zeile ist für die buildin Gruppen, selbst wenn du die NICHT erstellst muss die Range angegeben werden, sonst klappt das Mapping nicht korrekt.
Also die folgenden Zeilen aus dein conf auskommentieren:

idmap uid = 10000-20000
idmap backend = tdb
idmap uid = 1000000-1999999

Dann sollte deine smb.conf so aussehen wie das Beispiel von mir.
 
Oben