ubuntuusers.de

Problem beim Überschreiben von Dateien innerhalb einer Samba-Freigabe

Status: Ungelöst | Ubuntu-Version: Server 12.04 (Precise Pangolin)
Antworten |

jacktheguitarman

Anmeldungsdatum:
24. Februar 2013

Beiträge: Zähle...

Hallo Leute,

ich habe ein sehr spezielles Problem mit dem Zugriff auf meine Samba-Freigaben. Bei mir läuft ein Ubuntu-Server (12.04) mit Zentyal 3. Der Server erfüllt die Funktionen eines Domain Controllers, Dateiservers und Print-Servers. Die Clients verfügen allesamt über Windows XP SP3.

Diversen Windows-Anwendungen soll es möglich sein, Dateien in den Freigaben des Zentyal-Servers zu speichern und vorhandene Dateien zu überschreiben. Alle Benutzer, Gruppen, Freigaben und deren Berechtigungen sind scheinbar korrekt eingerichtet. Zumindest stimmen die Ergebnisse der clientseitigen Sicherheitseinstellungen und der serverseitigen getfacl-Ausgabe mit der ursprünglichen Planung überein.

Das Problem ist, dass ich gewissermaßen "eingeschränkte Überschreib-Rechte" besitze. Folgendes Szenario beschreibt mein Problem etwas genauer:

Ich öffne unter Windows XP das Notepad und erstelle eine Datei. Diese Datei kann ich auf der Serverfreigabe "//meinserver/meinefreigabe/" unter dem Namen "test.txt" abspeichern. Ich kann die Datei im Explorer suchen, nochmals öffnen, verändern und über "Datei"-"Speichern" ganz normal abspeichern. Soweit alles normal. Schließe ich nun die Datei, erstelle anschließend ein neues Textdokument und versuche dieses mittels "Speichern unter" unter "//meinserver/meinefreigabe/test.txt" abzuspeichern, erscheint nicht etwa eine Nachfrage, ob das Dokument überschrieben werden soll sondern es erscheint die Fehlermeldung

"Auf die Datei kann nicht zugegriffen werden. Überprüfen Sie die Sicherheitsberechtigungen."

Gehe ich nicht über den Netzwerkpfad sondern über ein verbundenes Netzlaufwerk (//meinserver/meinefreigabe/ als Laufwerk Z: verbunden), so sieht die Fehlermeldung etwas anders aus:

"Sie Verfügen nicht über die Berechtigung zum Speichern in diesem Verzeichnis. Wenden Sie sich an den Administrator, um diese Berechtigung zu erhalten. 
Möchten Sie stattdessen im Ordner "Eigene Dateien" speichern?"

Speicher ich die Datei mit dem gleichen Namen vorerst an anderer Stelle und kopiere sie über den Windows Explorer auf den Server, so kann ich die Datei problemlos überschreiben (Wie gewohnt mit der Abfrage: "Soll die Datei ersetzt werden?" - "Ja").

Das Problem tritt nur unter Windows XP auf. Auf anderen Clients (Win 7, Ubuntu 12.04 Desktop, OS X Mt. Lion) war der Fehler nicht zu beobachten. Auch wenn es sich offensichtlich um ein Windows-Problem handelt, wende ich mich jedoch absichtlich an das Ubuntuusers-Forum, weil das Problem erst seit der Umstellung auf den genannten Ubuntu-Server existiert. Vorher war ein Win 2k3 Server als PDC und File Server im Einsatz. Ich halte viel vom Ubuntu Server und von dieser Community, deshalb hoffe ich sehr, dass ihr mir helfen könnt. Ich könnte mir vorstellen, dass ich lediglich die Clients irgendwie anpassen muss, habe bisher jedoch keine brauchbaren Hinweise gefunden.

Die Freigaben-Definition in der smb.conf sieht folgendermaßen aus:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
[meinefreigabe]
    comment = meinefreigabe
    path = /raid1/meinefreigabe
    browseable = Yes
    read only = No
    force create mode = 0660
    force directory mode = 0660
    vfs objects = acl_xattr full_audit scannedonly
    full_audit:success = connect opendir disconnect unlink mkdir rmdir open rename
    full_audit:failure = connect opendir disconnect unlink mkdir rmdir open rename
    scannedonly: rm_hidden_files_on_rmdir = True
    scannedonly: allow_nonscanned_files = False
    scannedonly: recheck_time_readdir = 50
    scannedonly: scanning_message = is being scanned for viruses
    scannedonly: hide_nonscanned_files = False
    scannedonly: show_special_files = True
    scannedonly: domain_socket = True
    scannedonly: recheck_time_open = 50
    scannedonly: recheck_tries_readdir = 20
    scannedonly: quarantine_dir = /var/lib/zentyal/quarantine
    scannedonly: recheck_tries_open = 100
    scannedonly: socketname = /var/lib/zentyal/zavs

Das RAID, in dem die Freigabe existiert, ist wie folgt in der /etc/fstab aufgeführt:

1
/dev/md1	/raid1	ext4	defaults,rw,exec,suid,auto,usrquota,grpquota,acl,user_xattr	0	2

Ich versuche mit dem Account "teilnehmer" (Gruppenmitglied der Gruppe "team") eine Datei zu ersetzen. Hier die getfacl-Ausgabe für die zu ersetzende Datei:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# file: export1.wav
# owner: 3000000
# group: __USERS__
user::rwx
user:root:rwx
group::---
group:root:---
group:adm:rwx
group:__USERS__:---
group:administratoren:rwx
group:team:rwx
group:3000000:rwx
mask::rwx
other::---

Das Problem betrifft nicht nur einen, sondern alle Accounts inkl. Administratoren-Accounts. Ich würde mich sehr über eure Hilfe freuen.

Max-Ulrich_Farber

Avatar von Max-Ulrich_Farber

Anmeldungsdatum:
23. Januar 2007

Beiträge: 8003

Ich kann das Problem nicht analysieren, weil ich mich mit Windows zu wenig auskenne. Ich kann Dir nur Tipps zum Ausprobieren geben; ob die was bringen, weiß ich nicht.

Wenn man von Windows aus eingeschränkte Rechte hat, dann hilft oftmals die Option acl check permissions = false. Diese Option ist aber mit Vorsicht zu gebrauchen; warum, sagt schon der Name. Sie kann in der smb.conf bei einzelnen Shares eingetragen werden.

Wenn Du vom Explorer aus drüber kopieren kannst, nicht aber mit dem Notepad überschreiben, kann es dann sein, dass Du im Explorer und im Notpad mit verschiedenen Rechten arbeitest?

Mehr fällt mir im Moment leider nicht ein.

Gruß - Max-Ulrich

jacktheguitarman

(Themenstarter)

Anmeldungsdatum:
24. Februar 2013

Beiträge: 8

Der Gedanke, dass die Anwendung andere Rechte verwendet als der Dateimanager, kam mir auch schon, da mir der Fehler zuerst bei komplexeren Programmen (LibreOffice, Samplitude, ...) aufgefallen ist. Da er aber selbst beim Notepad auftritt, wundert mich das schon sehr.

Ich frage mich: Gibt es spezielle Berechtigungen, die unter Windows lediglich "Überschreib-Rechte" festlegen und sich vom "Modify"-Recht abgrenzen lassen (denn letzteres funktioniert ja)? Melde ich mich mit einem Domain Admin Account an einem der WinXP-Clients an und überprüfe die Rechte, so schlägt sich die Vergabe von Lese-, Schreib- und Ausführrechten im sog. "Vollzugriff" nieder. Ich kann also gar nicht noch mehr Rechte vergeben.

Relevante Nutzer bei abgeschalteter "Einfacher Dateifreigabe" in die Administratoren-Gruppe aufzunehmen, hat nichts gebracht. An anderer Stelle wurde mir empfohlen, den "Offline Modus" zu deaktivieren. Kein Erfolg.

Das nur als Nachtrag.

jacktheguitarman

(Themenstarter)

Anmeldungsdatum:
24. Februar 2013

Beiträge: 8

Noch ein Nachtrag:

acl check permissions = false

bewirkt auf direktem Wege, dass ich auf keinerlei Freigaben mehr Zugriff habe, selbst wenn ich es nur in einer einzigen Freigabe deaktiviert habe. Die Anmeldung mit einem Roaming Profile ist dann auch nicht mehr möglich.

Isegrim

Avatar von Isegrim

Anmeldungsdatum:
29. Dezember 2006

Beiträge: 535

Hallo,

hast Du schon mit

writeable = Yes

oder

write list = name1 name2

versucht?!

Viele Grüße

Max-Ulrich_Farber

Avatar von Max-Ulrich_Farber

Anmeldungsdatum:
23. Januar 2007

Beiträge: 8003

read only = No

tut das Gleiche. Und das ist oben eingetragen.

acl check permissions = false

bewirkt auf direktem Wege, dass ich auf keinerlei Freigaben mehr Zugriff habe, selbst wenn ich es nur in einer einzigen Freigabe deaktiviert habe. Die Anmeldung mit einem Roaming Profile ist dann auch nicht mehr möglich.

Wow!! Damit habe ich nicht gerechnet! Möglicherweise gibt es da Probleme mit Zentyal 3 (?). Da kenne ich mich leider nicht aus (wie Du siehst).

Gruß - Max-Ulrich

Antworten |