Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Sonderlocke für Samba

3 views
Skip to first unread message

Olaf Jaehrling

unread,
Mar 31, 2014, 9:09:54 AM3/31/14
to
Hallo Tom,

gibt es eine Möglichkeit einem Client nur eine Freigabe anzuzeigen?
Hintergrund: Mein Internetradio greift u.a. auf die Sambafreigaben zu.
Nur leider werden immer alle Freigaben angezeigt und nicht nur die, wo
die mp3's abgelegt werden. Das ist immer eine ewige Scrollerei und vom
WAF mal ganz abgesehen. :)

Nun habe ich ein wenig gegoogelt, aber eigentlich nur userspezifische
Angaben gefunden und auch nur Zugriffsberechtigungen. Wäre aber schön,
wenn bei diesem Client auch gleich nur die mp3-Freigabe angezeigt wird.

Mein System:
Eis-1
base: 2.2.8 eiskernel: 2.5.1 (3.2.54-eisfair-1-PAE)
samba: 2.5.6

Danke und Gruß

Olaf

Thomas Bork

unread,
Mar 31, 2014, 4:53:23 PM3/31/14
to
Am 31.03.2014 15:09, schrieb Olaf Jaehrling:

> gibt es eine Möglichkeit einem Client nur eine Freigabe anzuzeigen?

Dazu fällt mir nicht viel ein außer 'hide unreadable = yes' und der
Entzug der Rechte für den sich anmeldenden User auf die unerwünschten
Freigaben.

Oder aber eine Extra-smb.conf für die sich anmeldende Maschine (%m) oder
den sich anmeldenden User (%U, angeforderter Benutzer-Name), in der die
Freigaben wieder unsichtbar gesetzt werden (browseable = no) und die an
den passenden Stellen der smb.conf per 'include' includiert wird:

http://oreilly.com/openbook/samba/book/ch04_03.html

Beispiel:
/etc/smb.conf.radio ('radio' sei der sich anmeldende User, übrigens
nicht der gemappte User):

browseable = no

In der smb.conf nun direkt im Anschluss an die Freigaben, die nicht
gesehen werden sollen:

[public]
comment = public directory on %h
writeable = yes
browseable = yes
path = /public
create mode = 0777
force create mode = 0777
directory mode = 0777
force directory mode = 0777
include = /etc/smb.conf.%U #<-----------------

Das macht eventuell weitere Anpassungen notwendig (%m für den
Netbios-Namen der Client-Maschine wird über Port 445 nicht mehr
übertragen, dazu muss also 'smb ports = 139' in [global] gesetzt werden,
was eventuell weitere Nebenwirkungen für das ausgehandelte
Protokoll-Level hat).

So etwas werde ich nie einbauen, das wird also immer Hand-Arbeit sein
und durch Updates oder Konfigurations-Aufruf überschrieben.
Hab auch lange nicht mehr damit gespielt - musst mal sehen, was davon
überhaupt noch funktioniert...

--
der tom
[eisfair-team]

Kay Martinen

unread,
Mar 31, 2014, 6:46:46 PM3/31/14
to
Am 31.03.2014 22:53, schrieb Thomas Bork:
> Am 31.03.2014 15:09, schrieb Olaf Jaehrling:
>
>> gibt es eine Möglichkeit einem Client nur eine Freigabe anzuzeigen?

> Oder aber eine Extra-smb.conf für die sich anmeldende Maschine (%m) oder
> den sich anmeldenden User (%U, angeforderter Benutzer-Name), in der die
> Freigaben wieder unsichtbar gesetzt werden (browseable = no) und die an
> den passenden Stellen der smb.conf per 'include' includiert wird:

Wäre nicht eine eigene conf für den radio-host mit der mp3-freigabe als
default-share die einfachste wahl?

Oder hat das auch die von dir weiter unten gen. nebenwirkungen?

Kay

Thomas Bork

unread,
Apr 1, 2014, 2:40:20 AM4/1/14
to
Am 01.04.2014 00:46, schrieb Kay Martinen:

> Wäre nicht eine eigene conf für den radio-host mit der mp3-freigabe als
> default-share die einfachste wahl?

Eine per include eingeklinkte Konfiguration *erweitert* die normale
Konfiguration genau an *dieser* Stelle, danach wird die normale
Konfiguration weiter abgearbeitet. Du müsstest sie also ganz am Ende
einklinken und jede Freigabe-Definition der normalen Konfiguration
überschreiben (die zuletzt gesetzte Definition gewinnt).

Oder aber man arbeitet mit

config file =

in [global]

Dazu muss man dann aber alle anderen Optionen der normalen Konfiguration
wieder identisch setzen bis auf die Freigaben, sonst kann viel Müll
passieren...

> Oder hat das auch die von dir weiter unten gen. nebenwirkungen?

Ja klar.

--
der tom
[eisfair-team]

Olaf Jaehrling

unread,
Apr 1, 2014, 6:03:08 AM4/1/14
to
Guten Morgen Tom,


Am 31.03.2014 22:53, schrieb Thomas Bork:

>
> In der smb.conf nun direkt im Anschluss an die Freigaben, die nicht
> gesehen werden sollen:
>
> [public]
> comment = public directory on %h

> include = /etc/smb.conf.%U #<-----------------

Das funktioniert schonmal sauber.

>
> Das macht eventuell weitere Anpassungen notwendig (%m für den
> Netbios-Namen der Client-Maschine wird über Port 445 nicht mehr
> übertragen, dazu muss also 'smb ports = 139' in [global] gesetzt werden,
> was eventuell weitere Nebenwirkungen für das ausgehandelte
> Protokoll-Level hat).

Ich brauchte hier keine Änderungen vorzunehmen.
Verwenden tue ich
[global]
config file = /etc/smb.conf.%m
...
in der /etc/smb.conf.%m steht der gleiche [global]-Part (ohne include)
sowie nur die Freigabe, die angezeigt wird.

Da der smbclient manchmal doch die anderen Freigaben angezeigt hat (da
hat dann offensichtlich die Auflösung nicht funktioniert), habe ich
einfach die /etc/smb.conf.IP-ADRESSE mit der /etc/smb.conf.radio
verlinkt und schon klappte es super.

Ausschlaggebend für die %m-Lösung war dieser Satz:
If the configuration file specified does not exist, the option is
ignored and Samba will continue to configure itself based on the current
file.

Danke für den Link.


>
> So etwas werde ich nie einbauen, das wird also immer Hand-Arbeit sein
> und durch Updates oder Konfigurations-Aufruf überschrieben.

Beim besten Willen, das musst du nicht einbauen. Ich muss die smb.conf
eh nach jedem Abspeichern manuell bearbeiten (Freigabe VPN-Netz), da
kommt es darauf auch nicht mehr an. :)
Das heißt für mich in der Zukunft, ich muss im global-part noch die
config-zeile einfügen und das zusätliche Netz eintragen.

> Hab auch lange nicht mehr damit gespielt - musst mal sehen, was davon
> überhaupt noch funktioniert...

Zumindest funktioniert es so mit einem raspberry und smbclient-Abfrage.
Ob das alles beim Internetradio geht kann ich erst am WE prüen.


Danke und Gruß

Olaf

>

Kay Martinen

unread,
Apr 1, 2014, 11:35:26 AM4/1/14
to
Hallo Thomas

Am 31.03.2014 22:53, schrieb Thomas Bork:
> Das macht eventuell weitere Anpassungen notwendig (%m für den
> Netbios-Namen der Client-Maschine wird über Port 445 nicht mehr
> übertragen, dazu muss also 'smb ports = 139' in [global] gesetzt werden,
> was eventuell weitere Nebenwirkungen für das ausgehandelte
> Protokoll-Level hat).

Verstehe ich das richtig, der netbios-name des clients wird bei
höheren/neueren (NTLMv2?) generell nie übertragen? Wessen Wahnsinns
fette beute ist das denn wohl gewesen (von den Samba-Entwicklern, denke
ich mal)?

Die hostname oder IP-Adresse des clients kann man aber doch wohl auf dem
wege alternativ nutzen oder?

Kann man das evtl. mit wins resolv order Übersteuern?

Wenn das auch nicht ginge, bliebe wirklich nur Port 139 und damit
vermutlich rückstufung maximal auf NT 4 Funktionalität.

> Hab auch lange nicht mehr damit gespielt - musst mal sehen, was davon
> überhaupt noch funktioniert...

Ich hab noch einen Echten DOS-Client. Wenn du also den old-school-teil
getestet wissen wolltest, -> PM.

Kay


Olaf Jaehrling

unread,
Apr 1, 2014, 1:32:46 PM4/1/14
to
Hallo Kay,


--- Original-Nachricht ---
Absender: Kay Martinen
Datum: 01.04.2014 17:35

>
>> Hab auch lange nicht mehr damit gespielt - musst mal sehen, was davon
>> überhaupt noch funktioniert...
>
> Ich hab noch einen Echten DOS-Client. Wenn du also den old-school-teil
> getestet wissen wolltest, -> PM.

Ich glaube du hast Tom falsch verstanden. Er meinte mich, dass ich mit
den Einstellungen ein wenig spielen soll. Tom wird an diesen
Einstellungen nichts mehr ändern. Und wie ich vorhin schon gepostet
habe, ist das Problem für mich erledigt, weil es (zumindest im Moment
mit 'nem Raspberry) funktioniert.

Gruß

Olaf

Thomas Bork

unread,
Apr 1, 2014, 1:58:43 PM4/1/14
to
Am 01.04.2014 17:35, schrieb Kay Martinen:

> Verstehe ich das richtig, der netbios-name des clients wird bei
> höheren/neueren (NTLMv2?) generell nie übertragen? Wessen Wahnsinns
> fette beute ist das denn wohl gewesen (von den Samba-Entwicklern, denke
> ich mal)?

Die implementieren das, was Microsoft entwickelt hat.

> Die hostname oder IP-Adresse des clients kann man aber doch wohl auf dem
> wege alternativ nutzen oder?
> Kann man das evtl. mit wins resolv order Übersteuern?
> Wenn das auch nicht ginge, bliebe wirklich nur Port 139 und damit
> vermutlich rückstufung maximal auf NT 4 Funktionalität.

Probiert es aus, habe dafür im Moment keine Zeit.

--
der tom
[eisfair-team]
0 new messages