专题首页  /  知识库文档列表  /  详情
避免 Windows 以 guest 等计划外账号
访问 ReadyNAS SMB 共享

设想这样一个场景:当通过 SMB 网络协议访问 ReadyNAS 共享区时, Windows 并未提示我输入用户名和密码,而是直接使用了我不希望使用的账号(例如 guest,或者曾经在这台计算机上登陆过的另外一个账号,比如 Alice,而不是我希望的 Jack),从而获取了不恰当的访问权限。

注意:正文使用 加粗 字体表示变量、代码、需要输入的内容或需要引起注意的内容。

为了解决 Windows 使用不恰当的用户自动连接 ReadyNAS SMB 共享区的问题,需要:

一、理解 Windows 为何总是使用历史账号连接 ReadyNAS SMB 共享区

  1. 在某些情况下 Windows 会保存凭据,例如其中的一种情况是曾经以某用户(本文中为 Alice)权限设置了位于网络位置的 Windows 备份和还原功能。
  2. Windows 会优先使用保存的凭据连接同一个网络位置。
  3. 图片 IMG-V1704509-01-01 展示了使用 Windows 资源管理器访问网络位置 \\10.45.1.78\MyFolder 时,资源管理器并未要求输入用户名和密码,并使用了没有写权限的用户 Alice 自动进行了认证。

二、如何获知 Windows 保存了我的网络访问凭据

  1. 在键盘上使用组合键 WinKey+R 打开 运行 程序,并在文本框中输入 CMD 运行命令提示符。
  2. 命令提示符 中使用命令查询。
    >cmdkey /list
  3. 查询结果如图 IMG-V1704509-02-02 所示。
  4. IMG-V1704509-02-02 展示了 Windows 保存了一个以用户 Alice 登录目标 10.45.1.78 的凭据。

三、理解我为什么总是获取 guest 权限[1]

  1. 如果没有匹配的凭据被保存,Windows 会尝试以环境变量中的用户名进行登录。
  2. 如果 ReadyNAS 系统不存在同名用户,则试图以 guest 用户访问。
  3. 如果被访问的共享区允许匿名访问,那么用户就会以 guest 身份登录而不要求进行身份验证并获取 everyone 的权限。
  4. IMG-V1704509-03-01展示了使用 Windows 资源管理器访问网络位置 \\10.45.1.78\MyFolder 时,资源管理器并未要求输入用户名和密码,并尝试以用户 Ntgr 进行登录,由于 ReadyNAS 系统不存在用户 Ntgr,所以使用 guest 用户登录,在本例中 guest 没有写权限。

四、如何在 Windows 中使用我希望的账号访问 ReadyNAS SMB 共享区

  1. 在键盘上使用组合键 WinKey+R 打开 运行 程序,并在文本框中输入 CMD 运行命令提示符。
  2. 命令提示符 中使用命令查询已经建立的连接。
    >net use
  3. IMG-V1704509-04-02 展示了使用 net use 命令查询到的一个连接。
  4. 命令提示符 中使用命令删除已经建立的连接。
    >net use \\ip\folder /delete
  5. IMG-V1704509-04-03 展示了使用 /delete 参数删除了一个连接。
  6. 命令提示符 中使用命令以希望的用户建立新连接。
    net use \\ip\folder /user:username password
  7. IMG-V1704509-04-04 展示了使用 /user 参数以用户 Jack 新建了一个连接。
  8. 验证,用户 Jack 有写入权限。

五、保存我希望的凭据,使 Windows 总是以此用户访问特定的网络路径

  1. 在键盘上使用组合键 WinKey+R 打开 运行 程序,并在文本框中输入 CMD 运行命令提示符。
  2. 命令提示符 中使用命令查询。
    >cmdkey /list
  3. 查询结果如图 IMG-V1704509-05-02 所示。
  4. 命令提示符 中使用命令删除凭证。
    >cmdkey /delete:ip
  5. 如图 IMG-V1704509-05-03 所示,目标 10.45.1.78 的凭证被删除。
  6. 命令提示符 中使用命令保存一个希望的凭证。
    >cmdkey /add:ip /user:username /pass:password
  7. 如图 IMG-V1704509-05-04 所示,以用户 Jack 访问目标 10.45.1.78 的凭证被保存。
  8. 再次访问网络路径\\10.45.1.78\MyFolder ,Windows 资源管理器未要求进行身份验证并使用了希望的用户 Jack 进行登录。

参考文献

  1. CIFS 3.2.4.2.4 User Authentication