PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba mit unterschiedlichen Berechtigungen



XXLRay
04.08.08, 18:12
Ich benutze Debian Lenny/Sid und möchte gern, dass die Videos von meinem Heimserver von jedem (Windows-)Rechner aus im ganzen Haus ohne Passwort verfügbar sind. Allerdings sollen die Verzeichnisse, in denen ich beruflich arbeite nicht für die Allgemeinheit verfügbar sein.
Das Videoverzeichnis soll also public und das Adminverzeichnis nur für bestimmte user zugänglich sein. Leider klappt das nicht so, wie ich mir das vorgestellt habe.
Meine /etc/samba/smb.conf sieht momentan folgendermaßen aus:


[global]
admin users = me
workgroup = us
guest account = nobody
include = /etc/samba/dhcp.conf
dns proxy = no
browse list = yes
veto files = /.reiser*/cdrom/cdrom0/floppy/floppy0/
create mask = 777
directory mask = 777
encrypt passwords = true
smb passwd file = /usr/bin/smbpasswd
unix password sync = yes
client code page = 850
character set = ISO8859-1
keep alive = 5
max disk size = 200
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
encrypt passwords = true
passdb backend = tdbsam
obey pam restrictions = yes
invalid users = root
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .
socket options = TCP_NODELAY

[admin]
security = user
username = me
comment = STAY OUT!!!
path = /media/
public = no
user = me
writable = yes
#formally "write ok" same as "read only"

write list = me

[video]
security = share
comment = films, series, documentations
volume = WD2000JB-00KFA0 200GB
#optionally

path = /video
public = yes
#same as "guest ok"

writable = no
#formally "write ok" same as "read only"


Es ist so nicht möglich, von einem WinXP-Rechner ohne Passwort auf das Verzeichnis admin oder video zuzugreifen. Gibt man beim Zugriff nobody als user an, hat man auf beide Verzeichnisse Zugriff.
Ist es überhaupt möglich, den Zugriff so zu regeln, wie ich mir das vorstelle und wenn ja, wie?

Thorashh
05.08.08, 02:42
Moin XXLRay

1. Auch für Samba-Shares gelten die Linux-Zugriffsrechte (777 erlaubt allen Usern den Zugriff)
2. Die korrekte Option heißt "valid users =". Die Option "user" ist nur für ganz alte W* Systeme (vor 95) erforderlich.
3. "security = user|share" gilt nur in der global Sektion und nicht bei Shares.

4. Du solltest auf jeden Fall mal die Samba-Doku lesen.

XXLRay
05.08.08, 09:42
zu 1. Ja, das ist mir klar. Bedeutet das aber, dass der Paramater "(valid) user" sowie "public = no" für den Fall, dass ich eine Maske von 777 benutze keine Wirksamkeit besitzt? Das Problem ist nämlich, dass der Benutzer, der die Dateien im öffentlichen Verzeichnis erstellt (absichtlich) in einer anderen Gruppe ist, als der user nobody. Deswegen lassen sich die Rechte nicht auf eine Gruppe beschränken.

zu 2. Da war wohl eine meiner Quellen nicht auf dem neusten Stand.

zu 3. Ah, sehr schön. mit "security = share" funktioniert es jetzt auch ohne login-Aufforderung auf dem Windows-Rechner. Allerdings gelten die Zugriffsrechte immer noch mit für das Admin-Verzeichnis.

zu 4. Ich bin dir dankbar für deine Antworten, aber ich finde es unfair, mir zu unterstellen, ich hätte mich vorher nicht informiert, nur weil ich eine Frage habe.
Ich habe die man-pages sowie mehrere howtos gelesen und diesen Teil des Forums durchforstet, bevor ich meinen Beitrag verfasst habe. Ich habe es jetzt fast ein halbes Jahr allein versucht und erst jetzt, da ich mit meinen Mitteln am Ende bin, bitte ich um Hilfe. Ich bin mir also keiner Schuld bewusst.
Informationen müssen nunmal auch da stehen, wo man sie finden kann und bisher ist mir zu den von dir genannten Punkten nichts aufgefallen.

Ich habe es jetzt aber hinbekommen. Mit "valid users = me" für den Admin-Ordner konnte ich das gewünschte Zugriffsscenario realisieren. Sicherheitshalber habe ich für den admin Order "invalid users = nobody" gesetzt, es funktioniert aber auch ohne. Meine smb.conf sieht jetzt folgendermaßen aus:

[global]
admin users = me
workgroup = us
guest account = nobody
include = /etc/samba/dhcp.conf
dns proxy = no
browse list = yes
veto files = /.reiser*/cdrom/cdrom0/floppy/floppy0/
create mask = 777
directory mask = 777
encrypt passwords = true
smb passwd file = /usr/bin/smbpasswd
unix password sync = yes
client code page = 850
character set = ISO8859-1
keep alive = 5
max disk size = 200
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
encrypt passwords = true
passdb backend = tdbsam
obey pam restrictions = yes
invalid users = root
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .
socket options = TCP_NODELAY
security = share

[admin]
username = me
valid users = me
invalid users = nobody
comment = STAY OUT!!!
path = /media/
public = no
writable = yes
#formally "write ok" same as "read only"

write list = me

[video]
comment = films, series, documentations
volume = WD2000JB-00KFA0 200GB
#optionally

path = /video
public = yes
#same as "guest ok"

writable = no
#formally "write ok" same as "read only"

Blade
05.08.08, 21:01
Da Du Dicht nicht so sehr intensiv mit Samba befasst hast, rate ich Dir zur Konfiguration von Samba zu Webmin, da kannst Du alles per Mausklick einrichten und die Zugriffsrechte vergeben. ;)

XXLRay
05.08.08, 21:06
Wie schon erwähnt hab ich es trotz, laut Expertenmeinung, ungenügender Vorbereitung ohne Klickibunti hinbekommen. :)
Ich bezweifle auch, dass webmin (welches mir durchaus bekannt ist) mir in diesem bestimmten Fall weitergeholfen hätte.
Ist es denn wirklich soo schlimm, wenn man Linux in erster Linie benutzen und nicht leben möchte...

Blade
05.08.08, 21:24
Leben ist ja schon okay, aber lesen sollte man besser doch. Das Leben birgt Risiken! :ugly:

Wer bei Rot über die Ampel fährt, egal ob bewusst oder unbewusst, ist am Unfall schuldig. :o

XXLRay
05.08.08, 21:46
Wie ich schon dargelegt haben wollte, habe ich eine Menge gelesen. Ich will hier aber auch keinen Streit vom Zaun brechen. Schließlich bin ich dankbar für die Hilfe, die ich hier bekomme.
Ich denke, es würde jetzt auch ein wenig zu weit führen, wenn ich hier verzweifelt versuche zu rechtfertigen, wie ich zu der fehlerhaften smb.conf gekommen bin. Es ist nicht so, wie es aussieht ;)

Thorashh
05.08.08, 21:57
Moin XXLRay
So wie ich das sehe, waren in meinem Beitrag doch alle Infos enthalten, die nötig waren um deine Problem zu lösen.

Punkt 4 ist ja auch nicht als Anklage zu verstehen. Lediglich als Hinweis, das ein Blick in die Doku auch weitergeholfen hätte.
Wenn ich Dir stattdessen einfach ein RTFM an den Kopf geklatscht hätte, ohne Dir weiter zu helfen, könnte ich deine Reaktion verstehen, aber so, ... :confused:

Ach, egal. Es freut mich, das es funktioniert.

P.S.: Das Thema Linux Zugriffsrechte solltest Du Dir trotzdem nochmal ansehen. Damit hättest Du das genauso lösen können. Und eine 2. Verteidigungslinie ist immer gut.

XXLRay
05.08.08, 22:32
Ja, ich bin auch glücklich, dass jetzt alles funktioniert. Ich bin dir dankbar für deine Hinweise und werde das deswegen auch nicht weiter breittreten. Es hilft ja auch keinem weiter, wenn ich mich hier künstlich aufrege. Ich hab da vermutlich nur so empfindlich reagiert, weil ich wirklich richtig(!) viel zu dem Thema gelesen hab.

Blade
06.08.08, 21:11
@XXLRay,
denke auch, Du hast es in den falschen Hals bekommen! Auch mein Hinweis mit der roten Ampel bezog sich nicht auf Dein Verhalten/Fragen im Forum sondern lediglich auf die falsche Samba-Konfiguration, die man hätte nachlesen können.

Schwamm drüber, passiert. Keiner will hier Streit sondern Hilfe oder Beratung.