我有两台运行 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
我错过了什么?
在“权限读取,写入和修改”不给你权限,重命名,也没有删除。
重命名和删除被认为是对父目录的操作,而不是对文件的操作。所以你需要权限来修改父目录。在 Windows 和 *nix 上都是如此。这不是真正的 SFTP 问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句