Luc*_*Luc 3 linux windows network-share server-message-block
有人告诉我,通过在共享名称后附加一个美元符号,Windows 会使其对客户不可见。事实上,在 Windows 上你看不到以美元符号结尾的股票;您必须手动键入名称。
但是,在我的 Linux 桌面上浏览共享文件夹列表时,我可以很好地看到所有共享 - 隐藏或未隐藏。像 C$ 和 ADMIN$ 这样的所有共享都与可见共享一起存在。
我认为 Windows 的 SMB 服务器根本没有故意将这些名称提供给任何人,Linux 怎么可以查看它们?
查看我登录的共享列表,可能与此有关吗?某些特殊的用户组可以让您查看所有共享?
正如评论中已经指出的那样,共享名称后面的美元符号只是由客户端解释,因此共享将从视图中删除。最终,共享将成为NetShareEnum
API 调用结果集的一部分。您还可以使用该net view \\computername /all
命令列出Windows Vista / Server 2008 上的所有共享(包括隐藏的共享)。
所需的权限类型可能取决于服务器的版本和配置。默认情况下,Windows Server 2003 和更早版本允许使用 NULL 会话进行共享枚举(因此根本不需要提供身份验证)。Windows Server 2008 改变了这一点,“每个人”都可以枚举所有共享——这需要使用任何有效用户(包括访客用户,如果启用)进行身份验证。