Linux使用mount挂载Windows共享文件夹

时间:2023-12-31 15:57:38

https://blog.csdn.net/tojohnonly/article/details/71374984

https://github.com/tojohnonly

现实中会有这样的场景 , 开发人员在 Windows 上面写代码 , 然后放到 Linux 进行编译 , 达到这个目的我们可以在 Linux 上使用 mount 命令挂载 Windows 共享文件夹 , 就像将 Windows 里面的共享目录当成一个U盘插到 Linux主机上面 , 然后 Linux 可以直接访问代码进行编译编译 ; 具体操作步骤如下 :

1. 先在 Windows 下面共享需要挂载的目录
右键需要共享的文件夹 , 选择共享 , 然后默认设置就可以

然后在其他的机器测试是否能正常访问 , 在其他机器资源管理器里面输入 \\192.168.0.102\Share , 地址格式是 \\你的IP\你的共享文件夹

出现无法访问或者指定的密码不正确时 , 可参考如下设置 :

修改网络安全设置 : 开始 -> 运行 gpedit.msc , 打开组策略 -> 计算机配置 -> Windows设置 -> 安全设置 -> 本地策略 -> 安全选项 -> 选择 “网络安全 : LAN 管理器身份验证级别” , 双击打开 , 设置成“发送 LM 和 NTLM 响应” ;

修改网络访问模型 : 开始 -> 运行 -> gpedit.msc -> 计算机配置 -> Windows设置 -> 安全设置 -> 本地策略 -> 安全选项 -> 选择 “网络访问:本地帐户的共享和安全模型” , 修改为使用经典模式 ;

2. 在linux下面创建一个需要挂载到的目录
我创建的目录是 /usr/local/bin/code ;

3. 利用 mount 命令进行挂载
# mount -t cifs -o username=Bob,password=123456 //192.168.0.102/Share /usr/local/bin/code
1
参数说明 : username , Window 系统登录用户名 ; password : Window 系统登录密码 ; //192.168.0.102/Share : 设置Window共享目录的路径 ; /usr/local/bin/code : 挂载到 Linux 下的那个目录

挂载完成后我们就可以在 /usr/local/bin/code 目录里面看到 Windows 共享文件夹里面的文件

4. 查挂载在状态
# df -h

Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00 38G 4.3G 34G 12% /
devtmpfs 235M 0 235M 0% /dev
tmpfs 245M 0 245M 0% /dev/shm
tmpfs 245M 4.3M 241M 2% /run
tmpfs 245M 0 245M 0% /sys/fs/cgroup
/dev/sda2 1014M 131M 884M 13% /boot
tmpfs 49M 0 49M 0% /run/user/0
//192.168.0.102/Share 245G 54G 191G 22% /usr/local/bin/code

或者使用 # mount 也可进行查看

5. 卸载
# umount /usr/local/bin/code
1
umount 时提示错误 target is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1)) , 你可以先切换到别的目录再试一次 , 原因也可能是其他进程可能在使用目录 , 可以先关闭使用该目录的进程 , 然后再 umount , 命令如下 (使用 fuser 需安装 psmisc # yum install psmisc) :

# fuser -m /usr/local/bin/code
/usr/local/bin/code: 2806c

# ps aux | grep 2806
root 2806 0.0 0.5 116040 2836 pts/0 Ss 11:31 0:00 -bash
root 2925 0.0 0.1 112648 960 pts/0 S+ 14:36 0:00 grep --color=auto 2806