Es stellte sich heraus, dass ich einfach an der falschen Stelle gesucht hatte - ich hatte vergessen, dass das Konto auf dem Windows-Host die richtigen Zugriffsberechtigungen für den freigegebenen Ordner haben musste; es hatte nur Read & execute
. Write
und List folder contents
. Doh! Hinzufügen Modify
das Problem behoben Also nichts als ein dummer Fehler - aber ich habe auch etwas mehr über das erfahren cifs-Syntax und fstab
und überlegte, wie man als bescheidene Benutzer mounten kann, wodurch die Mountpunkte in mir sind /home/user
Mappe. Der letzte Mount-String in meinem Fstab sieht folgendermaßen aus (meine Werte werden durch [Token] ersetzt):
//[server]/[share] /home/[user]/[folder] cifs credentials=/home/[user]/.config/samba/.[server],uid=[user],gid=[group] 0 0
Sie müssen also nur noch einstellen uid
und gid
für den Benutzer und die Gruppe, für die Sie die Dateien nach dem Mounten in der Freigabe besitzen möchten - keine weiteren Schritte erforderlich. Ich habe auch die erforderlichen Windows-Benutzeranmeldeinformationen in einer separaten Datei unter meinem .config-Verzeichnis abgelegt und getan chmod 400
um andere davon abzuhalten, es zu lesen.
Es hat erstaunlich lange gedauert, bis all dies herausgefunden wurde, da es eine Million Argumente für die Verwendung von CIFs gibt, und viele scheinen sie missverstanden zu haben - daher empfehlen viele die Verwendung file_mode
/ dir_mode
777 (das klingt nach einer wirklich schlechten Idee für mich) und Pfeffer mit unnötigen Argumenten wie nounix
. noperm
. rw
. iocharset
und noacl
- Keine davon wird benötigt, um diese Arbeit zu ermöglichen. Während mein Problem durch einen einfachen Fehler verursacht wurde, lasse ich die Frage (und diese Antwort) hier. hoffentlich findet es jemand hilfreich!
Bearbeiten: Durch ein Fehler in Samba Cifs-Implementierung es ist notwendig, das nobrl
Option auch, wenn Sie SQLite-Datenbanken auf der Freigabe ausführen möchten. Grundsätzlich kann der aktuelle Samba cifs Linux-Client nicht mit der Art und Weise umgehen, wie SQLite die Datenbankdatei sperrt. Keine großartige Lösung und fast sicher eine schlechte Idee in einer Umgebung mit mehreren Benutzern, aber da es sich in meinem Fall um eine Einzelbenutzerfreigabe handelt, die auf demselben Computer wie der Client gehostet wird (was die Netzwerklatenz fast vollständig beseitigen sollte), werde ich das tun dran bleiben.
nobrl
Senden Sie keine Bytebereichssperrenanforderungen an den Server. Das ist notwendig
für bestimmte Anwendungen, die mit dem obligatorischen Byte im cifs-Stil brechen
Bereichssperren (und die meisten cifs-Server unterstützen das Anfordern noch nicht
empfohlene Bytebereichssperren).
Der Eintrag fstab sieht jetzt so aus:
//[server]/[share] /home/[user]/[folder] cifs nobrl,credentials=/home/[user]/.config/samba/.[server],uid=[user],gid=[group] 0 0