在工程中遇到了Linux系统需要挂载Windows目录的需求,本文记录实现方法。
Windows 系统设置 {#Windows-系统设置}
打开SMB服务 {#打开SMB服务}
打开 控制面板 -> 程序和功能 - > 启动SMB 1.0/CIFS文件共享支持 -> 重启计算机
设置共享文件夹 {#设置共享文件夹}
需要共享的文件夹 -> 右键 属性 -> 共享 -> 共享设置 ->添加Everyone用户 -> 设置需要为该用户开放的权限
配置完共享设置后可以在
网络
中看到自己共享的目录:
此时在你的windows系统中,该目录网络路径为
\\计算机名\路径名
,其他网络中的用户也可以使用该地址访问你共享的内容:
设置共享是否需要密码 {#设置共享是否需要密码}
打开 控制面板 -> 网络和共享中心 - > 高级共享设置 -> 所有网络 -> 配置密码保护的共享 即可
报错修复 {#报错修复}
可能会在挂载时出现错误
mount error(13): Permission denied Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
- 此时可以尝试取消密码需求(改为无密码保护的共享),看看是否可以挂载成功
- 改变本地策略:
- cmd输入gpedit.msc 进入本地计算机策略
- 计算机配置=》Windows设置=》安全设置=》本地策略=》安全选项=》网络访问:本地账户的共享和安全模型
- 改为
经典
即可
防火墙设置 {#防火墙设置}
在可以为可用性牺牲安全性的场景中可以关闭防火墙
- 如果防火墙没有关闭可能报错:
解决方案 {#解决方案}
-
关闭windows防火墙
-
不关闭防火墙。设置防火墙入站规则中,关于文件和打印机共享中关于samba的ip允许设置
控制面板/系统和安全/Windows防火墙/高级设置/入站规则/文件和打印机共享(SMB-In)公用/属性/作用域/远程IP
从本地子网改为任何IP
Linux 设置 {#Linux-设置}
安装相关包 {#安装相关包}
执行 mount 命令 {#执行-mount-命令}
mount 前需要手动建立文件夹,命令不会自动创建 注:在Windows的
\\计算机名\路径名
地址在Linux挂载中不好用,需要将计算机名换为Windows计算机的IP地址。
参考资料 {#参考资料}
文章链接:
https://www.zywvvd.com/notes/system/linux/commands/mount/mount-win-disk/mount-win-disk/