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

[gelöst] interdomain zwischen zwei Samba PDC Servern

morbus

Newbie
hallo zusammen,

ich möchte gerne zwischen zwei Samba PDC Servern eine 2 Wege Vertrauenstellung einrichten.
Auf den Servern läuft jeweils ein Samba mit LDAP als Backend

als Grundlage "Chapter 19. Interdomain Trust Relationships"

was mir hier unklar ist
benötige ich für eine Vertrauensstellung zwischen 2 Samba PDC Servern "winbind"
oder benötige ich dies nur zwingend bei einer Vertrauensstellung zu einem NT/ADS?

oder gibt es hier schon einen Thread den ich nicht gefunden habe?

Grüße
Andreas
 
OP
M

morbus

Newbie
hat den hier noch keiner eine Vertrauensstellung zwischen 2 oder mehr Samba PDC´s erstellt,
der mir hier kurz helfen könnte.

wäre echt dankbar.

Grüße
Andreas
 
OP
M

morbus

Newbie
die Seite habe ich natürlich gelesen.
was daraus aber nicht hervorgeht, ist
ob man hierfür winbind benötigt, bzw. wie eine solche Konfig der smb.conf
aussehen soll.

hat mir hier jemand ein Beispiel.

Danke

Grüße
Andreas
 
OP
M

morbus

Newbie
inzwischen habe ich 2 Samba als PDC konfiguriert.
beide Server benutzen den gleichen LDAP Backend, sowie den gleichen WINS.
Die Server stehen in unterschiedlichen Subnets.
Die User können sich jeweils an einer Workstation die zu ihrer Domain gehört anmelden.

Anschliessend habe ich eine Vertrauensstellung hergestellt
# smbpasswd -a -i DomA (auf dem Server für DomB)
Added user DomA$

# net rpc trustdom establish DomB (auf dem Server für DomA)
Trust to domain DomB established

das LDAP Objekt für die Interdomain wurde ordungsgemäss erstellt.

DomB erscheint im Logo-Dialog auf der Client-Workstation von DomA.

versucht sich nun eine User aus DomB an der Client-Workstation von DomA mit seinem Benutzer-Account an der DomB anzumelden,
erschein auf dem Samba-Server der DomA folgende Fehlermeldung und der Benutzer kann sich nicht anmelden.

rpc_server/srv_netlog_nt.c:_net_sam_logon_internal(1004)
_net_sam_logon: user DOMB\ua3u has user sid S-1-5-21-3715551110-3175171577-3827417421-21154
but group sid S-1-5-21-2149592879-1989701190-715946865-513.
The conflicting domain portions are not supported for NETLOGON calls

smb.conf - DomA
[global]
workgroup = DOMA
printing = cups
printcap name = cups
printcap cache time = 750
cups options = raw
map to guest = Bad User
include = /etc/samba/dhcp.conf
logon path = \\%L\profiles\.msprofile
logon home = \\%L\%U
logon drive = H:
usershare allow guests = Yes
add machine script = /usr/sbin/useradd -c Machine -d /var/lib/nobody -s /bin/false %m$
domain logons = Yes
domain master = Yes
ldap admin dn = cn=ldapadmin,dc=example,dc=de
ldap group suffix = ou=Groups
ldap idmap suffix = ou=Idmap
ldap machine suffix = ou=Computers
ldap passwd sync = Yes
ldap ssl = Off
ldap suffix = dc=domA,dc=example,dc=de
ldap user suffix = ou=Users
local master = Yes
os level = 65
passdb backend = ldapsam:ldap://10.142.22.10
preferred master = Yes
security = user
wins support = Yes
interfaces = eth1
netbios name = linux5

smb.conf - DomB
[global]
workgroup = DOMB
printing = cups
printcap name = cups
printcap cache time = 750
cups options = raw
map to guest = Bad User
include = /etc/samba/dhcp.conf
logon path = \\%L\profiles\.msprofile
logon home = \\%L\%U
logon drive = H:
usershare allow guests = Yes
add machine script = /usr/sbin/useradd -c Machine -d /var/lib/nobody -s /bin/false %m$
domain logons = Yes
domain master = Yes
ldap admin dn = cn=ldapadmin,dc=example,dc=de
ldap group suffix = ou=Groups
ldap idmap suffix = ou=Idmap
ldap machine suffix = ou=Computers
ldap passwd sync = Yes
ldap ssl = Off
ldap suffix = dc=domB,dc=example,dc=de
ldap user suffix = ou=Users
local master = Yes
os level = 65
passdb backend = ldapsam:ldap://10.142.22.10
preferred master = Yes
security = user
wins server = 10.142.22.10
wins support = No
interfaces = eth0
netbios name = linux6

habe viel gegooglelt und doch leider nicht wirklich eine Lösung gefunden.

Wäre echt dankbar, wenn mir jemand helfen könnte.

Grüße
Andreas
 

PNS-Richi

Member
Hallo,

schau dir mal winbind und idmap an.

Wieso benutzt du eigentlich nicht die smbldap-tools?

Code:
...

   add machine script = /usr/sbin/smbldap-useradd -w "%u"
   add user script = /usr/sbin/smbldap-useradd -m "%u"
   ldap delete dn = Yes
   add group script = /usr/sbin/smbldap-groupadd -p "%g"
   add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
   delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
   set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"

...

http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/InterdomainTrusts.html
http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/idmapper.html

Ich weiß das winbind und trusted domains sehr mühsam sein kann.

Sehr wichtig ist auch die Samba Version, also welche Linux Distribution verwendest du, oder welches Betriebssystem. Ich rate dir Samba selber zu kompilieren!

Mach mal ein:
Code:
testparm -v

Zeig die Ausgabe, dann wissen wir was alles gesetzt ist.

lg Richi
 
OP
M

morbus

Newbie
hi Richi,

vielen Dank für die Anwort.

endlich mal einer der eine klare Antwort gib, dass man winbind benötigt.
ich habe gelesen, dass Du selbst eine Vertrauensstellung über 3 Samba Server im Betrieb hast,
daher wirst Du mir bestimmt helfen können.

Samba-Version 3.0.32
habe mir die beide Links nochmals angesehen, und folgendes in meine smb.conf ´s eingetragen.
allow trusted domains = yes
winbind separator = /
idmap uid = 20000-30000
idmap gid = 20000-30000
winbind enum users = yes
winbind enum groups = yes
idmap backend = ldap:ldap://10.142.22.10

auf dem Server für die DomA - zeigt die User der DomB und die eigenen - OK.
# wbinfo -u
DomB/testortho
DomB/ua3u
DomB/nobody
DomB/root
DomB/test
urouser
ua7i
ua7n
ua7w

damit können sich die User aus DomB, sofort über eine XP-Workstation die innerhalb der DomA steht, an ihrer Domäne DomB anmelden.
es funktioniert!?

hoffe Du kannst mir dennoch noch ein paar fragen zum Verständnis beantworten,
habe leider noch nicht verstanden wie das funktioniert.

ich habe die beiden LDAP - Objekte die es mir erstellt hat, einfach mal umbenannt und es funktioniert noch immer?
ou=Idmap,dc=domA,dc=example,dc=de
ou=Idmap,dc=domB,dc=example,dc=de
in den beiden OU´s war auch nichts weiter definiert - leere OU´s.
habe zusätzlich die folgenden Parameter wieder deaktiviert
# idmap uid = 20000-30000
# idmap gid = 20000-30000
# idmap backend = ldap:ldap://10.142.22.10

# /etc/init.d/smb reload
die Anmeldung an der entfernten Domäne funktioniert aber noch immer?
> wird Idmap überhaupt verwendet / benötigt ? - für mich sieht es aktuelle so aus, wie wenn es überhaupt nicht benötigt wird.
wo wird die idmap-Tabelle dann geführt? im LDAP sehe ich nichts?
und was soll hier eigentlich umgesetzt werden? welche UID bzw GID?

und was für eine Rolle spielt hier die nsswitch.conf?
passwd: compat
group: compat

hosts: files dns
networks: files dns

services: files ldap
protocols: files
rpc: files
ethers: files
netmasks: files
netgroup: files ldap
publickey: files

bootparams: files
automount: files nis
aliases: files ldap
passwd_compat: ldap
group_compat: ldap

hoffe Du kannst mir helfen und etwas Licht in die Sache bringen.

vielen Dank.

Grüße
Andreas
 
OP
M

morbus

Newbie
hi,

muss mich natürlich verbessern,
ohne die entsprechenden Einträge geht es natürlich nicht.
war wohl noch was im cache???

habe die Einträge wieder aktiviert und läuft wieder. ok.

jetzt habe ich das ganze zwischen 2 produktiven Servern aktiviert.

# smbpasswd -a -i
# net rpc trustdom eustablish

haben erfolgreich funktioniert.

dennoch ergibt sich folgendes Problem
# net rpc trustdom list (auf dem Server der trusted Domain z.B. DomA) alles ok.
# net rpc trustdom list (auf dem Server der trusting Domain z.B. DomB)
Password: <passwort des root vom Server für DomB)
Trusted domains list:

none

Trusting domains list:

Could not connect to server ENTERPRISE7
The username or password was not correct.
DomA S-1-5-21-1536317713-3189728498-1158623788

> kann sich leider nicht verbinden mit dem server der DomA?

bin doch aber aktuell mit dem User root an der Console auf dem Server der DomB angemeldet!

vom Server der DomA (inkl. winbind)
# wbinfo -u (zeigt alles User beider Domains)
# wbinfo -g (zeigt alle Gruppen beider Domains)
# wbinfo -t
checking the trust secret via RPC calls failed
error code was NT_STATUS_INVALID_HANDLE (0xc0000008)
Could not check secret

hoffe mir kann jemand helfen.
Danke.

Grüße
Andreas
 
OP
M

morbus

Newbie
hallo,

das Problem äußert sich zudem wie folgt

bei der Anmeldung des Benutzers aus DomB über eine Workstation aus DomA
sieht man im log.smbd
auth/auth.c:check_ntlm_password(309)
check_ntlm_password: authentication for user [or1inter] -> [or1inter] -> [or1inter] succeeded

gleichzeitig bekommt man auf dem Client (XP) die Meldung
Sie konnten nicht angemeldet werden. Überprüfen Sie Benutzername und Domäne, und geben Sie das Kennwort erneut ein. Bei Kennwörtern wird die Groß-/Kleinschreibung beachtet.

wie kann das den sein?

Grüße
Andreas
 
OP
M

morbus

Newbie
hallo,

Nachtrag zur Lösung,

hierbei ist zu beachten, dass bei der Verwendung von jeweils eigenen LDAP-Servern pro Domain,
die nsswitch.conf um "winbind" erweitert werden muss.

passwd: compat winbind
group: compat winbind
...
passwd_compat: ldap
group_compat: ldap

smb.conf (vetrauende Domain)
security = user
wins support = Yes
allow trusted domains = yes
idmap backend = ldap:ldap://<ldap1-Server>
idmap uid = 60000-70000
idmap gid = 60000-70000
winbind enum users = yes
winbind enum groups = yes

smb.conf (vertraute Domain)
allow trusted domains = yes # per Default aktiviert

# /etc/init.d/smb restart
# /etc/init.d/winbind restart (nscd darf nicht laufen)

Runlevel evtl. für die Reihenfolge anpassen.

# wbinfo -u # zeigt alle User
# wbinfo -g # zeigt alle Gruppen
# wbinfo -m # zeigt alle trusted-domains
# wbinfo -K DomB\\username%password # Kerberos Abfrage

# getent passwd # Password-DB abfragen
gibt u.a. die Domänen- User/Hosts der entfernten vertrauten Domain aus.

damit sollte nun auch die Anmeldung über einen Windows-Client an der vertrauten Domain funktionieren.

Grüße
Andreas
 
Oben