Samba Berechtigungen "abgerauscht"...?

HoneyBadger

Aktiver NGBler
Registriert
7 Sep. 2015
Beiträge
1.913
Hi,

hab jetzt diverse Stunden damit verbracht, meine zuvor laufenden Berechtigungen für mein Plex Media-Server-Laufwerk in Smaba wieder zum Laufen zu bringen.
Der Server lag ne Weile brach. Das Setup stand aber schon.

Ich hatte früher in Samba irgendwie eine Gruppenberechtigung gesetzt. Das lief auch. Nun habe ich das Problem, dass scheinbar die Gruppe weg ist und irgendwie bekomme ich auch keine neue erstellt. Da das schon ein paar Tage her ist, finde ich das nicht mehr. Hab schon meine ganze Chronik durchwühlt. Finde zwar einen Arsch voll Anleitungen, nur keine, die mir hier hilft. :rolleyes:

Ich konnte das Problem jetzt temporär lösen, indem ich den Besitzer des Pfades auf Plex umgestellt habe.
Eigentlich würde ich aber gerne etwas in der Richtung nutzen wollen.

[src=cpp]sudo chown -cR NutzerXY:multimedia /Pfad/x/y[/src]

Allerdings bekomme ich da immer die Fehlermeldung "Die Gruppe NutzerXY : multimedia existiert nicht."
Plex läuft zwar wieder. Nur bekomme ich das mit dieser Gruppe einfach nicht mehr ans laufen. Hat jemand ne Idee?

PS: Habe gerade festgestellt, dass ich mich in meiner Konfiguration entscheiden muss. Entweder ist der Besitzer mein User und ich kann Zeug ins Laufwerk schieben oder der Besitzer ist Plex und ich kann drauf zugreifen. Was auch immer ich mir da sinnloses konstruiert habe. :m
 
Zuletzt bearbeitet:
Hast denn mal geschaut, obs die Gruppe multimedia überhaupt gibt? Denk dran, dass hier auch Groß-Klein-Schreibung relevant ist.

PS: Habe gerade festgestellt, dass ich mich in meiner Konfiguration entscheiden muss. Entweder ist der Besitzer mein User und ich kann Zeug ins Laufwerk schieben oder der Besitzer ist Plex und ich kann drauf zugreifen. Was auch immer ich mir da sinnloses konstruiert habe. :m

Dafür gibt es Gruppen. Du packst beide User in die gleiche Gruppe und gibst dem Verzeichnis die entsprechende Gruppenberechtigung.


 
Ich sag meinen Azubis immer und immer wieder: TAB-Taste drücken! Dann passieren keine Tippfehler (oder weniger). Unter Anderem hättest du dann gleich festgestellt, was genau nicht existiert (ob du deinen User oder deine Group falls geschrieben hast).
 
PS: Habe gerade festgestellt, dass ich mich in meiner Konfiguration entscheiden muss. Entweder ist der Besitzer mein User und ich kann Zeug ins Laufwerk schieben oder der Besitzer ist Plex und ich kann drauf zugreifen. Was auch immer ich mir da sinnloses konstruiert habe. :m
Nee, so ist das nicht. Du kannst ohne Probleme ACLs oder auch generell Berechtigungen vergeben, die dann für die Gruppe "multimedia" gelten. Dann setzt du eben noch eine umask/create mask, denn Samba ignoriert Unix-Berechtigungen.

Code:
Expand Collapse Copy
create mask = 0770
force create mode = 060
create directory mask = 0770
force directory mode = 070

die create mask ist lustigerweise genau umgekehrt wie bei GNU/Linux selbst, denn 0770 bei Samba entspricht einer 0007 bei den Unix-Berechtigungen. Mit meinem Beispiel oben würde bei jeder neuen Datei zwangsweise g=rw gesetzt, der User könnte keine Berechtigungen für "alle" setzen und sich quasi nur aussuchen, welche Berechtigungen er selbst und ob die Gruppe g+x bekommt.

Wenn du dann noch eine feste Gruppe für den Share setzen willst, musst du dich wieder der Unix-Berechtigungen und setgid bemühen:

Code:
Expand Collapse Copy
chgrp multimedia /srv/smb/multimedia
chmod g+s /srv/smb/multimedia

Damit würden dann sämtliche neu erstellten Dateien im Ordner nicht der Gruppe des Users, sondern multimedia gehören.

Eine andere Option wäre "force group" in der smb.conf.
 
Zuletzt bearbeitet:
  • Thread Starter Thread Starter
  • #5
Hast denn mal geschaut, obs die Gruppe multimedia überhaupt gibt? Denk dran, dass hier auch Groß-Klein-Schreibung relevant ist.

Anhand Deiner beider verlinkten Anleitung hatte ich das früher auch gemacht. Und zwar auch so, wie´s da beschrieben ist. Was mich zur Zeit am meisten verwundert, ist das die Gruppe tatsächlich nicht mehr existiert. Allerdings hatte ich die vor Wochen schon angelegt. Es funktionierte ja auch. Nun ist die plötzlich nicht mehr dagewesen. Allerdings habe ich die Datei nicht verändert, geschweige denn angerührt, seitdem das lief. Hab sie jetzt noch einmal angelegt. Hab dann per des ersten oben geposteten Befehls noch einmal die Gruppe zugewiesen. Das ging nun ohne Fehlermeldung durch. Dateien lassen sich über Plex trotzdem noch nicht starten. Mhmmm,....

Ich sag meinen Azubis immer und immer wieder: TAB-Taste drücken!
Jopp, das sagtest Du mir schon mal. Achte da auch überwiegend drauf. Wenn ich mir irgendwo größere Befehle zusammen suche, kopiere ich die auch und schieb sie dann per rechter Maustaste in die Konsole. Da gibt´s dann ja zumindest meinerseits keine Tippfehler.

Code:
Expand Collapse Copy
create mask = 0770
force create mode = 060
create directory mask = 0770
force directory mode = 070

Ich habe das jetzt mal nicht einfach so eingetragen, sondern poste erste einmal meine smb, wie ich die mal eingerichtet habe und wie´s auch ne ganze Weile lief. Grundsätzlich habe ich die von Dir benannten Parameter ja schon benutzt. Wenn mir dann einer erklären kann, wo der Fehler ist, sodass ich auch verstehe, was ich verkehrt gemacht habe, wäre das super.

samba_doku.png


Nachtrag: Unter read list und write list habe ich testweise mal den User "plex" angelegt. Damit komme ich auch nicht vorwärts.

Nachtrag 2: Mir ist gerade noch etwas anderes aufgefallen, was ich in dem Zusammenhang ebenfalls absurd finde. Hatte eben wieder per chmod -cR die Rechte auf meinen eigentlich Nutzer übertragen. Das beinhaltet ja auch die Unterverzeichnisse. Plex hat dann die Daten, die "nicht mehr da sind" aus der Mediathek aussortiert. Allerdings ist nur die eine Hälfte rausgeflogen. Die andere ließ sich weiterhin ansprechen, obwohl Plex nicht Besitzer war und ist. Kaum stelle ich wieder auf Plex um, kommt der Rest natürlich sofort wieder. Allerdings liegen die Unterverzeichnis alle im selben Verzeichnis, welches ich nun testweise ein paar Mal durch die Gegend gereicht habe. Verstehen muss man das nicht....
 
Zuletzt bearbeitet:
Bitte noch einmal die tatsächlich effektive Samba-Config in nem CODE-Tag. Zum Beispiel so:

[src=bash]ssh user@host testparm -s > /tmp/smb.conf[/src]

Du hast viel zu viele Optionen drin, das ist total unübersichtlich :'D

Die "force … mode" Dinger sind dreistellig, nicht vierstellig.
 
  • Thread Starter Thread Starter
  • #7
Gerne. Geht Copy & Paste auch irgendwie aus Putty heraus? Da habe ich noch keinen Weg gefunden. Nur von außen nach innen.
 
Anhand Deiner beider verlinkten Anleitung hatte ich das früher auch gemacht. Und zwar auch so, wie´s da beschrieben ist. Was mich zur Zeit am meisten verwundert, ist das die Gruppe tatsächlich nicht mehr existiert.
Nachdem du leider immer erst fummelst und dann die Fragen stellst, ist es kaum noch nachvollziehbar, ob tatsächlich die Gruppe verschwunden ist bzw. ob die so existiert hat. Üblicherweise wird nämlich, wenn dieser Gruppe Dateien gehören, dann die GID nicht mehr aufgelöst, d. h. du solltest bei ls -lah irgendwas in der Art finden:
Code:
Expand Collapse Copy
-rw-rw---- 1 admin:1007 2,3G ...

Blöd ist natürlich, dass du die Gruppe selber multimedia genannt hast, denn das ist so allgemein, das könnte auch ne Gruppe sein, die ein anderes Paket erstellt hat (und wenn du das wieder deinstallierst, kann die Gruppe auch weggeworfen werden). Insofern empfielt es sich, die Gruppen eindeutiger zu benennen, etwa plex_group oder smb_allowed. Deine Gruppe admin ist übrigens auch so ein Fall. Sowas hätte die obige Ausgabe von ls zum Beispiel enttarnen können (und die Reparatur wäre einfach gewesen, indem du nur der neuen Gruppe die oben angezeigte GID erzwingst). Dann fuhrwerkst du auch nicht ständig wie ein Behämmerter mit chmod rum und zerlegst dir deine etwaig ausgeklügelte Rechtestruktur mit der Verwendung von recursive.

Allerdings ist nur die eine Hälfte rausgeflogen. Die andere ließ sich weiterhin ansprechen, obwohl Plex nicht Besitzer war und ist.
Ich nehme mal an, du hast nur ein chown gemacht und dein chmod ist immer ein [augo]+[rwx]. Damit kann es natürlich sein, dass du others nicht anfasst, so dass die entsprechenden Dateien, die nicht rausgeflogen sind, von anderen Usern gelesen werden durften.
 
Gerne. Geht Copy & Paste auch irgendwie aus Putty heraus? Da habe ich noch keinen Weg gefunden. Nur von außen nach innen.

PuTTY ist doch scheiße*.

Win+X → PowerShell (Administrator) → choco -y install

auch das .
 
Bei PuTTY markierst du mit der Maus den zu kopierenden Text in der Konsole und kopierst automatisch.
 
  • Thread Starter Thread Starter
  • #14
Egal. Hab´s mir jetzt einfach in ein Verzeichnis kopiert, in das ich per Samba komme.
[src=bash]
[multimedia]
comment=plex multimedia
path=/home/UserXYZ/x/y
browsable=yes
oplocks=yes
ftp write only=no
recycle bin=yes
recycle bin administrator only=no
public=yes
invalid users="guests"
read list="UserXYZ","plex"
write list="root","admin","UserXYZ","multimedia","plex"
inherit permissions=no
smb encrypt=disabled
mangled names=yes
hosts allow="multimedia"
force user="admin"
force group="multimedia"
force create mode=0770
force directory mode=0775
create mask=0770
directory mask=0775[/src]
 
  • Thread Starter Thread Starter
  • #15
Ich habe das Verzeichnis nun noch einmal gelöscht und ein komplett neues (/Pfad/x/y/PLEX_media) hierfür angelegt. Ferner habe ich eine komplett neue Gruppe erzeugt. PLEX_media. Der Gruppe habe ich den User plex hinzugefügt. Anschließend:
[src=bash]chmod 755 /Pfad/x/y/PLEX_media
sudo chown -cR NutzerXY:PLEX_media /Pfad/x/y/PLEX_media[/src]

Mit meinem Nutzer komme ich drauf und kann per Windows Daten rein schieben. Der PMS erkennt wieder nur die Daten, wenn ich den Besitzer auf plex stelle. Also quasi das gleiche Ergebnis.

ls -lah gibt folgende Infos:

[src=bash]drwxr-rxr-x 3 NutzerXY PLEX_media[/src]

In Samba schaut´s wie folgt aus:

[src=bash][PLEX_media]
comment=Plex Multimedia path
path=/Pfad/x/y/PLEX_media
browsable=yes
oplocks=yes
ftp write only=no
recycle bin=yes
recycle bin administrator only=no
public=no
invalid users="guests"
read list="NutzerXY","plex","PLEX_media"
write list="root","admin","NutzerXY","PLEX_media","plex"
inherit permissions=no
smb =encrypt=disabled
mangled names=yes
hosts allow="PLEX_media"
force user="admin"
force group="PLEX_media"
force create mode=060
force directory mode=070
create mask=0770
directory mask=0770[/src]

Diese Berechtigung in Samba hatte ich übrigens mal aus einer Anleitung, die ich für den PMS gefunden hatte. Mit diesen ganzen Parametern lief es ursprünglich mal.
:unknown:
 
Nur eine wage Vermutung, weil ich mich mit dem System nicht auskenne, aber:

Das [kw]force user="admin"[/kw] sieht komisch aus:


Edit:
----

Once connected, all file operations will be performed as the "forced user", no matter what username the client connected as.

Quelle Link oben

------------

Das würde heißen das jeder User der sich an den Dienst anmeldet, nicht zu der Gruppe "PLEX_media" gehört, sondern als "admin" angemeldet wird, so lese ich die Hilfe dazu, vielleicht sind deßhalb die Dateien für "plex" nicht sichtbar? Daher auch mal die File Permissions prüfen wenn du was neues hochgeladen hast wem die Dateien gehören.

Ansonsten kannst du ja auch testweise was hochladen, schauen ob du es siehst, und wenn nicht mal chown auf "plex:Plex_media" und dann schauen ob diese auftauchen, dann ist vielleicht wirklich der User der Konflikt, der die Dateien hochlädt, der forciert wird.

Ist allerdings nur eine Mutmaßung, aber du könntest das Force Group auskommentieren oder mal auf "plex" setzen oder der Gruppe "plex_media" einen weiteren Testnutzer erstellen, der über "force user" eingestellt wird.
 
Zuletzt bearbeitet:
@HoneyBadger: Hast du Plex danach neu gestartet? Das musst du machen, wenn du Gruppenzugehörigkeiten veränderst, weil die /etc/group nur bei der Useranmeldung einmal gelesen wird - alles, was während der Session dann daran geändert wird, ist für die Session nicht sichtbar.
 
  • Thread Starter Thread Starter
  • #18
rly...!? :m

Das war´s! :dozey:

--- [2017-11-19 19:55 CET] Automatisch zusammengeführter Beitrag ---

Okay - ´n kleiner Bug ist noch im Setup. Hab gerade festgestellt, dass die Berechtigungen für neu in das Verzeichnis kopierte Daten nicht automatisch vererbt werden.
Sollte das nicht mit chmod -cR User:Gruppe Pfad automatisch passieren?
 
@HoneyBadger: Das kommt drauf an, wie dus machst.

Wenn du über Kommandozeile arbeitest, um die Dateien dort reinzuschieben, werden die Berechtigungen nicht verändert. Das musst du hübsch selbst machen (via chmod 644 /pfad/zur/datei bzw. chmod 755 /pfad/zum/directory). Natürlich geht das auch rekursiv. Hast du die Vererbungs-Flag gesetzt (z. B. als drwxrwSr-x), werden die im jeweiligen Directory erzeugten Dateien automatisch die jeweilige Owner- bzw. Groupownership übernehmen (im Beispiel Letzteres). Verschobene Dateien werden, wenn mich nicht alles täuscht, davon nicht berührt.
Wenn du über Samba arbeitest, musst du Samba sagen, wie die Zugriffsrechte sein müssen, mit der von phre4k erwähnten Maske.
 
  • Thread Starter Thread Starter
  • #20
Du meinst create mask? Hab ich drin. Dann haut 0770 also nicht ganz hin?
 
Zurück
Oben