Ubuntu + neueste Samba-Version, Symlinks funktionieren nicht mehr auf in Windows gemounteten Freigaben


14

Ich habe gerade die neueste Software für meine Ubuntu 9.10-Linux-Box heruntergeladen (apt-got?) Und festgestellt, dass Samba im Update enthalten ist.

Nach der Installation funktionieren die Symlinks in meinem Home-Verzeichnis nicht mehr, wenn sie als Laufwerk in meiner Linux-Box eingebunden sind. Sie haben buchstäblich Sekunden gearbeitet, bevor ich das Update durchgeführt habe. Alle meine normalen Verzeichnisse funktionieren einwandfrei. Wenn Sie die Verzeichnisliste in der Befehlszeile anzeigen, haben alle Dateien, Verzeichnisse und Links genau die gleichen Berechtigungen. Dies ist jedoch der Fehler, den ich erhalte:

Location is not available
L:\LinkDir is not accessible.
Access is denied.

Ich habe in den Foren nachgesehen und diese Option für die smb.conf gesehen

follow symlinks = yes
wide symlinks = yes
unix extensions = no

Ich habe sie reingelegt, aber sie hatten keine Wirkung. Hat jemand dieses Problem schon gehabt?

Antworten:


19

In Samba ( 5. Februar 2010 ) ist ein kürzlich aufgetretenes Sicherheitsproblem aufgetreten , bei dem es sich um einen Zero-Day-Exploit handelt, bei dem eine unsichere Standardkonfiguration ausgenutzt wurde. Laut einem Ubuntu-Forumsbeitrag zum Thema ist die Option "Wide Links" nun standardmäßig auf " Nein" gesetzt .

Anscheinend wurde der Name der Option seit den früheren Anweisungen geändert, die Sie gefunden haben.

Das Hinzufügen dieser Datei zum globalen Abschnitt Ihrer smb.conf- Datei sollte das Problem beheben:

follow symlinks = yes
wide links = yes
unix extensions = no

Stellen Sie nach dem Speichern von smb.conf sicher, dass Sie Samba neu starten:

sudo /etc/init.d/samba restart

1
Ich denke, die empfohlene Konfiguration ist aus Sicherheitsgründen follow symlinksund wide linksim Abschnitt der Freigabe (anstelle von global) zu setzen. Die unix extensionsDirektive sollte in den globalen Abschnitt aufgenommen werden, auf den user36732 weiter unten hinweist.
Matthew

es hat bei mir nicht funktioniert; Samba-Server auf Raspberrypi Ubuntu: CIFS Mount auf Arch Linux.
Necktwi

2

Das hat mir auch geholfen, obwohl ich es mir nicht vorgestellt habe. Ich habe zwei Samba-Freigaben auf mu Ubuntu. In beiden Shares verwende ich Symlinks, aber in einem (gemeinsam genutzten) Verzeichnis funktionierten die Symlinks, aber in einem anderen (ebenfalls gemeinsam genutzten) Verzeichnis funktionierten sie nicht.

Ich hatte keine Probleme, den Links unter Linux zu folgen, aber unter Win würde es nicht funktionieren.

Ich könnte sogar zwei PuTTy-Fenster nebeneinander verwenden, eines in meinem / data-Verzeichnis und eines in meinem / data2-Verzeichnis, und den gleichen Befehl ausgeben: ln -s / data3 / Mydata.

Das Mydata-Verzeichnis würde auf beiden meinen zugeordneten Laufwerken in der Win-Box angezeigt, aber in einem Fall würde es funktionieren, aber in dem anderen würde der Fehler "Zugriff verweigert" angezeigt.

Die "Unix-Erweiterungen = nein" haben den Trick gemacht, aber ich weiß nicht warum ...


0

Ich hatte das gleiche Problem, aber für mich hat das Einfügen von "unix extensions = no" in den Abschnitt [global] der smb.conf das Problem behoben. Es ist wichtig, dass Sie es in das Unix-Erweiterungs-Flag im globalen Bereich setzen (gültig für alle Freigaben), da dies analysiert wird, bevor Samba weiß, mit welcher Freigabe der Benutzer eine Verbindung herstellt. Die Option Wide Links kann auf die Freigabe angewendet werden, für die gilt.

Nur eine Bemerkung für diejenigen, die von diesem Verhalten gebissen wurden und ähnliche Vorkommnisse in Zukunft vermeiden möchten: Das Samba-Team liest die Bug-Tracker der Distribution nicht, aber sie haben ihre eigene Liste:

samba-technical@lists.samba.org

Das Samba-Team lebt unter dem Eindruck, dass nur eine winzige Minderheit von diesem Fehler betroffen ist, und sie können nur dann davon überzeugt werden, wenn mehr Menschen ihre Stimme Gehör verschaffen. Wenn es Sie interessiert, senden Sie eine Nachricht an samba-technical@lists.samba.org

Vielen Dank,

Alain


0

NB: Ich habe dies bereits gepostet, um eine andere Frage zu beantworten. Wenn ich jedoch nur den Link poste, wurde meine (sehr kurze!) Antwort in einen Kommentar zu dieser ersten Frage umgewandelt (siehe oben) und leicht unsichtbar. Zur besseren Übersicht hier noch einmal die vollständige Antwort:

Damit Samba-Clients Symlinks außerhalb des freigegebenen Pfads folgen können, müssen Sie in der Samba-Konfiguration lediglich Folgendes ausführen:

[global]
allow insecure wide links = yes
unix extensions = no

[myShare]
wide links = yes

(Zusätzlich zu den Samba-Freigaben-Definitionen selbst natürlich). Dies ist theoretisch für * nix-Clients ausreichend.

Hinweis: Die Direktive "follow symlinks" ist nicht erforderlich, da sie standardmäßig "yes" ist.

Bei Windows-Clients fehlt immer noch eine Einstellung, damit sie solchen Links folgen können. Um dies zu tun:

  1. Öffnen Sie eine Windows-Shell mit Administratorrechten
  2. Lauf :

    fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
    
  3. Starten Sie neu, um die Einstellungen neu zu laden

Hinweis: Das gleiche Ergebnis kann durch Bearbeiten der Windows-Registrierung erzielt werden. Siehe unten stehende Links

Quellen:

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.