PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Benutzer soll nicht alle Shares sehen!



xpinguin
07.02.03, 11:27
Hallo,

ich möchte mein Samba so einstellen, dass die Benutzer nicht alle Shares sehen, sondern nur diese, für die sie auch die Berechtigung haben.

Ich habe bei Security = User eingestellt, und die entsprechenden User in die valid users bei den Shares eingetragen. Wenn jetzt jemand verbindet, sieht er aber trotzdem alle Ordner, darf aber nur auf einen.

Gibt es eine Möglichkeit das zu ändern?

Mit der Option homes müsste es doch gehen, oder? Dazu müsste ich aber den Kram extern verlinken, oder?

Mein System: Suse 8.1 + Samba 2.2.7a!

Danke!

oafish
07.02.03, 12:39
Soweit ich informiert bin, geht es indirekt mit Samba. Du müsstest mittels exec ein Shell-Skript aufrufen welches die Freigaben berücksichtigt.

oafish

Thomas Mitzkat
07.02.03, 12:44
schon mal

browseable = no

oder

public = no

probiert?

vitek
07.02.03, 13:34
Bei browseable = no sieht kein Mensch mehr die Verzeichnisse, und das is glaub ich net erwünscht.
Im Allgemeinen ist es rein mit SAMBA nicht machbar, aber (!!!) es gibt die Möglichkeit Skripte auszuführen, sobald auf ein Share zugegriffen wird ! Diese Skripte regeln dann den Rest. So würde es z.B. aussehen:

[share]
path = /data/users/%U
root preexec = /usr/local/bin/mklinks %U
writeable = yes


und hier das Skript mklinks:


#!/bin/sh
umask 022
cd /data/users
rm -rf "$1"
mkdir "$1"
cd "$1"
for i in $(groups $1)
do
ln -s "/data/groups/$i" .
done


Der Parameter %U ist bei SAMBA gleich dem Benutzernamen, der sich mit [share] verbindet.
Hier wird immer ein Verzeichnis mit dem Benutzernamen erstellt. Anhand seiner Gruppenzugehörigkeit wird in diesem Verzeichnis eine Liste mit symbolischen Links erstellt, die jeweils auf die tatsächlichen Verzeichnisse, die der User auch sehen soll, verweisen.
Ach ja,... nicht vergessen das Skript ausführbar zu machen !!! ;)