PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba3: Linux in Windows-Domäne



Apoll
12.07.05, 16:49
Achtung: Situation hat sich bei mir geändert. Siehe Post vom 4.8.2005 weiter unten von mir.


Hallo,

Ich habe momentan die Aufgabe, ein SuSE 9.0 System in eine Windows-Domäne zu integrieren. Das ganze ist noch auf experimenteller Basis, da dies bis auf diesen Rechner ein reines Windows-Netzwerk ist.

winbindd wurde bereits konfiguriert und läuft. Mein Problem ist jedoch, dass wbinfo -u (und -g) die Userliste aus der falschen Domäne entnimmt.
Die Domäne, in die die Linuxkiste rein soll, heißt OFFICE, wbinfo -u entnimmt die Liste allerdings aus der Domäne SAP. Warum das so ist, weiss ich nicht.. in der smb.conf wurde nämlich OFFICE als workgroup eingetragen.

Hier die entsprechenden Auszüge:

smb.conf

[global]
workgroup = OFFICE
os level = 2
time server = Yes
unix extensions = Yes
encrypt passwords = yes
map to guest = Bad User
wins support = No
security = domain
realm = FIRMA.LOCAL
winbind enum users = yes
winbind enum groups = yes
winbind separator = +
winbind uid = 10000-20000
winbind gid = 10000-20000
template shell = /bin/bash
template homedir = /home/%D/%U

nsswitch.conf

passwd: files winbind ldap
shadow: files
group: files winbind ldap

Bitte entschuldigt eventuelle geistige Aussetzer. Ich bin noch sehr neu auf dem Gebiet. Eine mehrstündige Suche im Internet und hier im Forum hat mir meine Frage leider nicht klar beantwortet.

MfG, Philipp

emba
13.07.05, 09:20
hi,

winbindd stoppen, caches löschen
winbindd im interaktiven modus starten und config-file angeben

winbindd -i -d 3 -s /deine/config

output posten

evtl. hast du die maschine auch der falschen domain gejoined -> rejoin der aktuellen domain

greez

Apoll
13.07.05, 10:26
Hier der Output von winbindd -i -d 3 -s /etc/samba/smb.conf:


it0033:/home/pwr # winbindd -i -d 3 -s /etc/samba/smb.conf
winbindd version 2.2.8a-SuSE started.
Copyright The Samba Team 2000-2001
Initialising global parameters
params.c:pm_process() - Processing configuration file "/etc/samba/smb.conf"
Processing section "[global]"
Unknown parameter encountered: "realm"
Ignoring unknown parameter "realm"
adding IPC service IPC$
adding IPC service ADMIN$
added interface ip=10.103.1.164 bcast=10.103.1.255 nmask=255.255.255.0
added interface ip=10.103.1.164 bcast=10.103.1.255 nmask=255.255.255.0
resolve_lmhosts: Attempting lmhosts lookup for name OFFICE<0x1b>
resolve_wins: Attempting wins lookup for name OFFICE<0x1b>
resolve_wins: WINS server resolution selected and no WINS servers listed.
name_resolve_bcast: Attempting broadcast lookup for name OFFICE<0x1b>
bind succeeded on port 0
Got a positive name query response from 10.103.1.22 ( 10.103.1.22 )
bind succeeded on port 0
cm_get_dc_name: Returning DC OFFICESRV (10.103.1.22) for domain OFFICE
IPC$ connections done anonymously
Connecting to host=OFFICESRV share=IPC$
Connecting to 10.103.1.22 at port 445
Added domain OFFICE (S-1-5-21-73535870-1640323367-2013803672)
getting trusted domain list
Added domain SAP (S-1-5-21-1176254614-2005282282-1538882281)
Added domain PLAST (S-1-5-21-1547161642-1500820517-725345543)


Nochmals zur Erklärung:
Mein Linux-Host heisst IT0033 und der Administrator hat ihn bereits am ADS hinzugefügt. OFFICESRV sollte der Name des ADS sein, der auch LDAP und Kerberos-Server ist.

wenn ich nun in einer anderen Konsole "wbinfo -u" ausführe, bekomme ich im Fenster, in dem gerade winbindd gestartet wurde diesen Output:


[ 4141]: list users
resolve_lmhosts: Attempting lmhosts lookup for name PLAST<0x1b>
resolve_wins: Attempting wins lookup for name PLAST<0x1b>
resolve_wins: WINS server resolution selected and no WINS servers listed.
name_resolve_bcast: Attempting broadcast lookup for name PLAST<0x1b>
bind succeeded on port 0
resolve_lmhosts: Attempting lmhosts lookup for name PLAST<0x1c>
resolve_wins: Attempting wins lookup for name PLAST<0x1c>
resolve_wins: WINS server resolution selected and no WINS servers listed.
name_resolve_bcast: Attempting broadcast lookup for name PLAST<0x1c>
bind succeeded on port 0
Could not look up dc's for domain PLAST
Could not open a connection to PLAST for \PIPE\samr (NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND)
resolve_lmhosts: Attempting lmhosts lookup for name SAP<0x1b>
resolve_wins: Attempting wins lookup for name SAP<0x1b>
resolve_wins: WINS server resolution selected and no WINS servers listed.
name_resolve_bcast: Attempting broadcast lookup for name SAP<0x1b>
bind succeeded on port 0
Got a positive name query response from 10.103.1.27 ( 10.103.1.27 )
bind succeeded on port 0
cm_get_dc_name: Returning DC CON (10.103.1.27) for domain SAP
IPC$ connections done anonymously
Connecting to host=CON share=IPC$
Connecting to 10.103.1.27 at port 445
resolve_lmhosts: Attempting lmhosts lookup for name OFFICE<0x1b>
resolve_wins: Attempting wins lookup for name OFFICE<0x1b>
resolve_wins: WINS server resolution selected and no WINS servers listed.
name_resolve_bcast: Attempting broadcast lookup for name OFFICE<0x1b>
bind succeeded on port 0
Got a positive name query response from 10.103.1.22 ( 10.103.1.22 )
bind succeeded on port 0
cm_get_dc_name: Returning DC OFFICESRV (10.103.1.22) for domain OFFICE
IPC$ connections done anonymously
Connecting to host=OFFICESRV share=IPC$
Connecting to 10.103.1.22 at port 445

Die Zeile "Could not look up dc's for domain PLAST" wundert mich... Könnte das auf eine Fehlkonfiguration vom LDAP-Client hindeuten?

Und ein "net ads info" gibt mir folgendes zurück:


it0033:/home/pwr # net ads info
LDAP server: 10.103.1.22
LDAP server name: officesrv
Realm: PLAST.LOCAL
Bind Path: dc=PLAST,dc=LOCAL
LDAP port: 389
Server time: Wed, 13 Jul 2005 10:24:25 GMT
KDC server: 10.103.1.22
Server time offset: 63

Sooo, ich hoffe, ich hab nix Wichtiges vergessen. Danke jedenfalls für deine Hilfe, emba! Ich kann jeden Tip gut gebrauchen!

MfG, Philipp

emba
13.07.05, 12:44
da du mit einem samba v2 arbeitest, kann ich dir leider nicht viel helfen
ich empfehle dir ein upgrade auf v3
auf der HP von samba ist dann auch alles gut erklärt

was mir bei der konfiguration von samba und ADS auffiel, ist, dass man höllisch mit den DNS/Netbios namen aufpassen muss

bitte schau dir penibel jeden punkt deiner config an, vergleiche die DNS namen und achte auch auf die erläuterungen in der manual zur smb.conf - ist bei dem parameter eine domäneneintrag verlangt oder ein FQDNS-name...

greez

Apoll
14.07.05, 09:20
Guten morgen,

Hab den Rat beherzigt und mittlerweile vollständig auf samba3 upgegraded. Bin noch zu sehr am rumprobieren, um mein Problem wieder aufzugreifen. Eventuell hört ihr heute noch von mir ;)

Aber eine Frage hab ich dennoch: Wenn Mein LDAP und Kerberos-Client laufen, versucht mein Rechner, meinen (lokalen) root-Account über Kerberos und LDAP zu authentifizieren. Ich muss also mein root-passwd 3mal eingeben, was auch nicht so wunderbar ist...
Wie bzw. Wo kann ich vermerken, dass der root-Account nur lokal authentifiziert werden soll?

MfG, Philipp

emba
15.07.05, 10:43
das ist eine sache von PAM

/etc/pam.d/login

da sollte zuerst pam_unix.so auftauchen
-> mehr dazu über google

greez

Apoll
04.08.05, 09:27
So, ich grab den Thread nochmal aus. Bitte obere Postings von mir nicht mehr beachten, da die Situation mittlerweile eine andere ist (will trotzdem keinen eigenen Thread dazu eröffnen...).

Problem: Nach wie vor Integration SuSE 9.0 (Samba3) in Win2000 ADS

Mein Host wurde schon ins AD aufgenommen und ist auch vom DC und überhaupt aus dem ganzen Netzwerk sichtbar. Was allerdings Probleme macht, ist, dass eine bestimmte Domäne nicht gefunden wird. Kann mich zwar bei Zugriff aufs AD im Konqueror mit user/passwd anmelden - aber nicht direkt im KDM. Einloggen auf SuSE ist nur mit einem lokalen Linux-Account möglich.

Folgendes Logfile von winbind beim Start:


it0033:/home/pwr # winbindd -i -d 3 -s /etc/samba/smb.conf
winbindd version 3.0.14a-SUSE started.
Copyright The Samba Team 2000-2004
lp_load: refreshing parameters
Initialising global parameters
params.c:pm_process() - Processing configuration file "/etc/samba/smb.conf"
Processing section "[global]"
Processing section "[htdocs]"
adding IPC service
adding IPC service
added interface ip=10.103.1.105 bcast=10.103.1.255 nmask=255.255.255.0
added interface ip=10.103.1.105 bcast=10.103.1.255 nmask=255.255.255.0
Registered MSG_REQ_POOL_USAGE
Registered MSG_REQ_DMALLOC_MARK and LOG_CHANGED
Added domain OFFICE PLAST.LOCAL S-0-0
cm_get_ipc_userpass: No auth-user defined
Doing spnego session setup (blob length=116)
got OID=1 2 840 48018 1 2 2
got OID=1 2 840 113554 1 2 2
got OID=1 2 840 113554 1 2 2 3
got OID=1 3 6 1 4 1 311 2 2 10
got principal=officesrv$@PLAST.LOCAL
Kinit failed: Preauthentication failed
lsa_io_sec_qos: length c does not match size 8
add_trusted_domain: OFFICE is an ADS mixed mode domain
ads: alternate_name
Connected to LDAP server 10.103.1.11
got ldap server name tpsqlsrv@PLAST.LOCAL, using bind path: dc=PLAST,dc=LOCAL
ads_sasl_spnego_bind: got OID=1 2 840 48018 1 2 2
ads_sasl_spnego_bind: got OID=1 2 840 113554 1 2 2
ads_sasl_spnego_bind: got OID=1 2 840 113554 1 2 2 3
ads_sasl_spnego_bind: got OID=1 3 6 1 4 1 311 2 2 10
ads_sasl_spnego_bind: got server principal name =tpsqlsrv$@PLAST.LOCAL
ads_krb5_mk_req: krb5_cc_get_principal failed (No such file or directory)
kerberos_kinit_password host/IT0033@PLAST.LOCAL failed: Client not found in Kerberos database
ads_connect for domain OFFICE failed: Client not found in Kerberos database
ads: trusted_domains
cm_get_ipc_userpass: No auth-user defined
Doing spnego session setup (blob length=116)
got OID=1 2 840 48018 1 2 2
got OID=1 2 840 113554 1 2 2
got OID=1 2 840 113554 1 2 2 3
got OID=1 3 6 1 4 1 311 2 2 10
got principal=officesrv$@PLAST.LOCAL
Kinit failed: Preauthentication failed
cli_nt_setup_creds: auth2 challenge failed NT_STATUS_ACCESS_DENIED
schannel refused - continuing without schannel (NT_STATUS_ACCESS_DENIED)
Added domain SAP sap.technoplast.local S-1-5-21-1176254614-2005282282-1538882281
Added domain PLAST technoplast.cc S-1-5-21-1547161642-1500820517-725345543
Added domain BUILTIN S-1-5-32
Added domain IT0033 S-1-5-21-1987135206-2675671312-1246824556
ads: trusted_domains
cm_get_ipc_userpass: No auth-user defined
Doing spnego session setup (blob length=116)
got OID=1 2 840 48018 1 2 2
got OID=1 2 840 113554 1 2 2
got OID=1 2 840 113554 1 2 2 3
got OID=1 3 6 1 4 1 311 2 2 10
got principal=officesrv$@PLAST.LOCAL
Kinit failed: Preauthentication failed
cli_nt_setup_creds: auth2 challenge failed NT_STATUS_ACCESS_DENIED
schannel refused - continuing without schannel (NT_STATUS_ACCESS_DENIED)

Noch zur Erklärung des Logs:
Mein Host heißt IT0033.
PDC ist officesrv, BDC ist tpsqlsrv (die beiden wechseln sich je nach Auslastung des ADS ab).
Die Domain, die ich brauche (aber nicht finde) ist OFFICE. Die anderen sind für mich unwichtig.
Realm ist PLAST.LOCAL

Das scheinbare Problem hab ich schon fett rausgehoben ausm log. Mein Host scheint nicht in der Kerberos-DB zu existieren. Nach längerer Suche hab ich gemerkt, dass doch einige Leute dieses Problem haben. Eine wirkliche Lösung scheint aber niemand von denen gefunden zu haben.
Übrigens: Die anderen Domänen kann ich problemlos in den KDM zu login einbinden, aber die sind für mich ja wie gesagt leider nicht von Interesse... :(

Und jetzt noch mal meine smb.conf und krb5.conf:


[global]
realm = PLAST.LOCAL
workgroup = OFFICE
os level = 2
time server = Yes
unix extensions = Yes
encrypt passwords = yes
password server = *
map to guest = Bad User
printing = CUPS
printcap name = CUPS
socket options = SO_KEEPALIVE IPTOS_LOWDELAY TCP_NODELAY
wins support = No
veto files = /*.eml/*.nws/riched20.dll/*.{*}/
security = ADS
server string = SuSE9

# WINBIND SECTION
winbind separator = +
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
preferred master = no
template shell = /bin/false


[libdefaults]
default_realm = PLAST.LOCAL
clockskew = 300

[realms]
PLAST.LOCAL = {
kdc = 10.103.1.22
kpasswd_server = 10.103.1.22
default_domain = OFFICE
}

[domain_realm]
.plast.local = PLAST.LOCAL
.OFFICE = PLAST.LOCAL

So, das wars erstmal von mir. Werd eh die nächsten Tage weiter daran arbeiten, vielleicht kann ich demnächst selbst eine Lösung präsentieren.

grüße, philipp

nocheiniggy
24.08.05, 14:24
welchen Befehl hast du denn dann benutzt, um den Client ins AD einzubinden?
Da musst du noch einen "net"-Befehl ausführen, nämlich:

net ads join -U Administratorname@REALM.IN.GROßBUCHSTABEN

Zumindest ist das bei Win Server 2003 Domänen so.
Tu mal bei deinen Kerberos-Einstellungen die Clock-Skew weg.
So wenig wie möglich einstellen, steht auf der Samba-Homepage.

In unserem Netzwerk musste ich sogar noch den genauen ADS-Pfad angeben, weil wir etwas viele Computer über ziemlich viele Zweigstellen verteilt haben.
also in etwa so:

net ads join "Servers\Servers von Zweigstelle blabla\Datenservername" -U Administratorname@REALM.IN.GROßBUCHSTABEN

Das hast du doch gemacht oder?
Ansonsten den betroffenen PC nochmal aus dem AD-Verzeichnis herauslöschen und neu einbinden.
Datum und Uhrzeit müssen auch übereinstimmen: "net time set"

Ich hoffe das hat dir vielleicht geholfen.


Ich hab da ein anderes Problem. (Du erlaubst mir doch diesen Thread ebenfalls u nutzen?)

Zwar kann ich alle Benutzer, Computer und Gruppen aus dem AD mit wbinfo -u oder wbinfo -g auslesen, aber wenn ich von einem PC auf den Samba-Server zugreifen will, habe ich keine Berechtigung.
Nur lokal auf dem Samba-Server vorhandene Benutzer funktionieren. Keine Benutzer der Domäne.
Ich habe schon versucht dem Ordner des Shared-Folders auf der Festplatte, also "/srv/smb" die Benutzer/Gruppen "nobody" oder "nogroup" zuzuweisen.
Der gesamte Folder steht auf "rwx" für Benutzer, Gruppen und Others, bringt aber auch nichts.


Hier mal meine Globals:


[global]
display charset = UTF-8
workgroup = DOMÄNE
realm = DOMÄNEN.REALM
server string =
security = ADS
map to guest = Bad User
username map = /etc/samba/smbusers
log level = 10
syslog = 5
log file = /var/log/samba/log.debug
debug pid = Yes
debug uid = Yes
printcap cache time = 750
printcap name = cups
logon path = \\%L\profiles\.msprofile
logon drive = P:
logon home = \\%L\%U\.9xprofile
ldap ssl = no
idmap uid = 10000-15000
idmap gid = 10000-15000
admin users = root
printer admin = @ntadmin, root, administrator
cups options = raw


Und hier die Einstellungen meines Shared-Folders:


[daten]
comment = daten
path = /srv/smb
valid users = DOMÄNE\gruppenname
write list = DOMÄNE\gruppenname


Ich bin fast sicher, dass ich nur eine Kleinigkeit vergessen hab, aber ich finds nicht.