PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba und die Zugriffsrechte...



mariusac
29.10.06, 13:20
Hallo zusammen,

ich probiere mich grade das erste Mal an einem Sambaserver und will folgendes erreichen:

Zwei Freigaben, eine davon namens "Share" die andere "Files".
Auf Share soll jeder machen können was er will. Auf Files darf ein Gast nur lesen. Ein User "Sambaadmin" darf auf Files aber auch schreiben.

Nun habe ich eigentlich alles hinbekommen, bis auf das letztere. Ich kann partout nicht auf "Files" schreiben, ich habe dazu unter einem WIn-Client ein Netzlaufwerk verbunden mit dem passenden Username und Passwort. Den User habe ich vorher per "smbpasswd -a sambaadmin" hinzugefügt.

In meiner smb.conf steht dies hier:



[global]
workgroup = Workgroup
guest account = nobody
keep alive = 30
os level = 2
kernel oplocks = false
security = share
interfaces = 192.168.6.194/255.255.255.0
bind interfaces only = yes
socket options = TCP_NODELAY

# Freigaben:

[Share]
comment = Dateiaustausch (offen mit allen Rechten für jeden)
browseable = yes
path = /smb-freigaben/share
writeable = yes
public = yes
guest only = no
directory mask = 777
create mask = 666

[Fileserver]
browseable = yes
read only = yes
valid users = sambaadmin,nobody
write list = sambaadmin
path = /smb-freigaben/files
create mask = 777
directory mask = 777
comment = Fileserver für div. Dateien (Patches, Treiber, usw..)
public = yes



Leider weiss ich nicht mehr weiter, habe schon drei Tutorials durchgelesen und nach diesen Tuts auch die conf angelegt.

PS: Nobody ist der gastaccount.

Könnt ihr mir mal unter die Arme greifen?

Gruß

Marius

michaxyz
29.10.06, 19:09
Hallo Marius,

das ist weniger eine Frage von samba.
Du kannst bei der eingeschränkten Freigabe die Rechte in Verzeichnis (/smb-freigaben/files) folgendermaßen setzen:
Das Verzeichnis sollte sambaadmin gehören. Dann Rechte 755.


[Fileserver]
browseable = yes
read only = yes #!!!!!!! Damit kann keiner schreiben !!!!!!!!! Also weg!
valid users = sambaadmin,nobody # Unnötig, da sich ja alle als Gast...
write list = sambaadmin # brauchst du dann auch nicht mehr
path = /smb-freigaben/files
create mask = 777 #überdenken
directory mask = 777 #überdenken
comment = Fileserver für div. Dateien (Patches, Treiber, usw..)
public = yes


Du musst verstehen lernen, dass samba als Mittler zwischen zwei Welten einerseits ein bisschen die Einschränkungsmöglichkeiten aus der Windowswelt emulieren will, aber sicher eben den Einschränkungen aus der Unixwelt unterliegt.
Soll heißen: allein mit samba-Mitteln kriegt man noch nicht unbedingt hin, dass jemand auf ein Freigabe schreiben darf, die linuxmäßig dagegen gesichert ist. Erst das Zusammenspiel machts. Darin liegen aber auch die Vorteile.

Mfg Michael

PS: So, nu verhaut mich, wenn ich was falsches geschrieben hab.

mariusac
29.10.06, 20:07
Hallo Michale, danke für deine Hilfe. Habe zwischenzeitlich mal SWAT ausprobiert und der hat mir folgendes erzeugt (auszugsweise):



[Fileserver]
comment = Fileserver fuer div. Dateien (Patches, Treiber, usw..)
path = /smb-freigaben/files
admin users = sambaadmin
read list = nobody
write list = sambaadmin
read only = No
create mask = 0755
security mask = 0755
directory security mask = 0755
guest ok = Yes


Dem Verzeichnis files habe ich per chown den User sambaadmin zugewiesen. Nun klappt es.

Ich habe nun glaube ich einigermaßen verstanden, wie es funktioniert. Ich hab bisher gedacht, dass ich ALLE Rechte über die smb.conf setzen kann ala
"write users = xyz" <- die, die drauf schreiben dürfen
"read users = abc" <- die, die nur lesen dürfen

Hab gedacht, Samba an sich läuft mit sowas wie root-Rechten und düfte auf alles schreiben ;-)

michaxyz
29.10.06, 20:55
Hallo Marius,

ich muss da meine Meinung auch korrigieren.
Offenbar kann man die Ziele mit unterschiedlichen Maßnahmen erreichen.
Ich habe da eher von der Linuxseite gedacht.
Gut und umfassend erklärt ist es hier (http://gertranssmb3.berlios.de/output/).

Mfg Michael