我被告知,通过在共享名称上附加美元符号,Windows会使客户看不到它.事实上,在Windows上,您无法看到以美元符号结尾的股票;你必须手动输入名称.
浏览我的Linux桌面上的共享文件夹列表,我可以看到所有共享很好 – 隐藏或不隐藏.像C $和ADMIN $这样的所有股票都与可见股票一起出现.
我认为Windows的SMB服务器根本没有通过设计向任何人提供这些名称,Linux如何查看它们?
解决方法
正如评论中所述,跟踪共享名称的美元符号仅由客户端解释,因此共享将从视图中删除.最终,共享将成为
NetShareEnum
API call结果集的一部分.您还可以使用Windows Vista / Server 2008上的
net view \\computername /all
command to list all shares (including hidden ones).
所需的权限类型可能取决于服务器的版本和配置. Windows Server 2003及更早版本默认允许使用NULL会话进行共享枚举(因此根本不需要提供身份验证). Windows Server 2008对此进行了更改,“所有人”都可以枚举所有共享 – 这需要使用任何有效用户(包括Guest用户,如果已启用)进行身份验证.