You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows OpenSSH访问UNC路径仅获只读权限问题求助

Windows SSH会话无法写入已挂载的Samba/Linux共享驱动器

问题描述

我有一台Windows AWS实例,可访问并挂载Samba/Linux共享网络驱动器。RDP登录时,不管是资源管理器还是PowerShell,都能正常访问路径、挂载驱动器、创建文件夹和文件;但通过SSH远程登录后,只能访问路径、挂载驱动器、枚举文件夹及读取文件,执行mkdir/Set-Content/New-Item等创建操作时会提示访问路径被拒绝。就连通过SSH运行的第三方应用(比如Perforce同步)调用C++ Windows API做同类操作,也会出现mkdir错误。

已尝试的排查步骤

  • 排查过映射驱动器会话特定的问题,搜索结果大多指向这个方向,但没解决
  • 在RDP的PowerShell里完全复现不了这个问题
  • 验证过挂载驱动器的账号确实有读写权限
  • 已经在Windows凭据管理器里存储了驱动器的凭据
  • 尝试把UNC路径挂载到盘符后,操作还是只读
  • 设置过EnableLinkedConnections注册表项

解决方案尝试

  1. 修改SSH服务的登录身份
    默认Windows的OpenSSH Server服务是以Local System账户运行的,这个账户没法访问用户级别的网络凭据和映射驱动器。可以把服务的登录身份改成你用来RDP的用户账户:
  • 打开服务管理器,找到「OpenSSH SSH Server」
  • 右键→属性→登录选项卡,选择「此账户」,输入你的RDP用户名和密码,重启服务
  • 重新通过SSH登录,再尝试挂载共享并执行写入操作
  1. 在SSH会话里显式用带凭据的命令挂载
    哪怕凭据已经存在于凭据管理器,SSH会话可能读不到,你可以在SSH的PowerShell里重新挂载并指定凭据:
$cred = Get-Credential
New-PSDrive -Name Z -PSProvider FileSystem -Root "\\server\share" -Credential $cred -Persist

注意:-Persist参数只在PowerShell 5.1及以上版本有效,而且需要以管理员身份执行

  1. 检查SMB共享的权限配置
    要确保Samba/Linux共享的权限不仅包含用户的读写权限,还要检查:
  • 如果是Windows共享:确认NTFS权限里用户账户对共享根目录及子目录有写入权限,没有继承限制
  • 如果是Samba共享:检查Linux文件系统的权限(比如chmod/chown设置),确保对应的用户或组有写入权限
  1. 禁用UAC远程限制
    如果你的用户账户是管理员,UAC的远程限制可能导致权限不足,可以修改注册表:
  • 打开regedit,导航到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
  • 创建或修改DWORD值LocalAccountTokenFilterPolicy,设置为1
  • 重启机器后再测试

内容的提问来源于stack exchange,提问作者David Clyde

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 20:25:08