PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : samba und berechtigungen



otelo
03.09.03, 12:23
Moin,

ich habe per Suche nicht richtiges gefunden, vielleicht weiß einer von Euch mehr.

Wie bekomme ich es hin, einem smb-Share zwei Gruppen mit unterschiedlichen Berechtigungen zuzuweisen?

Konkret möchte ich eine readonly - Gruppe und eine read/write-Gruppe zuweisen.
Da linux die Berechtigungen nur für den owner die gruppe oder alle anderen zuweist, weiss ich nicht wie es relasieren kann.

Hat jemand einen Tipp für mich?

Gruß und Danke
otelo

make
03.09.03, 12:52
Du musst das nicht über die UNIX-Rechte machen sondern über die Samba Rechte. Damit kannst du jedem Share bestimmte User oder Gruppen zuweisen, die dann bestimmte Rechte haben. Am besten machst du das mit Webmin dort ist alles sehr übersichtlich.
Wichtig ist aber das die Unix-Rechte die höhere Priorität haben. Also wenn die Samba-Rechte etwas erlauben, müssen die Unix-Rechte es auch erlauben.

otelo
03.09.03, 14:01
mir wäre es lieber, wenn ich es nicht über den webmin oder den swat(?) machen müßte, da diese Tools mir immer die smb.conf überschreiben und dabei eine bescheidene formatiere Datei herauskommt.

Ich habe für den write Zugriff z.Z. den Parameter write list = @rwgroup beim Share gesetzt. Kann ich mit einem anderen Parameter zB. read list (??) das gleiche für nur lesende User machen?

Kennst Du die Parameter?

Gruß
otelo

make
03.09.03, 14:15
ja soviel ich weis geht das mit read list....bei samba ist ne dokumentation dabei, in der das alles drin steht, welcher Parameter für was ist!

Windoofsklicker
03.09.03, 14:18
guckt ihr hier (http://de.samba.org/samba/docs/man/smb.conf.5.html)
was da nicht steht, gibt's nicht.. ;)

otelo
03.09.03, 14:21
ok, danke! dann geh ich mal lesen :-)

Gruß
otelo

Doh!
04.09.03, 02:29
Also ohne groß nachzudenken würd' ich folgendes machen:

Angenommen:

Gruppe "simpsons" soll lesen und schreiben können, Gruppe "flanders" sollen nur lesen können.

das Verzeichnis, das freigegben werden soll ist:

/daten/springfield

Dann mach folgendes:
chown -R homer:simpsons /daten/springfield
chown -R 775 /daten/springfield

In der smb.conf dann:

[springfield]
valid users = +simpsons,+flanders
read only = no
inherit permissions = yes
create mask = 775
....

Damit sollte es eigentlich gehen. Das würde heißen, dass Samba den beiden usergruppen alles erlaubt, Unix dann aber nur den simpsons schreibrechte geben würde.

Natürlich müssen vorher alle User der simpsons und flanders mit smbpasswd generiert werden und unter Unix den richtigen Gruppen zugeordnet werden.

Aber ich denk nochmal nach, ob's net was saubereres gibt

Edit: Ach ja, man könnte das ganze natürlich auch mit zwei Shares machen, die auf das selbe Verzeichnis zugreifen, etwa:



[simpson]
path = /daten/springfield
read only = no
valid users = +simpsons

[flanders]
path = /daten/springfield
read only = yes
valid users = +flanders

make
04.09.03, 08:08
Man könnte es doch auch umgekehrt mache, das UNIX alles erlaubt aber Samba der einen Gruppe nur Leserecht gibt. Oder ist das ein Sicherheitsproblem? Solange die User sich nicht sonst am Linux-Rechner (oder über SSH) einloggen können sollte das doch kein Problem sein. Habe es nämlich bisher immer so gemacht.

Doh!
04.09.03, 12:48
Original geschrieben von make
Man könnte es doch auch umgekehrt mache, das UNIX alles erlaubt aber Samba der einen Gruppe nur Leserecht gibt. Oder ist das ein Sicherheitsproblem? Solange die User sich nicht sonst am Linux-Rechner (oder über SSH) einloggen können sollte das doch kein Problem sein. Habe es nämlich bisher immer so gemacht.

Könnte man, aber dann hast Du eine Sache mehr an die Du denken musst, und was ist, wenn doch einer der User einen Login braucht (man weiß ja nie...) dann musst Du's wieder umstellen. Deshalb mach' ich's immer von Anfang an so, dass ich später so flexibel wie möglich bin

otelo
04.09.03, 15:33
Hi,

also ich habe in der Referenz gelesen und den Parameter read list gefunden. Somit habe ich nun folgendes gemacht:

- Auf das eigentliche Verzeichnis /home/data habe ich 770 für root.data_rw gegeben.
- Im Sambaconfigfile habe ich dem Share dann read list = data_ro und write list = data_rw gegeben. Zusätzlich dazu habe ich ein force group = data_rw gesetzt.

Damit scheint es zu funktionieren. Was ich aber ehrlich gesagt nicht ganz verstehe, da physisch auf dem Laufwerk für die data_ro-Gruppe ja keine Berechtigung gesetzt ist, sondern nur für den owner root und die gruppe data_rw

Vielleicht denke ich auch in falschen Bahnen?

Gruß
otelo

make
04.09.03, 17:05
Hmm...ist irgendwie schon komisch. Eigentlich müsstes du doch dem Verzeichnis Leserechte für jeden gegeben haben, damit die Gruppe data_ro darauf lesend zugreifen kann. Bist du sicher das es 770 ist?

otelo
04.09.03, 17:45
jo, da bin ich mir ganz sicher, ich habs nämlich extra gesetzt :) mit 770 unterdrücke ich ja mit Absicht, dass jeder andere lesen kann, da ich so eine Rechtestruktur nicht umsetzen möchte.

Gruß
otelo