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

Zugrif auf Samba aus anderem IP-Bereich

Hallo an alle,

ich habe einen Samba-Server an dem unter anderm ein Windows-Terminalserver hängt auf den ich von zu Hause zugreifen kann. Beide Netze sind mittels VPN-Router verbunden. Soviel zur Vorgeschichte.
Ich möchte nun von zu Hause direkt auf den Samba zugreifen ohne mich auf dem Terminalserver anzumelden. Wenn ich an meinem Heimrechner die IP des TS suche, bekomme ich alle dort eingerichteten Freigaben angezeigt. Versuch ich das mit dem Linux-Server bekomme ich keine Verbindung. (Hintergrund ist, ich möchte mit einem Kopierer direkt auf eine Sambafreigabe scannen).
Ich kann vom Linux-Server aus meinen Rechner zu Hause anpingen und umgedreht.

Ich habe es schon mit der Option hosts allow in der global-Section versucht. Das brachte allerdings keinen Erfolg.
Hier ist der entsprechende Teil meiner smb.conf. Schonmal vielen Dank im Voraus

[global]
workgroup = EGS
netbios name = ls1
server string = PDC Server Samba 3.0.02
encrypt passwords = yes
map to guest = Bad User
null passwords = yes
keepalive = 10
logon script = %G.bat
domain logons = Yes
os level = 256
socket options = TCP_NODELAY IPTOS_LOWDELAY
preferred master = Yes
domain master = Yes
local master = Yes
security = user
wins support = yes
kernel oplocks = yes
time server = yes
log level = 0
deadtime = 0
smb ports = 139
lock spin count = 1
lock spin time = 2
printing = CUPS
printcap name = /etc/printcap
# rintcap cache time = 750
add machine script = /usr/sbin/useradd -g 100 -s /bin/false -M %u
# add machine script = /usr/sbin/useradd -c Machine -d /var/lib/nobody -s /bin/false %m$
unix charset = UTF-8
level2 oplocks = no
passdb backend = tdbsam
admin users = root
profile acls = yes
# cups options = raw
# include = /etc/samba/dhcp.conf
# logon path = \\%L\profiles\.msprofile
# logon home = \\%L\%U\.9xprofile
# logon drive = P:
# usershare allow guests = Yes
 
Das ist natürlich nur der global-Abschnitt. Die Freigaben sehen alle so aus:

[freigabename]
comment = Kommentar
path = /data/verzeichnis
writeable = yes
create mask = 0770
admin users = +gruppe
directory mask = 0770

In den Logdateien stehen keinerlei Hinweise auf einen Zugriff aus einem anderen IP-Netz. (log.smbd und log.nmbd)
Auch in der messages gibt es nichts besonders. So richtig weiß ich nicht, wo ich noch suchen soll ???
 
Das kann so nicht funktionieren. Du hast per "directory mask" auch nur dem Besitzer der Datei und der Gruppe Lese-, Schreib- und Ausführungsrechte gegeben. Alle anderen Benutzer, die nicht in der Benutzergruppe sind haben gar keine Rechte.

Oktale Schreibweise der Zugriffsrechte:

1 = Ausführungsrechte
2 = Schreibrechte
4 = Leserechte

Alle Rechte ergeben sich aus der Addition: 4+2+1 = 7

Das SUID und SGID Bit habe ich jetzt mal weggelassen (die 0 vor der ersten 7)

PS:

Bitte Codetags (
Code:
) beim Posten von Ausgaben oder Dateiinhalten verwenden.
 
Hallo spoensche,

danke erstmal für den Tip. Ich habe jetzt eine neue Freigabe mit folgenden Parametern eingerichtet:
Code:
[public]
        comment = Öffentlich
        path = /data/public
        writeable = yes
        create mask = 0777
        directory mask = 0777
ls -la ergibt
Code:
drwxrwxrwx  2 root     users    4096 May 22 10:06 public
Leider ändert das an dem Ergebnis nichts. Ich kann immer noch nicht von meinem Rechner zu Hause auf die Samba-Freigabe zugreifen. Wie gesagt, alle Freigaben auf den Windows-Rechnern im Netz sind erreichbar. ???
 
Ähm,war das mit den directopry mask in der smb.conf Optionen nicht so wie beim umask Befehl auf der Konsole daß die dort angegebene Maske von den realen Dateirechten abgezogen wird? Da wär dann 0777 genau der Weg wie man alle aussperrt statt alle zuzulassen ;-)
Beispiel für die dann resultierenden Rechte nach Abzug der Mask-Werte (Ausgangsrechte & mask = reale Rechte):
0777 & 0023 = 0754 (alle dürfen alles & (gruppen schreibrecht + andere schreib+ausführrecht)= Eigentümer darf alles,Gruppe lesen+ausführen, andere dürfen nur lesen)


(Ich geb allerdings zu daß es etwas her ist daß ich einen SMB-Server aufgesetzt habe,kann daher also sein daß ich das nun genau falschherum in Erinnerung habe...)

Bis denne,
Tom
 
TomcatMJ schrieb:
(Ich geb allerdings zu daß es etwas her ist daß ich einen SMB-Server aufgesetzt habe

Nicht nur bei dir. Vor ca. 5-6 Jahren, als ich noch ISDN hatte und meinem Bruder Multimedia Dateien zugänglich gemacht hatte.

Wenn ich mich recht erinnere, verhält sich die Directory Mask nicht wie umask.


PS:
Recht erinnere *kopfschüttel*. D.h. die Laptopbesitzer, aus meinem Bekanntenkreis bitten auf eine LAN- Party bei mir vorbei zu kommen. Ich mach Samba und meine Bekannten zocken bis die Finger abfallen. ;)
 
In den Tutorials zu Samba steht, dass directory mask festlegt, mit welchen Rechten ein neu erstelltes Verzeichnis versehen wird.
Nochmal zu meinem Problem... wenn ich den Server innerhalb des Netztes per Ip-Adresse suche, dann finde ich das Teil, bekommen auch alle Freigaben angezeigt und kann auch darauf zugreifen. Suche ich den Server aus einem anderen IP-Adressbereich (Routen sind angepasst und die Rechner können sich gegenseitig anpingen), bekomme ich eine Fehlermeldung (Netz nicht gefunden ... oder so). Wie gesagt, suche ich einen Windows-PC im Servernetz, dann kann ich auf seine Freigaben zugreifen. ???

hat noch jemand eine Idee
 
Warum verwendest du nur den Port 139? Bist du sicher, das da keine Firewall die cifs und smb Ports sperrt?
 
Hallo spoensche,

gebe ich unter Start/Ausführen \\IP-Adresse-des-Servers ein, meldet Windows nach kurzer Zeit nur "Auf \\IP-Adresse-des-Servers kontte nicht zugegriffen werden". Die log-Files von Samba (log.smbd und log.nmbd) als auch die massages geben keine Laut von sich :-(

Hallo stka

Was die Firewall angeht, so habe ich das bei ausgeschalteter Firewall getestet und komme immer wieder zu dem selben Ergebnis. Außerdem funktioniert es ja bei allen Windows-Rechner im Samba-Netz ohne Probleme und soweit ich weiß, wird da auch das smb-Protokoll benutzt. Ich weiß allerdings nicht, ob 139 oder 445. Ich denke, das ist egal wenn die Firewall aus ist .?.?
 
Oben