PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba Problem -> Drop-Box



fcczj
01.02.06, 15:13
Servus,

ich hänge nun schon eine Weile an einem kleinen Problem, ohne wirklich eine Lösung zu finden. Die Aufgabe besteht darin, eine Sambashare zu gestalten, wo jeder user Dateien ablegen darf, diese aber danach weder bearbeiten noch löschen können sollte... Also habe ich ein Verzeichnis erstellt, worauf jeder user aus der gruppe "users" Zugriff bekommt und seine Dateien ablegen kann. Über "create mask = 444" wollte ich die Dateien mit einem schreibschutz versehen, indem alle Nutzer nur noch lesen dürfen... Das scheint ja auch soweit zu klappen (Linuxclients halten sich zumindestens an die Richtlinie) und auch unter Windows kann man das "readonly" flag sehen.... Allerdings werde ich unter Win2000 nur gefragt, ob ich die schreibgeschützte Datei wirklich !? löschen will und kann danach das File im Nirvana verschwinden lassen.

Defintion des shares ..:

[sharex]

comment = test
create mask = 0444
force user = ...
force group = ...
browseable = yes
delete readonly = No
path = ....
read only = No


Ich habe einfach keine weitere Idee, wo ich da noch suchen sollte... derartige Probleme scheint es im Netz ja nicht zu geben (oder ich nutze die falschen Suchbegriffe)

wuwu
01.02.06, 15:46
Ist das evtl. über die Win-acl-Erweiterung auf Samba-Shares zu lösen ?
Stichwort "inherit"....
Genau weiß ich aber nicht, ob's so geht.

emba
01.02.06, 16:35
das nennt sich drop box und ist ab samba 3.0.20 möglich



verzeichnis anlegen, mit folgenden berechtigungen:
/dropbox rwxrws--- (2770)
besitzer: user1
gruppe: users

user1 darf NICHT mitglied der gruppe users sein (kann ein dummy account sein)

smb.conf:
admin users =
writeable = yes
inherit owner = yes
create mode = 750
directory mode = 2750
force create mode = 750
force directory mode = 2750


hoffe, ich hab in der eile nix vergessen

greez

wuwu
01.02.06, 17:40
Ich dachte eigentlich an
"inherit premissions"und "inherit acl"
Die Windows acl hab ich aber leider nicht im Kopf und daher
kann ich nicht sagen ob's so geht.

fcczj
02.02.06, 09:05
@wuwu
Mit inherit permissions erbt man ja nur Berechtigungen vom Verzeichnis, das sollte hier wohl nicht helfen. Default acls habe ich eigentlich auch nicht gesetzt, trotzdem danke für die Hilfe.

@emba
Das mit dem inherit owner ist ein interessanter Ansatz, den ich später mal ausprobieren sollte. Allerdings will es sich mir trotzdem nicht erschliessen, warum man eine Datei löschen darf, auf die man keinen Schreibzugriff besitzt (zumindestens als Windowsclient).

emba
02.02.06, 09:30
da hilft nix mit ACLs usw.
wenn ein nuter in ein verzeichnis reinschreiben darf unter linux (um daten abzulegen), so hat er auch das recht, diese zu löschen (egal, ob das file ro ist oder nicht)

deswegen geht das hier nur mit der dropbox variante

greez

wuwu
02.02.06, 17:48
mit den Inherit premissions und/oder Inherit acl werden die Rechte nicht
nur vererbt sondern, zumindest nach meiner Doku, auch die Benutzung
der erw. Verrechtung, wie sie unter Windows möglich ist, erst ermöglicht.
(siehe erw. Datei- und Verzeichnisrechte unter Windows).
Hier kann man die o.g. genannte Anforderung an ein Verzeichnis sehr wohl
erstellen, zumindest bei einem XP-Pro und NTFS an einem Samba3.
Ist nur Theorie, durchgespielt habe ich es nicht.

Sehe ich da was falsch ?

emba
02.02.06, 20:41
du kannst ACLs nehmen, wie du willst - solange der nutzer schreibrechte auf ein verzeichnis hat, worin er files ablegen können soll, kann er diese auch löschen

greez



um nochmal klar zu stellen: vor samba 3.0.20 galt das von mir beschriebene verhalten
habe dies soeben hier getestet an samba v3.0.14a (mit ea support und store dos attributes) - falls jmd. das gleiche setup hat (oder ältere samba versionen) und anderes merkt, dann bitte posten

wenn man aber samba >=3.0.20 einsetzt (einige SuSE versionen scheinen ab 3.0.20b schon den map readonly parameter zu haben) und map readonly auf permissions (bzw. yes - hängt von der maske ab) gesetzt hat und die dos attribute nicht in ea speichert, dann sagt der client, dass das file readonly ist und man kann es *nicht* löschen. das setzt aber folgendes voraus:

- man löst es mittels inherit owner (s.o.)
- ohne inherit owner geht folgendes:



"/data/testverzeichnis" root.users 2770
smb.conf
[global]
map readonly = permissions
store dos attributes = no

[share]
create mode = 0440
directory mode = 2770
force create mode = 0440
force directory mode = 2770


damit hat man eine dropbox, in die nutzer daten ablegen können, neue verzeichnisse anlegen können, dort auch daten ablegen können, aber keine dateien löschen dürfen

wuwu
03.02.06, 18:10
@emba
Ok ok...
habs jetzt auch mal durchgespielt und du hast ja recht.
Hab mich von "Dateien erstellen / Dateien schreiben" verwirren lassen.
Ist da ein Haken so heißt es nicht zwangsläufig, dass man tatsächlich auch Dateien
erstellen kann.
Dieser kann sich auch ausschließlich auf das "Dateien schreiben" beziehen.
(z.B. Rechte Lesen, Schreiben)
Es ist also wie gehabt:
Habe ich schreibrechte für die Dateiliste eines Verzeichnisses und kann somit
Dateien hinzufügen, dann kann ich sie auch immer löschen.
(Zumindest die Eigenen => Sticky Bit)
Oder immer noch falsch ?

emba
04.02.06, 16:28
teilweise richtig :)
mittels readonly attributen (s.o.) bzw. inherit owner kannst du es umgehen

greez

fcczj
06.02.06, 12:17
so.. nach dem Sambaupdate hat noch doch alles funktioniert, so wie ich es mir auch am Anfang gedacht hatte... (sprich einfach create mask 444 und gut ist). Leider tritt nun das nächste Problem ein. Das Verzeichnis ist ein Unterverzeichnis von einer andere Freigabe. Bei dem "Oberverzeichnis" werden die angelegten Dateien anders maskiert.... ergo, wenn er in das andere Verzeichnis wechselt gelten die gleichen Richtlinien (blöd ;)) Wenn ich direkt auf das Unterverzeichnis zugreife, funktioniert die drop-Box perfekt... Kann man das irgendwie umgehen ?

emba
06.02.06, 13:01
welche samba version setzt du ein?

sprich einfach create mask 444 und gut ist das geht eben nicht immer so einfach, wie ich oben beschrieben habe. kommt auf die samba version und konfiguration an

eine dropbox kann man immer nur share weise einrichten. die create masken stehen immer shareweise, sodass dein vorhaben (mit unterordner) nicht möglich ist. habe dies bereits schon in der samba ML eruiert

greez

wuwu
06.02.06, 19:52
Nur nochmal für mich.... (nicht hauen, bitte...)
Das mir der create Mask, ist doch das Recht der Share-Freigabe (Netzzugriffsrechte) und
Freigaberechte gehen vor Verzeichnisrechte, oder ?
Geht hier nicht auch z.B. eine 777 für die Freigabe und weitere Einschränkungen
realisiert direkt über die Verzeichnisrechte, dafür dann individuell ?
(entsp. Benutzerverwaltung vorausgesetzt...)

emba
06.02.06, 19:57
@wuwu

ich versteh deine logik zwar nicht, aber die parameter, die du anführst, haben nix mit berechtigungen auf shares zu tun (man smb.conf). freigabebeschränkungen greifen vor posix berechtigungen, ja. aber es geht hier eben nicht um freigabeeinschränkungen, da die user alles dürfen sollen, nur halt nicht löschen

alles klar?
ansonsten bitte einfach nochmal die zeilen weiter oben studieren

greez

fcczj
07.02.06, 07:28
Ok, werde ich das ganze etwas umstrukturieren ... Ich habe auf die Version 3.021b geupdatet

Nochmals Danke für eure Hilfe !