[erledigt] Samba - Prinzipien zur Rechtevergabe

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
TomL

[erledigt] Samba - Prinzipien zur Rechtevergabe

Beitrag von TomL » 08.06.2016 18:37:33

Moin

Im Moment quält mich Samba auch wieder mal bis an die Schmerzgrenze..... und verleitet mich dazu, das eine oder andere Mal zu denken "so ein elender Misthaufen" :twisted: Mein Problem ist, dass ich irgendeine Schraube nachgezogen habe, nach meinem Verständnis auch in richtiger Richtung, aber dennoch habe ich nun 'nen Bock drin. Aber egal.... ich werde das schon lösen. Mein Problem ist aber ein grundsätzliches Verständnisproblem.

Die grundsätzlich Frage ist: Müssen (bzw. sollten) alle Client-User namentlich mit PWD auf dem Samba-Server angemeldet sein? Warum diese merkwürdige Frage? Ganz einfach, weil ich bisher mit meinem Account alle Freigaben auf den Clients einmalig beim Boot gemountet habe und dann via Client-lokaler Gruppen die User auf die allgemeinen mounts berechtigt habe. Alle auf dem Server in diesen Mounts (public) angelegten Dateien sind dadurch generell allen zugänglich und kriegen pauschal alle mich als Owner und eine gemeinsame Gruppe als Group. Die Idee bei dieser Vorgehensweise entstand durch die wechselnden User auf dem Client bei bereits gestartetem System - deshalb erfolgten die Mounts nur ein einziges mal beim Boot und das hat bisher gewährleistet, dass es keine Konflikte damit gab, dass einer was vom anderen nicht öffnen/bearbeiten/speichern konnte.

Der jetzt aufgetretene Effekt ist aber, dass mein virtueller User "inet" auf einmal seinen JDownloader nicht mehr aktualisieren kann. Dem Job wird verweigert, das Jar-File auf executable zu setzen. Ich habe das jetzt erst Mal gelöst, in dem ich "inet" selber mounten lassen... damit darf er es. Merkwürdig ist aber, dass er es nicht durfte, wenn ich die Freigabe gemountet habe, obwohl ich denke, dass die File- und Directory-Rechte korrekt gesetzt waren. "inet" konnte in dem Dir ein "touch xxx" durchführen, aber "chmod 777 xxx" failed wegen fehlender Berechtigungen. Nachdem ich nun den Mount auf "inet" geändert habe, existiert der Effekt andersrum... nun kann ich (thomas) nix mehr in dem Verzeichnis machen, obwohl wir durchgängig beide den gleichen Gruppen angehören und die von "inet" angelegte Datei mit passenden Rechten für die Gruppe versehen ist.

Wie mountet man idealerweise ein Verzeichnis vom Server, in dem mehrere User die gleichen umfangreichen Rechte haben, einschließlich "ausführen"? Also, noch mehr als synchrone Gruppen und korrekt gesetzte Rechte -dachte ich- ist nicht zu tun. Ist das falsch, beim Systemstart alles mit Einem Account zu mounten, auch wenn gar nicht bekannt ist, welcher User sich gleich anmeldet?

:roll:
Zuletzt geändert von TomL am 08.06.2016 23:11:05, insgesamt 1-mal geändert.

Benutzeravatar
habakug
Moderator
Beiträge: 4313
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: Samba - Prinzipien zur Rechtevergabe

Beitrag von habakug » 08.06.2016 18:43:58

Hallo!

Schau dir mal die Ausgabe von

Code: Alles auswählen

# getfacl /pfad/zum/share
an, vielleicht kommst du dann auf Ideen ;-)

Gruss, habakug

[1] https://wiki.samba.org/index.php/Shares ... ndows_ACLs
man mount (/acl)
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

TomL

Re: Samba - Prinzipien zur Rechtevergabe

Beitrag von TomL » 08.06.2016 20:18:48

Hi,
habakug hat geschrieben:Schau dir mal die Ausgabe von

Code: Alles auswählen

# getfacl /pfad/zum/share
an, vielleicht kommst du dann auf Ideen
ja, das war wirklich interessant, weil mich die Ausgabe überrascht hat. Da ich bisher ACLs noch nicht verwendet habe, hatte ich eine leere Ausgabe erwartet. Aber es kam genau das raus, was ich mit normalen Rechten und Samba-Rechten eingestellt habe. Und es passt.... das ist ja das verrückte.... es passt... und macht dennoch Probleme.

Und mein persönliches Problem ist der Umstand mit der fehlenden Synchronizität. Das heisst, ich habe auf dem Client die User Donald, Goofy und Lupo eingerichtet und sie in der Gruppe "comicheroes" versammelt. Die gleichen User existieren auf dem Server (wg. Homedirs) und ich habe die gleiche Gruppe eingerichtet zur Verwendung der Lan-internen Public-Dirs, wie MultiMedia oder DatenAlle. Aber dennoch ist der Client-Goofy ein anderer als der Server-Goofy.... und zwar wegen unterschiedlicher UIDs. Ebenso verhält es sich mit der Gruppe auf beiden Systemen.... unterschiedliche GID's

Und genau vor dem Hintergrund habe ich das als ganzes in Frage gestellt und für mich als Lösung festgestellt, wenn die doch eh asynchron sind, dann weiss doch der Server gar nicht, dass sich Goofy auf dem Client angemeldet hat, wenn Donald zuvor beim Boot des Clients alle Freigaben gemountet hat. Das war ja auch der Grund, warum "ich" auf allen Clients perse gemountet habe und "thomas" und "comicheroes" perse "forced" als Owner und Group eingetragen habe. Aber irgendwas hat sich irgendwo geändert, so das mein virtueller User "inet" auf einmal rausfällt.... und zwar bezogen auf eine besondere Freigabe. Und genau hier haben meine Fähigkeiten, das zu verstehen und eine Lösung zu finden, ausgesetzt.... ich weiss nicht, wie man diese Logik-Inkonsistenz durch die fehlenden Synchronizität beheben kann, ohne ACLs zu verwenden. Ich denke mitterlweile auch, dass die Client-Gruppe "comicheroes" überhaupt keine Bewandtnis auf dem Server hat, denn der weiss überhaupt nix von dieser Client-Gruppe... das heisst, auf zwei Clients kann die gleiche Gruppe "comicheroes" mit den gleichen Membern, verbunden zum gleichen Server völlig andere Rechte haben. Auf zwei Clients UND dem Server ist der User Donald bezogen auf seine UID in Wahrheit 3 Personen.... im Grunde genommen ist das doch alles echter Bullshit.... :roll:

Ganz offensichtlich muss ich mein Server-Konzept wohl mal neu überdenken und vielleicht doch ACLs nutzen. Irgenwo auf den Ubuntuuser-Seiten bin ich damals über die Hinweise gestolpert "nicht sinnvoll auf Desktops, sondern nur bei grösseren Netzwerk" und "Shellkommandos ignorieren das zuweilen".... und da hatte ich Schiss, mir noch mehr Probleme einzufangen und habe die ACLs gedanklich verworfen. Aber damals war ich noch "absolut Beginner".... das "absolut" habe ich heute wohl hinter mir gelassen. :roll: ... ich interpretiere die Hinweise jetzt anders.

TomL

Re: Samba - Prinzipien zur Rechtevergabe

Beitrag von TomL » 08.06.2016 20:48:30

ACL.... und schon ist alles unklar .... :mrgreen: ... es wird auf allen Doku- und HowTo-Seiten von Rechteverwaltung für Verzeichnisse und Dateien gesprochen.... ja ist klar... aber aus welcher Perspektive ist das betrachtet...?... aus Sicht des Clients oder des Servers? Werden die ACLs einmal auf dem Server eingerichtet oder separat auf jedem Client? Wenn sie auf dem Client eingerichtet werden, kann also das Benutzerrecht für den User "goofy" auf 2 PCs unterschiedlich eingestellt werden? Wenns auf dem Server eingestellt wird, wie wird in Übereinklang gebracht, dass die aktuell angemeldete Client-UID unterschiedlich zur Server-UID (des eigentlich gleichen Users) sein kann?

Kennt jemand vielleicht eine deutsche Doku oder Hilfe, durch die ich mich mal durchwühlen kann, um zu sehen, wie ich eine Migration von "tradtionellen" Samba-Accounts zu ACLs bewerkstelligen kann? :hail:

TomL

Re: Samba - Prinzipien zur Rechtevergabe

Beitrag von TomL » 08.06.2016 23:02:10

....alles äusserst frustrierend... :( .... wo sich mal wieder der Gedanke breit macht, dass Linux doch noch einen ziemlich weiten Weg bis zu einem praktikablen Enduser-Desktop-System als Multi-User-Netzwerk-Client vor sich hat und dass es seinen Ursprung und eigentlichen Zweck als Server-OS nicht verheimlichen kann. Wenn ich das richtig verstanden habe, lösen ACL zwar zufriedenstellend flexiblere Rechtevergaben auf Dateien und Verzeichnisse .... aber was anscheinend auch mit ACLs nicht geregelt ist, und wo auch nach stundenlangem Lesen und Recherechieren kein einziger Text drauf eingeht, ist der Umstand, das der Zeitpunkt des Boot-Vorgangs mit statischem fstab-mount und die Anmeldung eines Users überhaupt nicht korrelieren müssen. Ebensowenig scheint der Umstand berücksichtigt, dass der im Boot die Remote-FS mountende User ein völlig anderer sein kann, als der User, der diese mounts letztendlich als angemeldeter User nutzt. Irgendwie ist auch nicht eindeutig geregelt, dass sich in einer PC-Session nacheinander mehrere User anmelden können und ihre eigenen Mounts vorfinden wollen. Das heisst, zur Bootphase muss auch mit ACL trotzdem alles irgendwann später vielleicht notwendige gemountet werden... egal, obs dann wirklich gebraucht wird, oder nicht.

Dieses Manko entsteht durch die statische fstab, die immer mit den gleichen vorgegebenen smbcredentials mountet, obwohl sich vielleicht ein ganz anderer User zum Arbeiten anmeldet. Das ist unter Windows einfach nur gut gelöst, da dort die mounts dynamisch zur Anmeldung passieren. Nach dem Logout und Login eines anderen Users wird mit neuen Voraussetzungen (ggf. auch neue Ressourcen) remounted. Ob nun über den User-Autostart durchgeführte Mounts eine praktikable Alternative sind..... weiss ich nicht..... scheint mir auf den ersten Blick ein immenser Pflege-Aufwand bei mehreren/etlichen PC und Usern zu sein. "autofs" scheint auch keine Lösung zu sein, da anscheinend auch hierbei nicht der angemeldete User mit seinen "Remote-FS-Eigenheiten" berücksichtigt wird.

Vielleicht denke ich auch einfach nur in falschen Bahnen.... aber ich bin da wohl noch immer von meinen Erinnerungen an Windows beeinflusst. Da war das User- und Rechtemanagement im Netzwerk so einfach und durchgängig gelöst, dass ich dem noch immer hinterhertrauere..... einmal auf dem Server vorgegeben und alle Clients waren passend für alle User, egal, welcher User sich wo an welchem PC angemeldet hat. Frustrierend ist, dass die Zusammenarbeit eines Windows-Clients mit einem Linux-Server offensichtlich besser unterstützt ist, als mit einem Linux-Client.

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: [erledigt] Samba - Prinzipien zur Rechtevergabe

Beitrag von ThorstenS » 09.06.2016 07:05:29

Ich habe das Problem mit pam_mount gelöst. Bei meinem Admin PC melden sich mehrere Leute remote an und erwarten ihre Sambashares. Vllt. hilft dir das beim Umsetzen:
viewtopic.php?p=1093778#p1093778

Antworten