fabid
Anmeldungsdatum: 2. November 2008
Beiträge: Zähle...
|
Hallo,
ich versuche einen kleinen Dateiserver für mehrere Benutzer zu konfigurieren, habe aber ein Problem mit den Benutzerrechten für einzelen Dateien/Ordner. Folgendes möchte ich erreichen: Jeder Benutzer soll einen eigenen Ordner habe, in dem er Dateien / Ordner anlegen und löschen kann. Zusätzlich soll es darin auch einige Ordner geben die der Benutzer nicht löschen darf. Das Anelgen und Löschen von Dateien in dem Ordner soll jedoch möglich sein. Bsp: | -usr1
|-file1 (löschbar)
|-folder1 (nicht löschbar)
|-file2 (löschbar)
|
Wie kann man dieses Verahlten erreichen? Gruß
Fabian
|
lionlizard
Anmeldungsdatum: 20. September 2012
Beiträge: 6244
Wohnort: Berlin
|
Ich denke, dies lässt sich nur über ACL lösen. Da ich mich aber bisher damit nicht beschäftigt habe, kann ich nicht näher erläutern, wie man dabei vorgehen muss. Lektüre des WIki und einige eigene Versuche sollten aber weiterhelfen.
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7992
|
Ich denke, dies lässt sich nur über ACL lösen
Da müsste man erst 'mal wissen, an welchen Netzwerk-Dienst Du denkst (Samba, NFS usw.), dann was für Clients auf die Freigaben zugreifen sollen (Windows, Linux, MacOS ?). Dann, wie der Zugriff jeweils erfolgen soll (ad hoc vom Dateimanager aus oder über vom Administrator eingerichtete Netzwerk-Laufwerke) usw. Je nachdem, gibt es ganz verschiedene Lösungen, die u.U. wesentlich einfacher sind als die zweifellos mögliche Lösung mittels ACL. Vielleicht lässt sich Dein Problem sogar ganz schlicht mit dem Sticky-Bit lösen. Damit erreicht man, dass nur der Eigentümer selbst die Dateien in einem bestimmten Ordner löschen darf. Gruß – Max-Ulrich
|
fabid
(Themenstarter)
Anmeldungsdatum: 2. November 2008
Beiträge: 41
|
Danke für die Vorschläge. Der die Dateein sollen über Samba und FTP (Proftp) freigegeben werden. Cleints sind verschiedene geplant: Windows, Linux, Android, Neztwerk-Multifunktionsgerät,... . ACLs habe ich schon mal angeschaut, abeschreckt hat mich dabei die aussage im wiki, dass diese evtl. nich von alle Programmen beachtet werden. Hat jemand Erfahrung damit, wie sich das in der Praxis auswirkt?
Außerdem möchte ich das ganze so einfach wie möglich halten. Das Sticky-Bit könnte funktionieren. Ich werde dann mal folgendes ausprobieren: Der Benutzerordern gehört nich dem Benutzer sondern root. Der Ordenr wird der Gruppe des Benutzers zugeordnet und das Sticky-Bit gesetzt. Die weiteren Rechte werden auf 775 gesetzt.
Alle Ordner / Dateien, die der Nutzer nicht löschen können soll, gehören root. | -usr1 (owner root, group usr1, 775, sticky)
|-undeletable_dir (owner root)
|-deletable (owner usr1)
|
Gruß Fabian
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7992
|
Der die Dateein sollen über Samba und FTP (Proftp) freigegeben werden
Damit scheiden dann auf jeden Fall Zugriffsbeschränkungen und Optionen mitttels smb.conf aus, denn diese werden ja bekanntlich von FTP ignoriert. ACLs habe ich schon mal angeschaut, abeschreckt hat mich dabei die aussage im wiki, dass diese evtl. nich von alle Programmen beachtet werden.
Ich denke, dies ist ein Missverständnis. Ich kann mir nicht vorstellen, dass irgendwelche Programme vorhandene ACLs einfach missachten könnten. Dies wäre ein erhebliches Sicherheitsrisiko und würde dem Sinn von ACLs absolut widersprechen! Was stimmt ist, dass die Dateimanager ACLs nicht verwalten können, was ja in Windows möglich ist. Mit Nautilus z.B. kann man ACLs bisher weder anzeigen noch setzen oder verändern. Das Verwalten der ACLs muss deshalb nach wie vor über Kommandozeilen-Befehle im Terminal geschehen. Wird beim Kopieren von Dateien der Name verändert, so gilt die Kopie als neu angelegte Datei, und die ACLs werden dann nicht übernommen. Weil auch manche andere Programme bei den Datei-Eigenschaften die ACLs nicht anzeigen (beachten müssen sie sie schon), können Böswillige evtl. unbemerkt mittels ACL ein System kompromittieren. – Weitere Nachteile und Risiken von ACLs sind mir nicht bekannt. Bei Netzwerk-Diensten (auch Samba und FTP) gilt, dass diese nichts erlauben können, was auf dem Server verboten ist. Was allerdings geht, ist dass man übers Netz eine falsche Identität vorgibt. Aber das ist nicht nur in Verbindung mit ACLs gefährlich. Gruß – Max-Ulrich
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
fabid schrieb: Jeder Benutzer soll einen eigenen Ordner habe, in dem er Dateien / Ordner anlegen und löschen kann. Zusätzlich soll es darin auch einige Ordner geben die der Benutzer nicht löschen darf. Das Anelgen und Löschen von Dateien in dem Ordner soll jedoch möglich sein.
Setze das Immutable-Attribut:
$ chattr -V +i /ordner/der/nicht/gelöscht/werden/darf
Das Attribut kann nur von Root gesetzt werden. Solange es gesetzt ist, kann auch root den Ordner nicht löschen.
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7992
|
Das Anlegen und Löschen von Dateien in dem Ordner soll jedoch möglich sein.
Kann man denn in einen Ordner mit Immutable-Attribut schreiben? Ich habe das noch nicht ausprobiert.
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
Max-Ulrich_Farber schrieb: Kann man denn in einen Ordner mit Immutable-Attribut schreiben?
Öh, nein. Ich habs grade probiert. Das war mir auch neu, ich hab das Attribut bisher nur bei Dateien verwendet. Die Lösung ist damit hinfällig.
|
itoss
Anmeldungsdatum: 4. April 2014
Beiträge: 419
|
das sollte doch über die normalen Dateirechte realisierbar sein. ( Grupper und Benutzerrechte )
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
Hm, mit ein bisschen tricksen gehts doch. Leg dir innerhalb des Verzeichnisses eine Protection-Datei an und setze dort das Immutable-Attribut. Dann kann das Verzeichnis ebenfalls nicht gelöscht werden, man kann aber Dateien innerhalb anlegen, löschen und verändern.
$ cd /zu/schützender/ordner
$ touch .protection
$ chattr -V +i .protection
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
itoss schrieb: das sollte doch über die normalen Dateirechte realisierbar sein. ( Grupper und Benutzerrechte )
Nein. Wenn ein Nutzer Schreibrechte für das übergeordnete Verzeichnis hat, kann er innerhalb dessen auch Dateien und Verzeichnisse löschen, auf welche er normalerweise keinen Zugriff hat.
|
itoss
Anmeldungsdatum: 4. April 2014
Beiträge: 419
|
stimmt, grad nochmal ausprobiert, man könnte einfach per Script links auf die betreffenden Verzeichnisse in den User Verzeichnissen setzen. Die links kann man zwar löschen aber per script werden die dann halt wieder erstellt sobald sie gelöscht wurden.
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7992
|
Schade, dass man das grüne Häkchen für "gelöst" nicht fünfmal setzen kann! Denn so viele verschiedene Lösungen haben wir jetzt wohl beieinander 😉
|