菜鸟科技网

如何用cmd命令共享目录?

核心命令:net share

net share 是用于管理网络共享资源的主要命令。

如何用cmd命令共享目录?-图1
(图片来源网络,侵删)

查看当前所有共享

在开始之前,你可以先查看一下系统中已有的共享目录。

net share

输出示例:

共享名       资源                        注释
-------------------------------------------------------------------------------
C$          C:\                         默认共享
ADMIN$      C:\Windows                  远程管理
IPC$                                       远程过程调用 (RPC)
Users       D:\Data\Users               用于存放用户文件
  • C$ADMIN$ 是 Windows 系统自动创建的隐藏管理共享,普通用户通常无法访问。
  • Users 是我们手动创建的共享。

创建共享目录

假设你想将 D:\Projects 这个文件夹共享给局域网内的其他用户。

基本语法

net share <共享名>=<要共享的完整路径> /remark:"<共享描述>"
  • <共享名>:网络上其他用户访问时使用的名称,不能包含空格和一些特殊字符。
  • <要共享的完整路径>:必须是你要共享的文件夹的完整路径。
  • /remark:"<共享描述>":可选,用于描述这个共享是做什么的,方便其他用户识别。

操作示例

示例 1:共享 D:\Projects 文件夹

如何用cmd命令共享目录?-图2
(图片来源网络,侵删)
net share MyProjects=D:\Projects /remark:"公司项目共享文件夹"

执行成功后,会返回一条确认信息: MyProjects 共享成功。

你再次运行 net share,就会看到 MyProjects 出在了列表里。


设置共享权限(重要!)

仅仅使用 net share 创建的共享,其权限是开放的,可能存在安全风险,为了更精细地控制谁能访问、有什么权限,你需要结合 icacls 命令来设置文件夹本身的 NTFS 权限。

最佳实践流程:

如何用cmd命令共享目录?-图3
(图片来源网络,侵删)
  1. 创建共享 (使用 net share)。
  2. 设置 NTFS 权限 (使用 icacls)。

icacls 命令简介

icacls 用于显示或修改文件和目录的访问控制列表。

操作示例:

假设我们要为 D:\Projects 文件夹设置权限,允许 Everyone (所有人) 读取,但只有 DOMAIN\Alice 这个用户可以修改。

步骤 1:授予 Everyone 读取权限

icacls "D:\Projects" /grant Everyone:(R)
  • grant:表示授予权限。
  • Everyone:一个内置的用户组,代表所有经过身份验证的用户。
  • (R):Read 的缩写,表示读取权限。

步骤 2:授予特定用户修改权限

假设你的电脑在名为 WORKGROUP 的工作组中,用户名是 Alice

icacls "D:\Projects" /grant "WORKGROUP\Alice":(M)
  • (M):Modify 的缩写,表示修改权限(包含读取、写入、删除等)。

步骤 3:移除继承权限(可选,更安全)

如果你想防止该文件夹从父目录继承权限,可以这样操作:

icacls "D:\Projects" /inheritance:r

/inheritance:r 中的 r 代表 remove(移除),移除后,你刚才授予的 EveryoneAlice 的权限会保留,但其他继承来的权限将被清除。


管理共享(删除、停止共享)

当你不再需要某个共享时,可以将其删除。

删除共享

net share <共享名> /delete

示例:删除我们之前创建的 MyProjects 共享

net share MyProjects /delete

成功后会提示:MyProjects 已删除。


从另一台电脑访问共享目录

共享设置好后,你可以在局域网内的另一台电脑上通过以下方式访问:

使用 UNC 路径

在“运行”对话框(Win + R)或文件资源管理器的地址栏中输入:

\\<共享计算机的IP地址或计算机名>\<共享名>

示例:

  • 如果共享电脑的 IP 是 168.1.100
    \\192.168.1.100\MyProjects
  • 如果共享电脑的计算机名是 DESKTOP-ABC123
    \\DESKTOP-ABC123\MyProjects

映射网络驱动器

如果你经常访问这个共享,可以将其映射成一个本地驱动器号(如 Z: 盘)。

  1. 在另一台电脑上,右键点击“此电脑” -> “映射网络驱动器”。
  2. 在“驱动器”下拉菜单中选择一个可用的盘符(如 Z:)。
  3. 在“文件夹”框中输入 UNC 路径,如 \\192.168.1.100\MyProjects
  4. 勾选“使用其他凭据”可以输入不同的用户名和密码来访问。
  5. 点击“完成”。

完整工作流程示例

目标:FileServer 这台电脑上,安全地共享 E:\CompanyData 文件夹,并设置权限。

在 FileServer 上执行:

  1. 创建共享

    net share CompanyData=E:\CompanyData /remark:"公司所有部门数据"
  2. 设置 NTFS 权限

    • 允许 Everyone 只读:
      icacls "E:\CompanyData" /grant Everyone:(R)
    • 允许 IT 组完全控制:
      icacls "E:\CompanyData" /grant "IT":(F)
    • 移除继承权限(可选):
      icacls "E:\CompanyData" /inheritance:r
  3. 从客户端电脑访问

    • 打开“运行”,输入 \\FileServer\CompanyData,然后按回车。
    • 普通用户可以看到文件,但无法修改。
    • IT 组的用户可以修改和删除文件。

常见问题排查

  • 问题: 我无法访问共享,提示“网络错误”或“找不到网络路径”。

    • 原因1: 防火墙阻止了,请确保在“控制面板” -> “Windows Defender 防火墙” -> “允许应用或功能通过 Windows Defender 防火墙” 中,勾选了“文件和打印机共享”。
    • 原因2: 网络发现未开启,在“网络和共享中心”中,确保“网络发现”和“文件和打印机共享”是开启的。
    • 原因3: 凭证问题,在访问 UNC 路径时,右键点击网络位置,选择“连接时使用其他凭据”,输入目标电脑上有权限的用户名和密码。
  • 问题: 我可以访问,但没有权限写入。

    • 原因: 这是权限问题,请检查共享文件夹的 NTFS 权限icacls)和 共享权限(在文件属性 -> 共享 -> 高级共享中设置),NTFS 权限是最终生效的权限,确保你写入的用户账户在 NTFS 权限列表中有“修改”或“完全控制”权限。

希望这份详细的指南能帮助你完全掌握使用 cmd 命令共享目录的方法!

分享:
扫描分享到社交APP
上一篇
下一篇