Samba schreibt immer als root

Probleme mit Samba, NFS, FTP und Co.
Antworten
alex666
Beiträge: 1
Registriert: 05.12.2016 19:01:48

Samba schreibt immer als root

Beitrag von alex666 » 05.12.2016 19:17:42

Hallo Debiananer!

Ich habe ein Root-Server und auf dem läuft eine VM (Virtualbox) mit Samba d'rauf.
Die Dateien sind auf dem Root-Server und via VBoxShare der VM freigegeben.
Ich kann mich problemlos mit meinem Client mit Samba verbinden (security = user),
jedoch haben alle File 770 root:root Rechte und wenn ich mit meinem User Files
oder Verzeichnisse anlege, haben die auch UID=root und GID=root.
Ich hab aber in der smb.conf
force group = samba
force user = root
drinnen.
PS: ich hab die smb.conf Datei von meinem alten Server (ohne VM) übernommen und
da hat alles super funktioniert.
Kann sein das VBox nichts anderes zulässt, als root:root?
Und eigentlich dürfte ich mit meinem User gar nicht auf die Files zugreifen dürfen...
Kann mir da jemand helfen? Danke...

Theophil T.
Beiträge: 395
Registriert: 22.10.2006 20:24:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Samba schreibt immer als root

Beitrag von Theophil T. » 06.12.2016 22:46:38

Hallo,

und willkommen im Forum.

Du müsstest noch weitere Informationen geben, um eine Hilfestellung zu bekommen:
Welche Debian-Version?
Samba-Version?
Gibt es die Gruppe "samba" im Debian-System?
Ausgabe von

Code: Alles auswählen

# testparm
Mit welchem Client (Windows? Debian mit mount.cifs?) tritt das Problem auf?
Mount-Optionen?

Ich habe bei mir zuhause einmal Folgendes getestet:
Auf dem Server ist die Gruppe "sambashare" bereits angelegt. Als ich eine Samba-Freigabe dieses Servers (Debian jessie, Samba 4.2.10, Standalone-Server, Protokoll SMB2_10) in einem Client mit Debian jessie mit mount.cifs, uid=test,gid=test, mountete und "force group = sambashare" in die smb.conf des Servers eintrug, erhielt eine neu mit dem Client erzeugte Datei zunächst die Gruppe "test" im Unix-System des Sambaservers.
Dies war, weil die Freigabe bereits vor Änderung der smb.conf und "/etc/init.d/samba reload" gemountet war.

Wenn ich dann die Samba-Freigabe nach der Änderung der samba-server-Konfiguration neu mounte, verhält sich samba wie es zu erwarten ist:
Dateirechte im Unix-Dateisystem nach Anlage einer neuen Testdatei:

Code: Alles auswählen

-rw-rw---- 1 test sambashare 0 Dez  7 06:38 2016-12-07.txt
Auf dem Client sieht man im gemounteten Dateisystem weiterhin die Gruppe "test", dies ist aber für die tatsächliche Rechtevergabe durch den Server unerheblich.

Mehr kann ich dazu derzeit nicht sagen. Ich glaube nicht, dass das Problem durch die VM entsteht.

Gruß Theophil

edit 13.12.: Text und Fehlerbeschreibung überarbeitet
Zuletzt geändert von Theophil T. am 13.12.2016 20:23:44, insgesamt 4-mal geändert.

TomL

Re: Samba schreibt immer als root

Beitrag von TomL » 07.12.2016 11:28:49

Theophil T. hat geschrieben:Bei mir gibt es die Gruppe "sambashare" auf dem Server. Wenn ich eine Samba-Freigabe dieses Servers (Debian jessie, Samba 4.2.10, Standalone-Server, Protokoll SMB2_10) in einem Client mit Debian jessie mit
- mount.cifs mit uid=test,gid=test mounte und
- force group = sambashare" in die smb.conf des Servers eintrage
erhält eine neu mit dem Client erzeugte Datei die Gruppe test im Unix-System des Sambaservers.
Das ist leider falsch. Das, was im Mount-Befehl als Options eingetragen ist (hier uid=test,gid=test) hat überhaupt keine Auswirkung darauf, mit welchen Rechten Dateien beim Anlegen auf dem Server gespeichert werden. Diese Mount-Option ist eine reine Fake-Anzeige auf dem Client, völlig unabhängig davon, mit welchen Rechten die Dateien tatsächlich gespeichert sind/werden. Das ist eine reine Client-Anzeige-Option.... auf dem Client wird damit immer Test:Test angezeigt. Ganz nebenbeibemerkt ist in Samba auf einem Linux-System und einem Linux-Client sowieso keine Rechte-Synchronisation vorgesehen. Es kann zufällig sein, dass GIDs und UIDs (wirklich rein zufällig) auf Server und Client identisch sind... aber sich darauf zu verlassen ist ein Glücksspiel.
Theophil T. hat geschrieben:Offenbar überschreibt die mount-Option die "force group" Anweisung.
Das ist leider auch nicht richtig. Der Mount kann keine "force"-Optionen überschreiben. Die Regel ist anders:
  • Das 'örtliche' Server-Linux ist der Herr aller Dateien und legt mit seinem Rechtesystem fest, welche 'lokaler' User was wie wo speichern oder öffnen darf
  • Die Samba-"force"-Anweisungen können immer nur gleiche oder weniger Rechte erlauben, als Linux (Pkt.1) vorgibt, aber niemals mehr.
  • Das, was der Client will, ist dem Server-Linux völlig egal... der Server bestimmt, was geht und was nicht erlaubt ist, der Client kann das nicht umgehen.
Darüber hinaus gilt:
Es ist nicht erforderlich, dass ein oder alle Client-User auch auf einem Samba-Server angelegt ist. Es reicht aus, wenn ein (!) berechtigter User (Samba-Server und Client, der aber NICHT der am Client aktiv angemeldete User sein muss), die Samba-Freigaben auf dem Client mounted. Dann kann dieser berechtigte User die nun existierenden lokalen Mounts auf dem Client an beliebig viele Client-User freigeben. Das funktioniert bestens, solange man keine Server-Dirs via Samba-Home-Option ins User-Home-Dir des Servers shared... erst dann müssen die Client-User auch auf dem Server unter Linux und Samba eingerichtet werden.
Theophil T. hat geschrieben:Ich glaube nicht, dass das Problem durch die VM entsteht.
Da bin ich mir auch sicher.

Theophil T.
Beiträge: 395
Registriert: 22.10.2006 20:24:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Samba schreibt immer als root

Beitrag von Theophil T. » 07.12.2016 13:07:02

Lieber Tom,

ohne nochmal im Einzelnen darauf einzugehen, danke für Deine Korrektur.

Ich hatte - was Du vielleicht überlesen hast - meinen Beitrag bereits heute früh morgens editiert und den Fehler korrigiert.
edit: Fehler von mir, wenn ich die Samba-Freigabe nach der Änderung der smb.conf neu mounte, geht es:

-rw-rw---- 1 test sambashare 0 Dez 7 06:38 2016-12-07.txt

Die Änderung der Gruppenzugehörigkeit bezieht sich auf das Unix-Dateisystem. Auf dem Client sehe ich im gemounteten Dateisystem weiterhin die Gruppe "test", dies ist aber für die Rechtevergabe an Mitglieder von "sambashare" unerheblich. /edit
Viele Grüße Theophil

Benutzeravatar
weshalb
Beiträge: 1265
Registriert: 16.05.2012 14:19:49

Re: Samba schreibt immer als root

Beitrag von weshalb » 07.12.2016 16:27:57

TomL hat geschrieben: Die Regel ist anders:
  • Das 'örtliche' Server-Linux ist der Herr aller Dateien und legt mit seinem Rechtesystem fest, welche 'lokaler' User was wie wo speichern oder öffnen darf
  • Die Samba-"force"-Anweisungen können immer nur gleiche oder weniger Rechte erlauben, als Linux (Pkt.1) vorgibt, aber niemals mehr.
  • Das, was der Client will, ist dem Server-Linux völlig egal... der Server bestimmt, was geht und was nicht erlaubt ist, der Client kann das nicht umgehen.
.
Sehr gute Zusammenfassung, genau daran bin ich damals auch immer gescheitert. :roll:

Antworten