我有两台计算机都运行 Windows 10。
计算机 A 正在运行 ssh 服务器,而计算机 B 尝试通过 sftp 连接。
我已将 sshd_config 设置如下:
Subsystem sftp sftp-server.exe
AllowUsers test
ForceCommand internal-sftp
ChrootDirectory "E:\MyData"
用户test
不属于任何组。
里面E:\MyData
有一个名为的文件test.txt
,并且用户test
在计算机A上有读取,写入和修改它的权限。
通过 sftp 连接工作正常,我可以正确读取文件。但是当我尝试重命名或删除它时,我收到一条错误消息,提示我没有足够的权限:
> sftp test@myip
> rename test.txt new.txt
Couldn't rename file "/test.txt" to "/new.txt": Permission denied
我错过了什么?
答案1
这“读取、写入和修改的权限”不授予您重命名或删除的权限。
重命名和删除被视为对父目录的操作,而不是对文件的操作。因此,您需要修改父目录的权限。在 Windows 和 *nix 上都是如此。这实际上不是 SFTP 问题。