PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba + Kerberos



Seiten : [1] 2

Sorehead
04.06.09, 11:38
Hallo!

Ich brauche mal Euren Rat.
Ich habe einen laufenden Sambaserver. Die Authentifizierung läuft über Kerberos ab. Klappt alles super.

Allerdings möchte ich nun ein Sambashare erstellen, dass anonym, also ohne die Verwendung von Kerberos, erreichbar ist.

Wie bekomme ich das hin?

Danke im Voraus.

Sascha

muell200
04.06.09, 12:31
Allerdings möchte ich nun ein Sambashare erstellen, dass anonym, also ohne die Verwendung von Kerberos, erreichbar ist.

Wie bekomme ich das hin?


evt. mit



guest account = username
guest ok = Yes

Sorehead
04.06.09, 12:58
Ja, aber dann brauche ich ja quasi einen dummy account im AD, oder?

muell200
04.06.09, 13:11
Ja, aber dann brauche ich ja quasi einen dummy account im AD, oder?

oder auf linux selber....

musst du testen

Sorehead
04.06.09, 13:28
Hmm... Mit ein bisschen rumspielen konnte ich jetzt folgendes herausfinden.
Wenn ein Rechner, der nicht in der Domäne ist auf das Share zugreifen will, klappt es genau so, wie ich das will. Auf ein Share kann er ohne Nachfrage zugreifen; beim anderen kommt die Abfrage. -> Ist übrigens unabhängig vom parameter "guest account".

Wenn jetzt aber der Rechner in der Domäne ist, kommt immer die Abfrage.
wie löse ich das denn? Es geht ja hauptsächlich um PCs in der Domäne..

muell200
04.06.09, 13:34
Wenn ein Rechner, der nicht in der Domäne ist auf das Share zugreifen will, klappt es genau so, wie ich das will. Auf ein Share kann er ohne Nachfrage zugreifen; beim anderen kommt die Abfrage. -> Ist übrigens unabhängig vom parameter "guest account".


bevor wir weiter raten poste mal mehr infos...

logdatei
config
...

Sorehead
05.06.09, 12:55
Soo.. Wenn auch ein bisschen spät, aber immerhin :)

Meine smb.conf:


[global]
workgroup = RZN
netbios name = s6704020
realm = RZN.DRV
password server = s6702056.rzn.drv
security = ADS
idmap domains = RZN
idmap config RZN:backend = nss
map to guest = Bad User
force user = workflow
guest account = workflow
log level = 2
create mode = 0664
directory mode = 0775
domain master = no
use kerberos keytab = yes

[kc_workflow]
comment = KC_Workflow
path = /store/public
read only = No
browseable = Yes
guest ok = Yes
writeable = yes

[softcontainer]
writeable = yes
path = /store/private/softcontainer
browseable = yes
guest ok = no


Logmeldung log.smbd:



smbd/sesssetup.c:reply_spnego_kerberos(439)
Username RZN\RoggeB01 is invalid on this system


RoggeB01 ist der Accountname von nem Kollegen, der noch nicht auf dem System angelegt ist. In der Domäne gibt es ihn natürlich.
Und er hat keine Chance gehabt auf das offene zuzugreifen.

muell200
05.06.09, 13:06
smbd/sesssetup.c:reply_spnego_kerberos(439)
Username RZN\RoggeB01 is invalid on this system



welches problem willst du zuerst loesen?

guest-account oder zugriff von domain-user?

samba findet keine domain-user fehler koennte sein:

- dns problem
- kerberos einstellung ( krb5.conf )
...

ist der server in die domäne aufgenomnmen....


net ads join -U Administrator

hast du dir mal ein paar howtos angeschaut?

Sorehead
05.06.09, 13:43
Also, der Domäne bin ich gejoint, allerdings etwas anders.

Ich habe mit


net -f changesecretpw

und


net rpc getsid -S s6702056.rzn.drv

gearbeitet, weil ich nicht wollte, dass sich das maschinenpasswort ändert.

Der Zugriff eines Domänenbenutzer klappt, sofern ich ihn auf dem Linuxsystem vorher angelegt habe..

useradd -m -p '*' -u <id> <username>

Ich will halt, dass JEDER (also Domänenmitglieder und nicht-Mitglieder) auf ein bestimmtes Share zugreifen können. Alle anderen Shares sollen eben "geschützt" sein.

Hier noch meine krb5.conf:


[libdefaults]
default_realm = RZN.DRV
clockskew = 300

[realms]
RZN.DRV = {
kdc = s6702056.rzn.drv
default_domain = rzn.drv
admin_server = s6702056.rzn.drv
}

[logging]
kdc = FILE:/var/log/krb5/krb5kdc.log
admin_server = FILE:/var/log/krb5/kadmind.log
default = SYSLOG:INFO:AUTH
[domain_realm]
.rzn.drv = RZN.DRV
[appdefaults]
pam = {
ticket_lifetime = 1d
renew_lifetime = 1d
forwardable = true
proxiable = false
retain_after_close = false
minimum_uid = 1
try_first_pass = true
}

muell200
05.06.09, 14:22
Der Zugriff eines Domänenbenutzer klappt, sofern ich ihn auf dem Linuxsystem vorher angelegt habe..

useradd -m -p '*' -u <id> <username>


klappt also nicht!

domaenen-user braucht du nicht auf dem linux server anlegen!
das ist z.b.: ein grund einen samba in die domäne aufzunehmen...

bekommst du ein ticket?


kinit Administrator@RZN.DRV


werden die domaenuser angezeigt?


wbinfo -u

wie sieht deine /etc/nsswitch.conf aus?

kennst du die anleitung: samba3-domaene (http://www.pro-linux.de/work/server/samba3-domaene.html)

Sorehead
05.06.09, 15:43
Moment.. Ich wollte ja die Kontrolle, dass nur die Domänenbenutzer auf die Shares dürfen, die ich extra eintrage. Es ging ja vorwiegend darum, dass diejenigen keine Passwort mehr eingeben müssen.

Ja, TGT bekomme ich.

wbinfo kann ich erst nächste Woche machen, weil ich gerade unterwegs bin.

muell200
05.06.09, 15:50
Moment.. Ich wollte ja die Kontrolle, dass nur die Domänenbenutzer auf die Shares dürfen, die ich extra eintrage. Es ging ja vorwiegend darum, dass diejenigen keine Passwort mehr eingeben müssen.


das macht du mit


valid users

und nicht die user doppelt anlegen...



Ja, TGT bekomme ich.


tgt = ticket oder ?

sicher?
bist du so sicher, wie mit der aussage, dass kerberos funktioniert?

poste mal die ausgabe ( sicher ist sicher :) )

Wene
05.06.09, 16:13
Gabs da nicht mal was mit einer "Guest only" direktive für Samba Shares? So könntest Du ihn dazu zwingen jeden User als "Guest" zu behandeln, welcher sich ja dann einloggen darf.

Leider hab ich grad keinen Zugriff zu einem Samba Server, daher kann ich nicht den genauen Namen nennen. Aber die Doku sollte da weiterhelfen. ;)

Sorehead
08.06.09, 13:27
So, ein Teil der neuen Informationen kann ich liefern:

Mein Ticket sieht so aus:


Valid starting Expires Service principal
06/08/09 14:21:23 06/08/09 19:00:00 krbtgt/RZN.DRV@RZN.DRV
renew until 06/08/09 19:00:00


Meine nsswitch.conf:


passwd: compat
group: compat

hosts: files dns
networks: files dns

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

bootparams: files
automount: files nis
aliases: files


Hier muss ich gestehen, habe ich auch vergessen zu editieren. Müsste hier nicht auch was von "winbind" stehen?

Das Tutorial von Pro-Linux kenne ich noch nicht, habe ein anderes verwendet, wo aber auch die nsswitch.conf behandelt wird.

Das mit valid users wäre auch denkbar. Dann könnte ich mir das ja wirklich sparen, die extra einzupflegen.


wbinfo -u
gibt mir nachdem ich mir ein Ticket geholt habe eine Liste aller Benutzer der Domäne.
[/code]
[...]
RZN\zopf-p01
RZN\sysprom4
RZN\tas--v01
RZN\jungbs02
RZN\voeroa01
RZN\walthu01
RZN\opentext
RZN\workflow
[/code]

muell200
08.06.09, 13:35
Meine nsswitch.conf:


passwd: compat
group: compat

hosts: files dns
networks: files dns
...



anleitung gelesen? anleitung (http://www.pro-linux.de/work/server/samba3-domaene.html)

winbind wird nicht verwendet!

...habe dann nicht mehr weiterlesen...

Sorehead
08.06.09, 16:06
So, habe jetzt in der nsswitch.conf:


passwd: files winbind
group: files winbind




wbinfo -u

gibt mir jetzt nix mehr aus :)


Error looking up domain users


In den Logs steht allerdings nix dazu :(

Sorehead
09.06.09, 11:28
Niemand eine Idee woran es liegt?

MiGo
09.06.09, 15:36
Niemand eine Idee woran es liegt?
Welche Logs guckst du durch? Anlaufstellen sind auth.log, daemon.log und natürlich syslog.

Winbind hast du installiert? Und gestartet?


Noch ein Paar Dinge, die mir aufgefallen sind:
a) map to guest = Bad User in der [global] section. Da kann das mit dem Gastaccount auch nix werden :)
b) in der smb.conf fehlen noch die Einträge zum ID-Mapping:
idmap uid = 1000-65535
idmap gid = 1000-65535
(Es sei denn, es seien die Unix Services for Windows installiert; aber dann muss man das mapping backend glaube ich auch angeben).

muell200
09.06.09, 15:39
b) in der smb.conf fehlen noch die Einträge zum ID-Mapping:
idmap uid = 1000-65535
idmap gid = 1000-65535


steht alles in der anleitung...
wenn @Sorehead die anleitung nicht lesen will,....

Wene
10.06.09, 07:10
Niemand eine Idee woran es liegt?

Doch, klar. Hast Du meinen Tipp schon befolgt? Was ist dabei herausgekommen?

Sorehead
10.06.09, 09:36
Moin!

Ja, ich habe die Anleitung inzwischen durchgearbeitet...

Habe auch idmap uid/gui gesetzt. Allerdings hatte ich nen tippfehler in der smb.conf..:)

Nun funktioniert wbinfo -u/-g!



getent passwd
getent group

Das klappt allerdings nicht!



Anlaufstellen sind auth.log, daemon.log und natürlich syslog.

Bei mir (SLES 10) finde ich die nicht.
Habe in folgende Logs verfolgt:

/var/log/messages
/var/log/samba/log.winbindd-dc-connect
/var/log/samba/log.wb-RZN
/var/log/samba/log.smbd

Folgende Meldung wiederholt sich immer:

winbindd[25610]: cm_prepare_connection: mutex grab failed for s6702056.rzn.drv

lib/util_tdb.c:tdb_chainlock_with_timeout_internal(86)
tdb_chainlock_with_timeout_internal: alarm (40) timed out for key s6702056.rzn.drv in tdb /etc/samba/secrets.tdb

Aber es gab keine Reaktion wenn ich
getent passwd gemacht habe.

muell200
10.06.09, 09:44
Ja, ich habe die Anleitung inzwischen durchgearbeitet...


wird auch langsam zeit... :)





getent passwd
getent group

Das klappt allerdings nicht!


smb.conf

winbind enum users = Yes ?

oder ein dns problem ( nur geraten )

info:
es gibt es suchfunktion im forum...

Sorehead
10.06.09, 10:53
Das scheint nicht den gewünschten Erfolg zu bringen. getent[/] gibt immernoch nur die lokalen Benutzer und Gruppen aus.
Im Log taucht nun tröpfchenweise folgendes auf:


nsswitch/winbindd_user.c:winbindd_getpwent(728)
could not lookup domain user FrenzM01

Das [i]FrenzM01 ist einer der Domänenbenutzer. So macht er das mit allen.

muell200
10.06.09, 11:04
Das scheint nicht den gewünschten Erfolg zu bringen. [i]getent[/] gibt immernoch nur die lokalen Benutzer und Gruppen aus.

beantworte mal die fragen, die man dir stellt. ( wenn man dir helfen soll! )
deine dns-strutur funktioniert? 100%?

z.b.:

ping s6702056.rzn.drv

Sorehead
10.06.09, 11:22
Entschuldigung.. Wird nicht wieder vorkommen ;)

/etc/hosts:


159.158.2.56 s6702056.rzn.drv s6702056


ping


PING s6702056.rzn.drv (159.158.2.56) 56(84) bytes of data.
64 bytes from s6702056.rzn.drv (159.158.2.56): icmp_seq=1 ttl=124 time=7.60 ms

muell200
10.06.09, 11:30
ping


PING s6702056.rzn.drv (159.158.2.56) 56(84) bytes of data.
64 bytes from s6702056.rzn.drv (159.158.2.56): icmp_seq=1 ttl=124 time=7.60 ms

und
ping rzn.drv

Sorehead
10.06.09, 11:33
Jo..


PING rzn.drv (159.158.2.22) 56(84) bytes of data.
64 bytes from s6702008.rzn.drv (159.158.2.22): icmp_seq=1 ttl=124 time=9.11 ms

muell200
10.06.09, 11:36
Jo..


PING rzn.drv (159.158.2.22) 56(84) bytes of data.
64 bytes from s6702008.rzn.drv (159.158.2.22): icmp_seq=1 ttl=124 time=9.11 ms

sicher?

hat aber eine andere ip... oder?

Sorehead
10.06.09, 11:39
Hmm, ja da habe ich mich auch gerade gewundert.

Kann das ein Problem sein?
Der s6702056 ist aber definitiv ein DC.

muell200
10.06.09, 11:50
Kann das ein Problem sein?


ja

auf welchem server laueft der dns server?