Problem reading rclone mount over smb

What is the problem you are having with rclone?

Over samba I cannot write to an rclone mount over samba (Mac or Windows). This includes copy/pasting files, creating empty text documents etc. However I can via ssh.

Folder shared in samba:
/home/machine

Rclone mounted to folder:
/home/machine/mounts/local-decrypted

remote is local folder:
/home/machine/mounts/local-encrypted

which is a symlink to
/mnt/wd1/sync/home/machine/encrypted

Windows

Mac

If I replace the rclone mount with encfs or something else, it works so I'm not sure what I can do. Please advise?

Run the command 'rclone version' and share the full output of the command.

$ rclone version
rclone v1.65.2
- os/version: debian 10.13 (64 bit)
- os/kernel: 6.2.16-3-pve (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.21.6
- go/linking: static
- go/tags: none

Which cloud storage system are you using? (eg Google Drive)

None - local

The command you were trying to run (eg rclone copy /tmp remote:tmp)

/usr/bin/rclone mount crypt-local: /home/machine/mounts/local-decrypted --progress --no-check-dest --no-traverse --no-check-certificate --fs-cache-expire-duration 9999h --fs-cache-expire-interval 9999h --no-checksum --allow-other --umask 000 --use-mmap --attr-timeout 9999h --dir-cache-time 9999h --poll-interval 12h --vfs-cache-max-age 9999h --vfs-cache-mode full --vfs-cache-max-size 1G --daemon --log-level DEBUG --log-file=/home/machine/mounts/local-decrypted.log

Please run 'rclone config redacted' and share the full output. If you get command not found, please make sure to update rclone.

[crypt-local]
type = crypt
remote = local:/home/machine/mounts/local-encrypted
password = XXX
password2 = XXX
filename_encoding = base64

A log from the command that you were trying to run with the -vv flag


2024/08/20 15:56:43 DEBUG : rclone: Version "v1.65.2" starting with parameters ["/usr/bin/rclone" "mount" "crypt-local:" "/home/machine/mounts/local-decrypted" "--progress" "--no-check-dest" "--no-traverse" "--no-check-certificate" "--fs-cache-expire-duration" "9999h" "--fs-cache-expire-interval" "9999h" "--no-checksum" "--allow-other" "--umask" "000" "--use-mmap" "--attr-timeout" "9999h" "--dir-cache-time" "9999h" "--poll-interval" "12h" "--vfs-cache-max-age" "9999h" "--vfs-cache-mode" "full" "--vfs-cache-max-size" "1G" "--daemon" "--log-level" "DEBUG" "--log-file=/home/machine/mounts/local-decrypted.log"]
2024/08/20 15:56:43 DEBUG : Creating backend with remote "crypt-local:"
2024/08/20 15:56:43 DEBUG : Using config file from "/home/machine/.config/rclone/rclone.conf"
2024/08/20 15:56:43 DEBUG : Creating backend with remote "local:/home/machine/mounts/local-encrypted"
2024/08/20 15:56:43 DEBUG : fs cache: renaming cache item "local:/home/machine/mounts/local-encrypted" to be canonical "/home/machine/mounts/local-encrypted"
2024/08/20 15:56:43 DEBUG : rclone: Version "v1.65.2" starting with parameters ["/usr/bin/rclone" "mount" "crypt-local:" "/home/machine/mounts/local-decrypted" "--progress" "--no-check-dest" "--no-traverse" "--no-check-certificate" "--fs-cache-expire-duration" "9999h" "--fs-cache-expire-interval" "9999h" "--no-checksum" "--allow-other" "--umask" "000" "--use-mmap" "--attr-timeout" "9999h" "--dir-cache-time" "9999h" "--poll-interval" "12h" "--vfs-cache-max-age" "9999h" "--vfs-cache-mode" "full" "--vfs-cache-max-size" "1G" "--daemon" "--log-level" "DEBUG" "--log-file=/home/machine/mounts/local-decrypted.log"]
2024/08/20 15:56:43 DEBUG : Creating backend with remote "crypt-local:"
2024/08/20 15:56:43 DEBUG : Using config file from "/home/machine/.config/rclone/rclone.conf"
2024/08/20 15:56:43 DEBUG : Creating backend with remote "local:/home/machine/mounts/local-encrypted"
2024/08/20 15:56:43 DEBUG : fs cache: renaming cache item "local:/home/machine/mounts/local-encrypted" to be canonical "/home/machine/mounts/local-encrypted"
2024/08/20 15:56:43 INFO  : Encrypted drive 'crypt-local:': poll-interval is not supported by this remote
2024/08/20 15:56:43 DEBUG : vfs cache: root is "/home/machine/.cache/rclone"
2024/08/20 15:56:43 DEBUG : vfs cache: data root is "/home/machine/.cache/rclone/vfs/crypt-local"
2024/08/20 15:56:43 DEBUG : vfs cache: metadata root is "/home/machine/.cache/rclone/vfsMeta/crypt-local"
2024/08/20 15:56:43 DEBUG : Creating backend with remote "/home/machine/.cache/rclone/vfs/crypt-local/"
2024/08/20 15:56:43 DEBUG : fs cache: renaming cache item "/home/machine/.cache/rclone/vfs/crypt-local/" to be canonical "/home/machine/.cache/rclone/vfs/crypt-local"
2024/08/20 15:56:43 DEBUG : Creating backend with remote "/home/machine/.cache/rclone/vfsMeta/crypt-local/"
2024/08/20 15:56:43 DEBUG : fs cache: renaming cache item "/home/machine/.cache/rclone/vfsMeta/crypt-local/" to be canonical "/home/machine/.cache/rclone/vfsMeta/crypt-local"
2024/08/20 15:56:43 DEBUG : Encrypted drive 'crypt-local:': Mounting on "/home/machine/mounts/local-decrypted"
2024/08/20 15:56:43 DEBUG : : Root: 
2024/08/20 15:56:43 DEBUG : : >Root: node=/, err=<nil>
2024/08/20 15:56:43 DEBUG : rclone: Version "v1.65.2" finishing with parameters ["/usr/bin/rclone" "mount" "crypt-local:" "/home/machine/mounts/local-decrypted" "--progress" "--no-check-dest" "--no-traverse" "--no-check-certificate" "--fs-cache-expire-duration" "9999h" "--fs-cache-expire-interval" "9999h" "--no-checksum" "--allow-other" "--umask" "000" "--use-mmap" "--attr-timeout" "9999h" "--dir-cache-time" "9999h" "--poll-interval" "12h" "--vfs-cache-max-age" "9999h" "--vfs-cache-mode" "full" "--vfs-cache-max-size" "1G" "--daemon" "--log-level" "DEBUG" "--log-file=/home/machine/mounts/local-decrypted.log"]
2024/08/20 15:57:40 DEBUG : /: Attr: 
2024/08/20 15:57:40 DEBUG : /: >Attr: attr=valid=9999h0m0s ino=0 size=0 mode=drwxrwxrwx, err=<nil>
2024/08/20 15:57:46 DEBUG : /: Lookup: name="New Text Document (2).txt"
2024/08/20 15:57:46 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2024/08/20 15:57:46 DEBUG : /: Lookup: name="New Text Document (2).txt"
2024/08/20 15:57:46 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2024/08/20 15:57:46 DEBUG : /: ReadDirAll: 
2024/08/20 15:57:46 DEBUG : /: >ReadDirAll: item=8, err=<nil>
2024/08/20 15:57:46 DEBUG : /: Attr: 
2024/08/20 15:57:46 DEBUG : /: >Attr: attr=valid=9999h0m0s ino=0 size=0 mode=drwxrwxrwx, err=<nil>
2024/08/20 15:57:46 DEBUG : /: Lookup: name="New Text Document (2).txt"
2024/08/20 15:57:46 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2024/08/20 15:57:46 DEBUG : /: Create: name="New Text Document (2).txt"
2024/08/20 15:57:46 DEBUG : New Text Document (2).txt: Open: flags=O_RDWR|O_CREATE|O_EXCL
2024/08/20 15:57:46 DEBUG : New Text Document (2).txt: newRWFileHandle: 
2024/08/20 15:57:46 DEBUG : New Text Document (2).txt(0xc001456c00): openPending: 
2024/08/20 15:57:46 DEBUG : New Text Document (2).txt: vfs cache: truncate to size=0 (not needed as size correct)
2024/08/20 15:57:46 DEBUG : : Added virtual directory entry vAddFile: "New Text Document (2).txt"
2024/08/20 15:57:46 DEBUG : New Text Document (2).txt(0xc001456c00): >openPending: err=<nil>
2024/08/20 15:57:46 DEBUG : New Text Document (2).txt: >newRWFileHandle: err=<nil>
2024/08/20 15:57:46 DEBUG : : Added virtual directory entry vAddFile: "New Text Document (2).txt"
2024/08/20 15:57:46 DEBUG : New Text Document (2).txt: >Open: fd=New Text Document (2).txt (rw), err=<nil>
2024/08/20 15:57:46 DEBUG : /: >Create: node=New Text Document (2).txt, handle=&{New Text Document (2).txt (rw)}, err=<nil>
2024/08/20 15:57:46 DEBUG : New Text Document (2).txt: Attr: 
2024/08/20 15:57:46 DEBUG : New Text Document (2).txt: >Attr: a=valid=9999h0m0s ino=0 size=0 mode=-rw-rw-rw-, err=<nil>
2024/08/20 15:57:46 DEBUG : /: Attr: 
2024/08/20 15:57:46 DEBUG : /: >Attr: attr=valid=9999h0m0s ino=0 size=0 mode=drwxrwxrwx, err=<nil>
2024/08/20 15:57:46 DEBUG : New Text Document (2).txt: Setattr: a=Setattr [ID=0x2d52 Node=0x12ae Uid=1001 Gid=1001 Pid=790624] mode=-rwxrw-rw- handle=INVALID-0x0
2024/08/20 15:57:46 DEBUG : New Text Document (2).txt: >Setattr: err=<nil>
2024/08/20 15:57:46 DEBUG : New Text Document (2).txt: Attr: 
2024/08/20 15:57:46 DEBUG : New Text Document (2).txt: >Attr: a=valid=9999h0m0s ino=0 size=0 mode=-rw-rw-rw-, err=<nil>
2024/08/20 15:57:46 DEBUG : New Text Document (2).txt: Setattr: a=Setattr [ID=0x2d54 Node=0x12ae Uid=1001 Gid=1001 Pid=790624] atime=2024-08-20 15:57:46.320862137 +0000 UTC mtime=2024-08-20 15:57:46.333912361 +0000 UTC handle=INVALID-0x0
2024/08/20 15:57:46 DEBUG : New Text Document (2).txt: vfs cache: setting modification time to 2024-08-20 15:57:46.333912361 +0000 UTC
2024/08/20 15:57:46 DEBUG : New Text Document (2).txt: >Setattr: err=<nil>
2024/08/20 15:57:46 DEBUG : New Text Document (2).txt: Attr: 
2024/08/20 15:57:46 DEBUG : New Text Document (2).txt: >Attr: a=valid=9999h0m0s ino=0 size=0 mode=-rw-rw-rw-, err=<nil>
2024/08/20 15:57:46 DEBUG : /: ReadDirAll: 
2024/08/20 15:57:46 DEBUG : /: >ReadDirAll: item=9, err=<nil>
2024/08/20 15:57:46 DEBUG : /: Attr: 
2024/08/20 15:57:46 DEBUG : /: >Attr: attr=valid=9999h0m0s ino=0 size=0 mode=drwxrwxrwx, err=<nil>
2024/08/20 15:57:46 DEBUG : /: Attr: 
2024/08/20 15:57:46 DEBUG : /: >Attr: attr=valid=9999h0m0s ino=0 size=0 mode=drwxrwxrwx, err=<nil>
2024/08/20 15:57:47 DEBUG : &{New Text Document (2).txt (rw)}: Flush: 
2024/08/20 15:57:47 DEBUG : New Text Document (2).txt(0xc001456c00): RWFileHandle.Flush
2024/08/20 15:57:47 DEBUG : &{New Text Document (2).txt (rw)}: >Flush: err=<nil>
2024/08/20 15:57:47 DEBUG : &{New Text Document (2).txt (rw)}: Release: 
2024/08/20 15:57:47 DEBUG : New Text Document (2).txt(0xc001456c00): RWFileHandle.Release
2024/08/20 15:57:47 DEBUG : New Text Document (2).txt(0xc001456c00): close: 
2024/08/20 15:57:47 DEBUG : New Text Document (2).txt: vfs cache: setting modification time to 2024-08-20 15:57:46.333912361 +0000 UTC
2024/08/20 15:57:47 INFO  : New Text Document (2).txt: vfs cache: queuing for upload in 5s
2024/08/20 15:57:47 DEBUG : New Text Document (2).txt(0xc001456c00): >close: err=<nil>
2024/08/20 15:57:47 DEBUG : &{New Text Document (2).txt (rw)}: >Release: err=<nil>
2024/08/20 15:57:52 DEBUG : New Text Document (2).txt: vfs cache: starting upload
2024/08/20 15:57:52 DEBUG : New Text Document (2).txt.ruxuvin2.partial: md5 = b3f1231615be4d8b9c3a72dd0d38d73d OK
2024/08/20 15:57:52 DEBUG : New Text Document (2).txt.ruxuvin2.partial: renamed to: New Text Document (2).txt
2024/08/20 15:57:52 INFO  : New Text Document (2).txt: Copied (new)
2024/08/20 15:57:52 DEBUG : New Text Document (2).txt: vfs cache: fingerprint now "0,2024-08-20 15:57:46.333912361 +0000 UTC"
2024/08/20 15:57:52 DEBUG : New Text Document (2).txt: vfs cache: writeback object to VFS layer
2024/08/20 15:57:52 DEBUG : New Text Document (2).txt: Not setting pending mod time 2024-08-20 15:57:46.333912361 +0000 UTC as it is already set
2024/08/20 15:57:52 DEBUG : : Added virtual directory entry vAddFile: "New Text Document (2).txt"
2024/08/20 15:57:52 INFO  : New Text Document (2).txt: vfs cache: upload succeeded try #1
2024/08/20 15:58:11 DEBUG : : Statfs: 
2024/08/20 15:58:11 DEBUG : : >Statfs: stat={Blocks:3875386503 Bfree:2991054832 Bavail:2991054832 Files:1000000000 Ffree:1000000000 Bsize:4096 Namelen:255 Frsize:4096}, err=<nil>
2024/08/20 15:58:11 DEBUG : /home/machine/mounts/local-decrypted: Unmounted externally. Just exit now.
2024/08/20 15:58:11 DEBUG : rclone: Version "v1.65.2" finishing with parameters ["/usr/bin/rclone" "mount" "crypt-local:" "/home/machine/mounts/local-decrypted" "--progress" "--no-check-dest" "--no-traverse" "--no-check-certificate" "--fs-cache-expire-duration" "9999h" "--fs-cache-expire-interval" "9999h" "--no-checksum" "--allow-other" "--umask" "000" "--use-mmap" "--attr-timeout" "9999h" "--dir-cache-time" "9999h" "--poll-interval" "12h" "--vfs-cache-max-age" "9999h" "--vfs-cache-mode" "full" "--vfs-cache-max-size" "1G" "--daemon" "--log-level" "DEBUG" "--log-file=/home/machine/mounts/local-decrypted.log"]

Samba config

[global]
server signing = disabled
#bind interfaces only = yes
blocking locks = no
deadtime = 15
disable spoolss = yes
domain master = yes
dns proxy = yes
getwd cache = yes
#interfaces = lo eth0 ::1
keep alive = 10
load printers = no
lm announce = yes
lm interval = 60
local master = yes
log level = 1
log file = /var/log/samba/log.%m
guest account = nobody
map to guest = bad user
max log size = 1000
#mdns name = home
netbios name = home
ntlm auth = yes
os level = 255
obey pam restrictions = yes
pam password change = yes
panic action = /usr/share/samba/panic-action %d
passdb backend = tdbsam 
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
preferred master = yes
printcap name = /dev/null
printing = bsd
server role = standalone server
server string = %h server (Samba, Ubuntu)
#smb encrypt = default
smb encrypt = off
socket options = TCP_NODELAY SO_REUSEADDR TCP_QUICKACK IPTOS_LOWDELAY IPTOS_THROUGHPUT
;socket options = TCP_NODELAY SO_REUSEADDR TCP_FASTACK TCP_QUICKACK TCP_NODELAYACK IPTOS_LOWDELAY IPTOS_THROUGHPUT
use sendfile = yes
usershare allow guests = yes
unix extensions = no
unix password sync = yes
wins support = yes
workgroup = WORKGROUP
veto files = /.DS_Store/._*/
delete veto files = yes
#read raw = yes
#write raw = yes
#max xmit = 65535
large readwrite = yes
server multi channel support = yes
aio read size = 1
aio write size = 1
min protocol = SMB2
vfs objects = catia fruit streams_xattr
fruit:nfs_aces = no
fruit:metadata = stream
fruit:model = MacSamba
fruit:posix_rename = yes
fruit:veto_appledouble = no
fruit:wipe_intentionally_left_blank_rfork = yes
fruit:delete_empty_adfiles = yes
server min protocol = SMB2


[shared]
path = /mnt/smb/shared
browseable = yes
read only = no
writeable = yes
public = yes
guest ok = yes
create mask = 0644
force create mode = 664
#security mask = 664
#force security mode = 664
directory mask = 2775
force directory mode = 2775
#directory security mask = 2775
#force directory security mode = 2775
vfs objects = catia fruit streams_xattr

[machine]
path = /home/machine/mounts
valid users = machine
read only = no
write list = machine
writeable = yes
browseable = yes
follow symlinks = yes
wide links = yes
create mask = 0644
directory mask = 0777
#admin users = machine
#force user = machine
#force group = machine
inherit permissions = yes
inherit acls = yes
inherit owner = yes
vfs objects = catia fruit streams_xattr

welcome to the forum,

should update rclone, rclone selfupdate and test again.

and can check out my howto guide
How to access SMB/SAMBA with rclone

My penny worth observation...

IMO it is messy without reason - you mount crypt-local then to share it over SMB.

What about to forget SMB and instead share crypt-local directly?:

rclone serve webdav --addr :8080 crypt-local: --user user --pass 12345

Both macOS and Windows can mount WebDAV out of the box.

In macOS in Finder:

Go -> Connect to server 

and enter http://Server_IP:8080/

PS. I replied to @asdffdsa when it should be reply to @machineworker. @asdffdsa suggestions and guides are not messy at all:)

fwiw, i do not use rclone smb remote for samba/smb, as it lacks checksum verification for file transfers.
i always use native mounts, as per my howto guide.

but just now, as a test, for a samba share that i use with native mounts,
i created a rclone smb remote; works just fine for editing files, copying/pasting, deleting, etc...

rclone mount smb_ts-ubuntu01: b:\rclone\mount\smb_ts-ubuntu01 --config=C:\data\rclone\rclone.conf --log-level=DEBUG --log-file=.\log.mount.smb_ts-ubuntu01.txt --vfs-cache-mode=full --dir-cache-time=1s --cache-dir=d:\rclone\cache\smb_ts-ubuntu01
[agent_en10_rw]
    path = /data/falconer_agents/en10/rw
    valid users = @agent_en10
    writable = yes
    guest ok = no

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.