![使用 ssh 连接到 Windows 机器,我可以创建文件夹或删除文件,但无法创建文件](https://linux22.com/image/1426770/%E4%BD%BF%E7%94%A8%20ssh%20%E8%BF%9E%E6%8E%A5%E5%88%B0%20Windows%20%E6%9C%BA%E5%99%A8%EF%BC%8C%E6%88%91%E5%8F%AF%E4%BB%A5%E5%88%9B%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9%E6%88%96%E5%88%A0%E9%99%A4%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BD%86%E6%97%A0%E6%B3%95%E5%88%9B%E5%BB%BA%E6%96%87%E4%BB%B6.png)
我正在使用 cgywin 的 ssh.exe 从一台 Windows 机器连接到另一台。
我可以运行如下命令:
C:\cygwin64\bin\ssh.exe -o 'StrictHostKeyChecking no' testcomputer -1 username 'cmd /c del C:\text.txt'
或者
C:\cygwin64\bin\ssh.exe -o 'StrictHostKeyChecking no' testcomputer -1 username 'cmd /c mkdir C:\test'
但是,如果我尝试使用类似的东西创建一个文件
echo text > C:\text.txt
然后我收到“系统找不到指定的路径”。为什么会发生这种情况?如果我没有适当的权限,那么我怎么能删除文件呢?
(如果我在 C:\users\username 中创建一个文件,那么它就可以工作)
答案1
这里的问题是,Windows 不允许管理员以外的任何用户直接写入该文件系统的根目录,因此它不允许您通过 ssh 创建文件。
它更多地与文件系统权限有关,为什么它不允许您创建但允许您删除。
Windows 7 此命令将允许您继承权限以普通用户身份执行此操作
icacls C:\ /grant:r "USERNAME":(OI)(CI)M /T /C