[Eisfair] Samba share: Zugriffsberechtigung über additional group funktioniert nicht

Alex Busam abusam at gmx.de
Di Mär 29 15:29:25 CEST 2022


Am 29.03.2022 um 14:28 schrieb Marcus Röckrath:
> Hallo Alex,
> 
> Alex Busam wrote:
> 
>>> Du musst leitung so hinzufügen:
>>>
>>> SAMBA_SHARE_x_User='..... +leitung'
>>>
>>
>> Ich glaub ich bringe dann wohl paar Dinge durcheinander. Vielleicht
>> kannst Du mir mal kurz Dein Vorgehen beschreiben.
>> Wenn ich bei share1 bei _USER +leitung hinzufüge, dann kann ich
>> weiterhin per net use die share1 mit meinem user2 verbinden. Kann aber
>> dann nicht drauf zugreifen. Das root-Verzeichnis dieser share2 gehört
>> user1:users, 770.
> 
> Was steht bei dir in obiger Variablen?
SAMBA_SHARE_x_User='+users +leitung'
ergibt:

[share1]
  comment = share1 on %h
  writeable = yes
  browseable = yes
  path = /data/share1
  valid users = +users +leitung root
  create mode = 0777
  force create mode = 0777
  directory mode = 0777
  force directory mode = 0777
  strict allocate = yes
  vfs objects = widelinks



> 
> Du musst dort - durch Leerzeichen getrennt - alle User und Groups angeben,
> die auf die Share zugreifen dürfen:

Ich brauche aber nicht user1 aufführen, wenn dieser Mitglied der Gruppe 
group1 ist? Oder liegt hier mein Verständnisproblem? Zumindest wenn die 
Rechte 770 sind.
Glaub die Zentrale Frage ist, ob es reicht, dass die group group1 ist 
oder ob es auch reicht, dass eine additional group group1 ist.

> 
> Wenn also user1, user2, group1 und group2 zugreifen dürfen, wäre
> 
> SAMBA_SHARE_x_User='user1 user2 +group1 +group2'
> 
> zu schreiben.
> 
> Ein + vor dem Bezeichner kennzeichnet dieses als Gruppe, da es ja durchaus
> möglich sein kann, dass es sowohl einen User als auch eine Gruppe mit
> gleichen Namen geben kann.
> 
verstanden.
>> Wenn ich nun bei user2 die group auf users ändere und die additional
>> group auf leitung (also die Standard-group und additional-group
>> tausche), dann geht es. Bisher war die share PUBLIC=yes.
> 
> Wenn die Share public sein soll, brauchts die Variable natürlich nicht, denn
> das kennzeichnet doch eine Freigabe, die offen für jeden ist.
> 
auch klar. Bisher hatte ich eben die andere Vorgehensweise gewählt. Bei 
public = yes und Besitz der Share der entsprechenden group auf 
Linux-Rechte-Ebene hat das ja auch funktioniert.
> Bitte poste den Abschnitt dieser Freigabe aus /etc/smb.conf.
> 
s.o.

>> Ich kann für samba bestimmte systemuser freigeben. (über Add Samba user)
> 
> Das legt nur Samba-User an, die aber Linux-Users entsprechen! Für jeden
> Samba-User muss es einen gleichnamigen Linux-Use geben.
> 
> Gruppen entsprechen des Groups des Systems.
Impliziert Deine Aussage, dass die additional groups des systems 
ignoriert werden?
>   
>> Und dachte bisher, dass die auf linuxebene definierte group und
>> additional group (neben dem eigentlichen user) die Berechtigung ergibt.
> 
> Nein, nicht in Samba, du gibst, wie oben beschrieben, die Groups an, deren
> Mitgliedern du den Zugriff ermöglichen willst.
Widerspricht Dein Nein jetzt nicht der Aussage "Gruppen entsprechen den 
Groups des Systems"?
> 
> Die Zugriffe regelt Samba!

Bei mir funktioniert das alles sobald die Hauptgruppe auf Linuxebene passt.

Zusatzfrage: wie regelst Du den Zugriff auf Unterordner einer share, der 
dann nur einer Teilgruppe möglich sein soll?
In meinem Beispiel share1, für group1, aber einer der Unterordner nur 
Lese/Schreibberechtigung für Additional group leitung.


Gruß
Alex


Mehr Informationen über die Mailingliste Eisfair