Empty Files Created by sftp

Chris Rapier rapier at psc.edu
Wed Jul 1 12:06:43 AEST 2026


I seem to have a found an odd situation. When the sftp-server is 
instantiated with "-P write" and I try putting a file I get the expected 
permission denied error.

sftp> put xxhash.h
Uploading xxhash.h to /tmp/xxhash.h
xxhash.h 
               98%  255KB 238.9MB/s   00:00 ETA
write remote "/tmp/xxhash.h": Permission denied

However, I still get a file created at the destination with a file size 
of 0.

rapier@:/tmp$ ls -l xxhash.h
-rw-rw-r-- 1 rapier rapier 0 Jun 30 21:28 xxhash.h

So it seems the file was opened but the write was disallowed. The main 
issue being that it consumes inodes and just generally clutters things 
up. This can be a real issue on large puts. I haven't tried this against 
10.4 so you might have already resolved this.

I'm pretty sure the issue is that the -P write will prevent the writes 
but it doesn't match on the open. If you do -P write,open then you can't 
actually do any reads. I'm digging into a fix but I don't like what I 
have at the moment. I don't think this would be a common scenario but it 
came up recently and thought I should bring it up.

Chris


More information about the openssh-unix-dev mailing list