共享名后面加个$符号是什么意思能防住别人访问吗

看到公司服务器上有个共享叫 backup$,在"网络"里浏览服务器时看不到它,但直接输 \\服务器\backup$ 又能进。这个美元符号是什么意思?是不是加上 $ 别人就进不来了,可以拿来当安全手段吗?

原因

共享名末尾的 $ 表示"隐藏共享"(administrative share 管理共享也全是这种,如 C$、D$、ADMIN$、IPC$)。它的唯一作用是:不出现在网络浏览列表里——别人枚举 \\服务器 时看不到这个名字。但共享权限、NTFS 权限照常生效:任何知道名字的人输入完整 UNC 路径就能尝试连接,能不能进完全由权限决定。所以"隐藏"只是不可见,不是不可访问,把它当安全防线是误解。

解决办法

  1. 创建隐藏共享:右键文件夹 → 属性 → 共享 → 高级共享,共享名写成 backup$ 即可;命令行:

    net share backup$=D:\backup /grant:Administrators,FULL
    
  2. 正确用途:

    • 管理通道:备份软件、运维脚本走 \\服务器\D$ 这种管理共享取放文件;
    • 减少干扰:把不需要普通员工看到的内部共享从浏览列表里藏起来,降低好奇心点击。
  3. 错误用法(明确说不行):想用 backup$ 藏敏感数据防访问——任何人拿到共享名就能连,权限不设防等于裸奔。

  4. 加固隐藏共享:

    • 权限收紧到特定管理组(Administrators/备份账号),其他人拒绝;
    • 出于合规要求,也可彻底关闭管理共享:注册表 HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters 下设置 AutoShareServer=0(服务器版)/AutoShareWks=0(客户端版)并重启 Server 服务——注意部分备份/监控软件依赖管理共享,关之前先确认。
    • 临时用完即删:net share backup$ /delete
  5. 查看某台服务器上所有共享(含隐藏的):服务器上执行 net share,或从客户端 net view \\服务器 /all 查看包括 $ 结尾的共享。

预防

  • 设计安全的部门共享请走"NTFS 组权限 + ABE"路线,隐藏共享只做锦上添花的整理。
  • 内部巡检时定期 net share 列一遍全部分享,清理来路不明的隐藏共享(员工私自开的、木马开的后门共享都是 $ 形式)。
  • 文档里登记每个 $ 共享的用途与责任人,别让它们变成"没人知道干什么用又不敢删"的暗资产。