Ich habe einen alternativen Vorschlag, wenn Sie interessiert sind. Anstatt darüber nachzudenken, wie der Samba-Client auf den NAS zugreift - was, wie gesagt, unnötig sein sollte, da SMB2 / 3 bei Bedarf selbst verwendet wird -, warum nicht einfach CIFS automatisch verwenden?
Fügen Sie am Ende von / etc / fstab die folgende Zeile hinzu:
//nas/video /media/lukas/nas cifs vers=2.0,username=Lukas,password=xxxx,uid=1000,gid=1000,noauto,user 0 0
Hinweis: Der Server kann auch als mDNS-qualifizierter Hostname ausgedrückt werden, wenn der Server dies unterstützt: //nas.local/video
oder als IP-Adresse: //192.168.0.100/video
Wie das funktionieren wird:
noauto = macht es so, dass es beim Booten nicht gemountet wird. Wir werden dies so einrichten, dass CIFS bei Bedarf verwendet wird - nützlich, wenn Sie einen Laptop haben.
user = macht es so, dass ein gewöhnlicher Benutzer (nicht sudo) die Freigabe bereitstellen kann.
mount point = Da es sich unter / media befindet, wird eine udisks-Antwort ausgelöst:
(1) Auf der Seite von Nautilus wird ein Symbol angezeigt.
(2) Es ist "umsetzbar" - klicken Sie darauf und das System wechselt zu fstab, um herauszufinden, wie es bereitgestellt und dann bereitgestellt wird. Klicken Sie erneut darauf, um die Freigabe der Freigabe aufzuheben.
Dieser Ansatz hat einen Nebeneffekt . Das Symbol, das Nautilus hinzugefügt wird, wird auch in den meisten Ihrer Anwendungen angezeigt - wie z. B. gedit> Öffnen. Anschließend können Sie die Freigabe direkt aus Ihrer Anwendung bereitstellen.
Hinweis für alle, die dies lesen : Der Einhängepunkt ist hier wichtig. Damit die udisks magic funktioniert, muss sich der Mount-Punkt unter / media oder Ihrem Home-Verzeichnis befinden.
fstab
. Ich werde es später versuchen!//nas/video
lässt es so aussehen, als würde es mit Hostnamen funktionieren, was es nicht tut! Wenn Sie dies mit Hostnamen versuchen, wird ein dummer Fehler ausgegeben und nicht gemountet. Hier scheinen nur IP-Adressen unterstützt zu werden. Siehe unix.stackexchange.com/a/152153/12737 Ich habe gerade die DHCP-Lease für den NAS in meinem Router behoben.Die kurze Antwort lautet: Nautilus macht das bereits. Was Sie möglicherweise feststellen, ist der Unterschied zwischen CIFS (vom Linux-Kernel gesteuert) und einem gvfs / smbclient-Mount (den Nautilus verwendet) der Freigabe. Die CIFS-Methode scheint möglicherweise aufgrund des Overheads von gvfs schneller zu sein.
Der von Nautilus verwendete Samba-Client verhandelt mit dem Server, um den besten SMB-Dialekt zu finden, der zwischen einem "min" vor SMB1 bis zu einem "max" von SMB3_11 verwendet werden kann.
Der Linux-Kernel, der mit 4.13.5 beginnt, verhandelt auch mit dem Server über CIFS zwischen SMB2.1 und SMB3.
Ich nehme an, Sie könnten überschreiben, was der Samba-Client in Nautilus auf natürliche Weise tut, indem Sie den min-Wert zu /etc/samba/smb.conf hinzufügen, aber es sollte keinen Unterschied machen: Platzieren Sie diese Zeile im Abschnitt [global] wie direkt unter Arbeitsgruppe = WORKGROUP- Zeile:
Es gibt verschiedene Varianten von SMB2: SMB2_02, SMB2_10, SMB2_22, SMB2_24. Standardmäßig wählt "SMB2" "SMB2_10" aus. Stellen Sie nur sicher, dass Sie nichts für den Maximalwert hinzufügen.
BEARBEITEN: Es scheint einige Verwirrung darüber zu geben, wo Sie die Zeile "Client-Min-Protokoll" platzieren - auf dem Server oder im Client. Es wurde vorgeschlagen, dass es sich auf dem Server befindet.
Wenn ich einen 18.04-Server eingerichtet und "client min protocol = SMB2" auf dem Server angegeben habe, habe ich mit einem Ubuntu 16.04-Client darauf zugegriffen, der standardmäßig (ohne Änderung) nur mit SMB1 (auch bekannt als NT1) auf den Server zugreifen kann Ergebnis dieses Zugriffs auf den Server:
Es gibt keine Änderung, da der Client weiterhin über SMB1 (NT1) auf den Server zugreift.
Wenn ich jedoch die Client-Min / Man-Einstellung auf dem Client auf "Client-Min-Protokoll = SMB2" und "Client-Max-Protokoll = SMB3" ändere und das "Client-Min-Protokoll" vom Server entferne, lande ich dort, wo ich es erwartet habe:
Ich denke, die Verwirrung rührt von einem anderen Parameter namens "min protocol" (auch bekannt als "server min protocol") her, der tatsächlich vorschreibt, welcher minimale Dialekt von jdm für den Zugriff zulässig ist. Das wird auf dem Server gemacht. "Client Min / Max-Protokoll" wird auf dem Client ausgeführt.
Wenn Sie eine smb.conf auf dem Client haben, ist das großartig. Wenn nicht, können Sie es folgendermaßen installieren:
quelle
min protocol = SMB2
dies tatsächlich andere Systeme betrifft, insbesondere die Art und Weise, wie Windows das Netzwerk durchsucht. Wenn Sie dies jedochclient min protocol = SMB2
festlegen, durchsucht Windows das Netzwerk einwandfrei, und Windows 10 stellt unter 3.1.1 eine Verbindung her. Dies stellte das auf meinem Ubuntu 18.04 Samba ein. =) +1client min protocol = SMB2
über SMB2 verhandelt.