donniduck
Goto Top

Unter Samba Verzeichnisse ausblenden?

Ein Samba-Client sieht grundsätzlich alle Verzeichnisse, bekommt aber bei vielen dieser Verzeichnissse die Meldung, dass der Zugriff verweigert wurde, da er keine Berechtigung dazu hat.

Hallo,


ich habe zu Testzwecken einen Samba-Server eingerichtet, auf diesem befindet sich Suse Linux 10.0 und Samba 3.0.

Die Freigabe der Ordner, Lese- und Schreibrecht funktioniert auch ohne Probleme.

Zur Einleitung:

Es sind z.B. 2 Gruppen angelegt: Entwicklung, Sekretariat
Es sind z.B. 4 Verzeichnisse (Shares) angelegt: Entwicklung, Sekretariat, Public, Transfer
- Die Verzeichnisse (Shares) Public und Transfer sind für alle zugänglich (Funktioniert)
- Die Verzeichnisse (Shares) Entwicklung und Sekretariat sind nur für die Gruppe Entwicklung bzw. Sekretariat zugänglich. (Funktioniert)


Die Probleme:

1.
Wenn sich jetzt der Nutzer A, der zur Gruppe Entwicklung gehört, anmeldet sieht er die Verzeichnisse Entwicklung, Transfer und Public, er kann damit ganz normal arbeiten (lesen, schreiben, löschen).

Aber leider sieht er auch den Ordner Sekretariat, da er dort keine Zugriffsberechtigung hat, bekommt er eine Fehlermeldung. Meine Frage ist, kann man nicht die Verzeichnisse ausblenden? Denn es macht ja wenig Sinn Verzeichnisse zu sehen, auf die man kein Zugriff hat!

2.
Wenn ein Nutzer einen neuen Ordner erstellen möchte, dauert die Abfrage circa 6 Sekunden, erst dann wird unter Windows das entsprechende Menü aufgeklappt! Ist dies normal, weil erst die Berechtigung geprüft werden muss?!

Content-ID: 33626

Url: https://administrator.de/forum/unter-samba-verzeichnisse-ausblenden-33626.html

Ausgedruckt am: 23.12.2024 um 15:12 Uhr

Guenni
Guenni 06.06.2006 um 03:48:37 Uhr
Goto Top
@DonniDuck

Hi,

du kannst im Share die Variable browsable=no setzen, dann ist das
Share nicht mehr sichtbar, kann aber trotzdem noch z.B. mit einem
Laufwerksbuchstaben verbunden werden.

Variante 1:

Du meldest dich an jedem Pc als User an, dann das übliche "Netzlaufwerk verbinden...."
usw.

Variante 2:

Du hinterlegst auf dem Client ein Startscript, in dem du per if - Konstrukt den
User ermittelst und dann die entsprechende Verbindung herstellst.

Variante 3:

Der Server wird als PDC konfiguriert, an dem sich die Clients anmelden. Dann kannst
du auf dem Server für jeden User ein Startscript hinterlegen.

Gruß
Günni
9299
9299 06.06.2006 um 06:14:54 Uhr
Goto Top
Den Ordner nicht sichtbar machst du mit der Option "browseable = no" aber dann ist er gar nicht mehr sichtbar und muss per Loginscript zugewiesen werden.Besser ist es den Zugriff für die Gruppen zu regeln über "readable und writeable" Options und die Ordner sichtbar zu lassen.Die User sehen zwar dann die Ordner dürfen aber nicht drauf zugreifen und bekommen die Meldung "Zugriff verweigert".
ketchup
ketchup 06.06.2006 um 09:18:37 Uhr
Goto Top
Den Ordner nicht sichtbar machst du mit der
Option "browseable = no" aber dann
ist er gar nicht mehr sichtbar und muss per
Loginscript zugewiesen werden.Besser ist es
den Zugriff für die Gruppen zu regeln
über "readable und writeable"
Options und die Ordner sichtbar zu lassen.Die
User sehen zwar dann die Ordner dürfen
aber nicht drauf zugreifen und bekommen die
Meldung "Zugriff verweigert".

hi

"browseable = no" bedeutet, dass ein share nicht in der browsing-liste vom windows aufscheint ... damit versteckst du aber kein directory!

du kannst gern das browsing disabled ... der user kann dann nicht über die netzwerkumgebung auf das share zugreifen, sondern muss "netzlaufwerk verbinden" benutzen und den jeweiligen share-namen kennen und eingeben.

j.
DonniDuck
DonniDuck 06.06.2006 um 13:18:26 Uhr
Goto Top
Okay, erst mal danke für die Tipps!

Zu Variante 1:

Die Verzeichnisse mit browsable = no auszublenden ist nur bedingt möglich, da ich jeden Ordner ein extra Netzlaufwerk zuweisen müsste.

Das wären dann 3 Netzlaufwerke für Entwicklung bzw. Sekretariat, Public und Transfer!

Dies ist zwar eine Lösung, finde ich aber für die Bedienung zu kompliziert. Es sollen vor diesen Rechnern Standard-User sitzen.

zu Variante 2:

Leider habe ich mich mit Scripten noch nicht so sehr beschäftigt, könntet ihr mir eine Beispielroutine vorgeben bzw. einen Link nennen, wo näher auf diese Thematik eingegangen wird. Finde ich als Lösung sehr interessant!

zu Variante 3:

Den Server als PDC zu konfigurieren scheidet aus, da es WindowsXP-Home-Clients sind. Es gibt zwar in der Ct-Zeitschrift ein Artikel über die Änderung des Betriebssystems, aber das Risiko ist zu groß (WindowsUpdates?, Legal?, Systemfehler? u.a.m.)


Noch ein weitere Frage zu Variante 2:

Ist es möglich, durch dieses Startskript die Eigenen Datei auf den Server zu verlinken oder
bestimmte Rechte zu sperren (Systemsteuerung, Einstellungen u.a.m.) oder geht dies nur als PDC-Server?

DonniDuck
9299
9299 06.06.2006 um 13:31:52 Uhr
Goto Top
Umlenken von Verzeichnissen geht meines Wissens nur wenn du eine Windowsdomäne hast über Gruppenrichtlinien als globale Einstellung.Genauso siehts mit dem sperren von Funktionen aus.
Man kann lokale Sicherheitsrichtlinien definieren über Poledit ob das allerdings mit XP Home geht weiss ich nicht und wage es eher zu bezweifeln.
Wie gesagt die einfachste Lösung ist es deine User unter Linux als Gruppen zusammenzufassen und die Zugriffsrechte auf die Verzeichnisse für die Gruppen zu definieren.Dann können sie zwar die Ordner noch sehen aber nicht mehr drauf zugreifen.Wenn du die Ordner noch ausblenden willst packts du den Usern einfach eine Batchdatei in den Autostart Ordner mit dem du ihnen die Laufwerke zuweist nach den Schema

@echo off
net use z: \\servername\ordnername /persistent:no (sorgt dafür das beim abmelden Verbindung getrennt wird)
exit
Guenni
Guenni 07.06.2006 um 12:33:30 Uhr
Goto Top
@DonniDuck

Hi,

zu Variante 2:

Ein Script zur Laufwerksverbindung mit einem Verzeichnis könnte so aussehen:

if %username%==max goto max
if %username%==gabi goto gabi

:max
net use x: \\server\entwicklung /persistent:no
goto end

:gabi
net use x: \\server\sekretariat /persistent:no
goto end

:end

Das funktioniert, auch wenn die Shares per bowsable=no ausgeblendet sind.

Wenn du an der Eingabeaufforderung gpedit.msc eingibst,
kannst du unter Benutzerkonfiguration --> Windowseinstellungen --> Scripts
ein solches Script einfügen, das dann beim Anmelden ausgeführt wird.

Ein Batchprofi wird dir wahrscheinlich was besseres zaubern.
Auf Befehlszeilenebene gibt es den Befehl cacls, um Rechte an
Ordnern und Dateien zu ändern.
Auch deine anderen Wünsche lassen sich ber Batch oder Script sicher irgendwie
realisieren. Da ich selber nicht der Batch- und Script-Profi bin, machst du entweder
einen neuen Thread unter dem entsprechenden Thema auf, vielleicht mit Bezug
auf diesen Thread oder schreibe mal den User Biber per Nachricht an.
Er kann dir sicher besser helfen, als ich.


Gruß
Günni
DonniDuck
DonniDuck 07.06.2006 um 13:50:57 Uhr
Goto Top
@9299 und Günni = einfach Super!

Jetzt kommen wir schon an die Lösung des Problems:

3 Fragen noch:

1. @echo off muss als Startindex angegeben werden (Beispiel siehe elCativo)?
2. max goto max, sind ja Sprungmarken (Labels), warum muss 2 x max geschrieben werden? Würde auch nicht goto max (Label) reichen?
3. Die Datei kann im Editor erstellt werden und unter *.bat speichern?


DonniDuck

P.S.

Deinen Vorschlag, mit Biber, werde ich in den nächsten Tag aufgreifen bzw. neuen Thread erstellen!
Guenni
Guenni 07.06.2006 um 17:22:06 Uhr
Goto Top
@DonniDuck

Hi,

Zu 1:

@echo off muss nicht angegeben werden. Der Befehl schaltet unerwünschte
Ausgaben am Bildschirm aus.

Zu 2:

Der doppelte max war einfach nur Zufall. Ich dachte, wenn der User, der sich anmeldet,
max heißt, if %username%==max, wäre es einfacher, die Sprungmarke auch
einfach max zubenennen, als sich jetzt irgendeinen Namen für ein Sprunglabel
aus den Rippen zu quetschen.

Zu 3:

Die Datei darf auch nur mit einem Texteditor erstellt werden, zumindest mit
einem Programm, dass den Text in reinem Ascii-Code abspeichert.

Die Endung, ob *.bat, *.cmd oder vielleicht ganz ohne, spielt, glaub' ich,
keine Rolle. Probiers einfach mal aus.

Gruß
Günni
0cool
0cool 09.06.2006 um 14:09:56 Uhr
Goto Top
@DonniDuck: die datei kannst du z.b. mit notepad schreiben das ist ein von MS mitgebrachter editor den du am schnellsten über Start / Ausführen notepad in die zeile schreiben bestätigen und schon öffnet sich notepad.

Die datei die du schreiben willst muss die ändung bat haben sonst erkennt windows nicht das es eine Stapelverarbeitungs Datei ist.

Ich hoff ich konnte dir ein bisschen weiterhelfen

0cool