3homi112
Anmeldungsdatum: 6. November 2015
Beiträge: 35
Wohnort: Am Meer
|
Hallo,
Ich habe ein kleines Problem mit meinem Samba Server. Der Server basiert auf Ubuntu Server 14.04 LTS und hat zwei ext4 Festplatten. Jedoch habe ich das Problem, dass ich einfach keine Dateien oder Ordner erstellen kann, die jeder schreiben darf (also jeder, der auf die Freigabe darf). Aufgebaut ist das ganze wie folgt: Es gibt zwei User, hier einfach mal user1 und user2. Beide wurden mittels smbpasswd -a hinzugefügt und sind Mitglieder der Gruppe smbuser. Auf die Freigabe greifen sowohl Windoofs als auch Linux Rechner zu.
Hier mal meine smb.conf (nur die Freigaben):
[Dateien]
comment = Alle Dateien
path = /media/fstab/hdd1/Dateien/
valid users = @smbuser
create mask = 7777
directory mask = 0777
read only = no
[user1]
comment = Superuser
path = /media/fstab/hdd1/
valid users = user1
create mask = 7777
directory mask = 0777
read only = no
[Video]
comment = Video
path = /media/fstab/hdd2/data/TV-Aufzeichnungen/video.00
valid users = @smbuser
create mask = 7777
directory mask = 0777
read only = no
write list = user1 Interessant ist auch, dass die user die Dateien trotzdem löschen dürfen. Die smb.conf sollte doch eigentlich so richtig sein? MfG 3homi112
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7992
|
Ganz kurz. Ich bin in Eile. Die smb.conf sollte doch eigentlich so richtig sein?
Leider nein. Die Optionen create mask = 7777
directory mask = 0777
sind wirkungslos, da sie Zugriffsrechte nur einschränken, nicht aber erweitern können. Es müsste vielmehr heißen
force directory mode = 0777
force create mode = 0666
Es gibt aber noch elegantere Möglichkeiten, das Problem zu lösen. Dazu aber erst später, also morgen. Gruß – Max-Ulrich
|
3homi112
(Themenstarter)
Anmeldungsdatum: 6. November 2015
Beiträge: 35
Wohnort: Am Meer
|
Danke für die schnelle Antwort! Leider ändert das nicht viel, daher hier die Zugriffsrechte, wie sie auf dem Client angezeigt werden: Besitzer: 1001-user#1001 Zugriff: Lesen und schreiben Gruppe: 1001 Zugriff: Lesen und schreiben Andere
Zugriff: Nur lesen Führe ich: sudo chmod -R 0777 /media/fstab/hdd1 aus, dann kann ich die Datei vollständig bearbeiten, ist aber ja auch irgendwie logisch. 3homi112
- Bilder
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7992
|
Vorab zur Klärung: Die Optionen force create mode und force directory mode wirken sich nur beim Erstellen neuer Dateien und Ordner via Samba aus. Die Rechte bereits bestehender Dateien oder Ordner werden dadurch nicht mehr beeinflusst. Außerdem unterliegen die beiden Optionen noch folgenden Bedingungen:
Wenn die cifs UNIX Extensions aktiv sind und auch auf dem Client unterstützt werden, dann haben diese Vorrang. Dann werden die UNIX-Dateirechte beim Erstellen neuer Dateien und Ordner vom Client auf den Server übertragen, auch wenn dies im Widerspruch zu diesen Optionen ist. Die UNIX Extensions werden nur von Linux-Clients und auch dort nur beim Zugriff über smbclient oder cifs-vfs unterstützt. Von Windows-Clients aus kann man seit Samba-4 auf dem Samba-Server ACL setzen bzw. verändern. Die ACL können die UNIX-Dateirechte u.U. weiter einschränken.
Da ich nicht weiß, wie bei Dir der Zugriff von den Clients aus erfolgt, kann ich leider nicht sagen, wasum die Dateirechte scheinbar nicht stimmen. Eine andere Möglichkeit sind die inherit -Optionen. Man stellt auf dem Server die Besitz- und Zugriffsrechte für die Freigabe passend ein und macht diese dann mit inherit owner = yes , inherit permissions = yes und nötigenfalls auch inherit acls = yes vererbbar. Dabei fehlt die Option inherit group . Sie ist überflüssig, weil man die Gruppe ja durch das SGID-Bit allgemein vererbbar machen kann. Die Lösung über die inherit -Optionen finde ich eleganter. Gruß – Max-Ulrich
|
3homi112
(Themenstarter)
Anmeldungsdatum: 6. November 2015
Beiträge: 35
Wohnort: Am Meer
|
Die cifs UNIX Extensions kann ich doch einfach durch "unix extensions = no" deaktivieren (https://forum.ubuntuusers.de/topic/samba-rechte-und-gruppen-freigaben/)? Aber wenn ich das richtig verstanden habe, dann bezeichnet das doch die Serverinternen Rechte,und die habe ich doch mit 3homi112 schrieb:
sudo chmod -R 0777 /media/fstab/hdd1
soweit geändert, dass jeder lesen und schreiben darf?
Die inherit Optionen bringen auch nichts, trotzdem darf nicht jeder lesen und schreiben. Achja, der Zugriff erfolgt im Moment über einen Rechner mit Ubuntu 16.04., falls das noch was bringt. MfG 3homi112
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7992
|
Die cifs UNIX Extensions kann ich doch einfach durch "unix extensions = no" deaktivieren
Ja, generell deaktivieren. Vielleicht sind sie aber auch mit yes nicht aktiv, das hängt von der Art des Zugriffs auf dem Client ab. der Zugriff erfolgt im Moment über einen Rechner mit Ubuntu 16.04., falls das noch was bringt.
Das allein bringt noch nicht viel. Wichtig ist, wie dort der Zugriff erfolgt. Dafür gibt es ganz verschiedene Möglichkeiten. Versuche bitte mal, vom Client aus über Samba in der Freigabe [user1] eine neue Datei /media/fstab/hdd1/Versuch anzulegen und poste dann die Ausgabe von ls -la /media/fstab/hdd1/Versuch
getfacl /media/fstab/hdd1/Versuch
auf dem Server (nicht auf dem Client!) Gruß – Max-Ulrich
|
3homi112
(Themenstarter)
Anmeldungsdatum: 6. November 2015
Beiträge: 35
Wohnort: Am Meer
|
ls -la /media/fstab/hdd1/Versuch
-rw-rw---- 1 bennet bennet 0 Mai 30 15:21 /media/fstab/hdd1/Versuch
getfacl /media/fstab/hdd1/Versuch
getfacgetfacl: Entferne führende '/' von absoluten Pfadnamen
# file: media/fstab/hdd1/Versuch
# owner: user1
# group: user1
user::rw-
group::rw-
other::---
3homi112
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7992
|
Ja, da stimmt offenbar etwas nicht. Wie lautet denn jetzt der entsprechende Eintrag in smb.conf [user1]
comment = Superuser
path = /media/fstab/hdd1/
valid users = user1
create mask = 7777
directory mask = 0777
read only = no
Oder hast Du /media/fstab/hdd1 vielleicht versehentlich doppelt freigegeben, einmal administrativ über einen Eintrag in smb.conf und noch einmal mittels net usershare? Was sagt denn
Gruß – Max-Ulrich
|
3homi112
(Themenstarter)
Anmeldungsdatum: 6. November 2015
Beiträge: 35
Wohnort: Am Meer
|
Also erst mal, ich hatte die smb.conf für die Freigabe noch gar nicht geändert, deshalb auch der gleiche Fehler, sorry 😬 . Jetzt so geändert:
[user1]
comment = Superuser
path = /media/fstab/hdd1/
valid users = user1
create mask = 0660
directory mask = 0777
read only = no
inherit owner = yes
inherit permissions = yes
Daher noch mal die Befehle: ls -la /media/fstab/hdd1/Versuch
-rw-rw-r-- 1 user1 user1 0 Jun 1 16:33 /media/fstab/hdd1/Versuch
getfacl /media/fstab/hdd1/Versuch
getfacgetfacl: Entferne führende '/' von absoluten Pfadnamen
# file: media/fstab/hdd1/Versuch
# owner: user1
# group: user1
user::rw-
group::rw-
other::r-- Beschreibt ja aber genau das, was ich meinte: Es darf nicht jeder schreiben, das soll aber so sein. Bei
net usershare info -l
kommt nichts raus, also wahrscheinlich auch nichts freigegeben, alles andere hätte mich auch stark gewundert. 3homi112
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7992
|
Jetzt ist möglicherweise manches "doppelt gemoppelt": valid users = user1
...
inherit owner = yes
Weil nur user1 zugreifen darf, wird der Eigentümer auch ohne inherit owner immer nur user1 . create mask = 0660
directory mask = 0777
...
inherit permissions = yes
Die Option directory mask = 0777 maskiert gar nichts außer einem wahrscheinlich sowieso gar nicht vorhandenen SGID-Bit. Ist also vermutlich überflüssig, schadet aber auch nicht. Die Option create mask = 0660 führt zum gewünschten Ergebnis, weil aus den von /media/fstab/hdd1/ geerbten Zugriffsrechten 0777 maskiert wird. Also ist alles in Ordnung. Bei net usershare info -l kommt nichts raus
So soll es ja auch sein. Meines Erachtens ist also alles OK. Oder gibt es noch irgend ein Problem? Gruß – Max-Ulrich
|
3homi112
(Themenstarter)
Anmeldungsdatum: 6. November 2015
Beiträge: 35
Wohnort: Am Meer
|
Für diese Freigabe in Ordnung, aber die [Dateien] Freigabe erstellt die Dateien so, dass zwar der user1 schreiben darf, aber nicht die Gruppe smbuser, die das aber auch dürfen soll. Außerdem müsste mit der inherit Option ja auch das Schreibrecht für alle gegeben sein, da ich ja den Befehl
sudo chmod -R 0777 /media/fstab/hdd1
ausgeführt habe. Es bringt nicht sonderlich viel, wenn user1 schreiben darf, der Rest aber nicht, zumindest nicht diese Datei. Auch hier (falls nötig) die Ausgaben (angemeldet als user1) :
ls -la /media/fstab/hdd1/Dateien/Versuch
-rwxrw-r-- 1 777 user1 0 Jun 1 22:56 /media/fstab/hdd1/Dateien/Versuch
getfacl /media/fstab/hdd1/Dateien/Versuch
# file: media/fstab/hdd1/Dateien/Versuch
# owner: 777
# group: user1
user::rwx
group::rw-
other::r--
Und der Eintrag der smb.conf:
[Dateien]
comment = Alle Dateien
path = /media/fstab/hdd1/Dateien/
valid users = @smbuser
create mask = 0660
directory mask = 0777
read only = no
inherit owner = yes
inherit permissions = yes 3homi112
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7992
|
Es gibt leider immer noch Lücken in Deinen Informationen, die es schwierig machen, die Ursache für dieses scheinbar "seltsame" Verhalten ausfindig zu machen. Bei ls -la /media/fstab/hdd1/Dateien/Versuch müsstest Du doch auch Informationen für .. , also für das übergeordnete Verzeichnis /media/fstab/hdd1/Dateien bekommen. Stimmen die denn? Sind die wirklich rxxrwxrwx ? Und wer ist da der Eigentümer? Und was hat es mit dem "seltsamen" Eigentümer 777 auf sich, der sogar dann auf neue Unterordner vererbt werden soll? Hast Du vielleicht irgendwann 'mal chmod mit chown verwechselt? Das würde jedenfalls manches erklären. Wenn Du mit inherit -Optionen arbeitest, musst Du mir schon verraten, welches die Werte der Eigenschaften sind, die da vererbt werden sollen. Sonst tappe ich im Dunkeln. Gib deshalb bitte die gesamten angeforderten Ausgaben an. Auch wenn manches Dir vielleicht unwesentlich erscheint, es kann trotzdem wichtig sein. Gruß – Max-Ulrich
|
ZaHaDum
Anmeldungsdatum: 29. Oktober 2008
Beiträge: 297
|
Max-Ulrich_Farber schrieb: Es gibt leider immer noch Lücken in Deinen Informationen, die es schwierig machen, die Ursache für dieses scheinbar "seltsame" Verhalten ausfindig zu machen. Bei ls -la /media/fstab/hdd1/Dateien/Versuch müsstest Du doch auch Informationen für .. , also für das übergeordnete Verzeichnis /media/fstab/hdd1/Dateien bekommen. Stimmen die denn? Sind die wirklich rxxrwxrwx ? Und wer ist da der Eigentümer? Und was hat es mit dem "seltsamen" Eigentümer 777 auf sich, der sogar dann auf neue Unterordner vererbt werden soll? Hast Du vielleicht irgendwann 'mal chmod mit chown verwechselt? Das würde jedenfalls manches erklären.
Genau aus diesem Grund sollte man Konsolenausgaben niemals gekürzt, sonder immer mit Copy-and-Paste vollständig und unverändert posten. Ich kann zwar sehr gut nachvollziehen, dass man nicht mehr über seinen Server preisgeben möchte als unbedingt nötig, aber bei den Ausgaben von Kommandos wie ls oder getfacl muss wirklich immer die komplette Ausgabe gepostet werden. Sonst ist effektive Hilfe einfach unmöglich. Außerdem wüsste ich nicht was für eventuell sensible Informationen man mit den Ausgaben dieser Kommandos preisgeben könnte. Gruß Martin Brehmer CIO der WSI GmbH
|
3homi112
(Themenstarter)
Anmeldungsdatum: 6. November 2015
Beiträge: 35
Wohnort: Am Meer
|
Max-Ulrich_Farber schrieb: Hast Du vielleicht irgendwann 'mal chmod mit chown verwechselt? Das würde jedenfalls manches erklären.
Ja, hab ich mal, ich dachte aber auch, dass ich das schon mal wieder in smbuser als Gruppe geändert hätte. Was ist denn ein sinnvoller Besitzer für den Ordner? und noch mal die Ausgaben, auch für die Verzeichnisse darüber:
vdr@vdr-server:~$ ls -la /media/fstab/hdd1/Dateien/Versuch
-rwxrw-r-- 1 777 user1 0 Jun 1 22:56 /media/fstab/hdd1/Dateien/Versuch
vdr@vdr-server:~$ ls -la /media/fstab/hdd1/Dateien/
insgesamt 28
drwxrwxrwx 7 777 smbuser 4096 Jun 1 22:56 .
drwxrwxrwx 4 user1 smbuser 4096 Jun 1 16:34 ..
drwxrwxrwx 8 777 smbuser 4096 Mai 28 17:35 Dokumente
drwxrwxrwx 5 777 smbuser 4096 Mai 7 12:23 Filme und Serien
drwxrwxrwx 4 777 smbuser 4096 Mai 7 11:27 Fotos
-rw-rw---- 1 777 user1 0 Mai 29 01:32 neue Datei
drwxrwxrwx 6 777 smbuser 4096 Mai 29 14:01 Programme
drwxrwxrwx 4 user1 smbuser 4096 Mai 14 21:56 .Trash-1000
-rwxrw-r-- 1 777 user1 0 Jun 1 22:56 Versuch
vdr@vdr-server:~$ ls -la /media/fstab/hdd1/
insgesamt 16
drwxrwxrwx 4 user1 smbuser 4096 Jun 1 16:34 .
drwxr-xr-x 4 root root 4096 Feb 18 15:29 ..
drwxrwxrwx 9 777 smbuser 4096 Mai 7 11:09 user1
drwxrwxrwx 7 777 smbuser 4096 Jun 1 22:56 Dateien
-rw-rw-r-- 1 user1 user1 0 Jun 1 16:33 Versuch
vdr@vdr-server:~$ getfacl /media/fstab/hdd1/Dateien/Versuch
getfacl: Entferne führende '/' von absoluten Pfadnamen
# file: media/fstab/hdd1/Dateien/Versuch
# owner: 777
# group: user1
user::rwx
group::rw-
other::r--
Zur Verzeichnisstruktur: /media/fstab/hdd1 ist die Festplatte, darunter liegen die Verzeichnisse /user1 und /Dateien. /user1 ist nur für user1 freigeben, /Dateien ist für die Gruppe smbuser freigegeben. Daneben existiert noch eine zweite Festplatte, /media/fstab/hdd2 , auf der der Ordner /data/TV-Aufzeichnungen/video.00 an smbuser freigegeben ist (Aufnahmeverzeichnis des VDR). Ich hoffe, dass das ausführlich genug ist und nein, da sind keine sensiblen Daten bei, aber trotzdem muss ja nicht jeder wissen, wie meine User heißen, daher die verkürzte Form. 3homi112
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7992
|
Danke für die weiteren Informationen. "Stand der Ermittlungen": Die Zugriffsrechte für das freigegebene Verzeichnis /media/fstab/hdd1/Dateien/ sind offenbar in Ordnung, werden aber trotz der Option inherit permissions = yes nicht auf die neu erstellte Datei /media/fstab/hdd1/Dateien/Versuch vererbt. Dafür kann ich mir folgende Erklärungen vorstellen:
die Datei Versuch wurde gar nicht von einem Client aus über Samba, sondern direkt auf dem Server bzw. über einen anderen Dienst als Samba (SSH, FTP, NFS ... ?) erstellt. die Option inherit permissions = yes wird durch UNIX Extensions behindert, die offenbar doch aktiv sind die Datei smb.conf enthält irgend einen Fehler, der die inherit -Optionen behindert (feststellbar über testparm ; die erweiterte Kontrolle mit testparm -v wird nicht nötig sein). Das Dateisystem der Partition (ext3/4, NTFS ?) unterstützt die Optionen nicht. Das glaube ich aber nicht, denn chown und chmod haben ja funktioniert.
Was ist denn ein sinnvoller Besitzer für den Ordner?
Irgend ein Benutzer, als der Du Dich nötigenfalls direkt auf dem Server einloggen kannst. Warum denn nicht user1 oder Du selbst? Gruß – Max-Ulrich
|