Linux cifs挂载远程windows共享目录

  • 共享windows目录
  • 开启共享权限
  • 共享磁盘或目录
  • 开启Administrator 用户
  • 关闭防火墙
  • Linux 先决条件
  • 安装Linux依赖
  • 使用Username/Password挂载
  • 临时挂载
  • 自动挂载
  • 使用Credentials挂载
  • 创建CIFS Windows共享凭证文件
  • 临时挂载
  • 自动挂载
  • 终止挂载


共享windows目录

开启共享权限

windows 共享目录 挂载时提示unable to find suitable address windows 挂载cifs共享_linux

共享磁盘或目录

  1. 右键目标
  2. 选择授予访问权限
  3. 选择高级共享
  4. 点击高级共享按钮
  5. 勾选共享此文件夹
  6. 确定

windows 共享目录 挂载时提示unable to find suitable address windows 挂载cifs共享_ci_02

开启Administrator 用户

如果Administrator用户没有开启,且准备使用Administrator用户
执行以下命令开启用户

net user administrator /active:yes

执行以下命令更改密码

net user administrator <password>
  • 注意windows用户名不区分大小写

关闭防火墙

windows 共享目录 挂载时提示unable to find suitable address windows 挂载cifs共享_服务器_03

Linux 先决条件

安装Linux依赖

安装 CIFS依赖
root 权限运行

apt install -y cifs-utils

使用Username/Password挂载

临时挂载

执行以下命令

sudo mkdir /mnt/w

#密码模式
sudo mount -t cifs -o username=<win_share_user>,password=<win_share_password> //WIN_SHARE_IP/<share_name> /mnt/win_share

#specify win_domain
sudo mount -t cifs -o username=<win_share_user>,domain=<win_domain> //WIN_SHARE_IP/<share_name> /mnt/win_share

mount

自动挂载

root权限编辑/etc/fstab

//WIN_SHARE_IP/share_name /mnt/win_share cifs username=<win_share_user>,password=<win_share_password>,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
  • 这里192.168.50.170 为Windows主机IP, 后面填写网络路径
  • 这里/mnt/w为挂载点
  • 注意更改windows 的username 和password

使用Credentials挂载

创建CIFS Windows共享凭证文件

为了提高安全性,建议使用凭证文件,其中包含共享用户名,密码和域。你可创建文件/etc/win-credentials保存用户凭证。

在本教程中,我们使用vim创建文件/etc/win-credentials。凭证文件具有以下格式。完成编辑后,保存文件并退出vim。

为使其它用户不能读取凭证文件。你需要设置正确的权限和所有权。运行命令sudo chown root: /etc/win-credentials。

要在mount命令指定使用的凭证文件,使用mount命令的-o和参数credentials指定凭证文件的绝对路径。
执行以下命令

sudo vim /etc/win-credentials 
sudo chown root: /etc/win-credentials
  • /etc/win-credentials 内容
username = user
password = password
domain = domain

临时挂载

执行以下命令

sudo vim /etc/win-credentials 
sudo chown root: /etc/win-credentials


sudo mount -t cifs -o credentials=/etc/win-credentials //WIN_SHARE_IP/<share_name> /mnt/win_share

默认情况下,挂载共享的所有者为root,并且权限设置为777。你可以使用dir_mode选项设置目录权限模式。

使用file_mode设置文件权限模式。使用uid和gid选项更改默认的用户和组所有权。

要设置其它挂载参数,请在-o选项之后指定多个参数,多个参数使用逗号分隔。要获取所有挂载参数,请在终端运行命令man mount。

sudo mount -t cifs -o credentials=/etc/win-credentials,dir_mode=0755,file_mode=0755 //WIN_SHARE_IP/<share_name> /mnt/win_share

sudo mount -t cifs -o credentials=/etc/win-credentials,uid=1000,gid=1000,dir_mode=0755,file_mode=0755 //WIN_SHARE_IP/<share_name> /mnt/win_share

自动挂载

执行以下命令

//WIN_SHARE_IP/share_name  /mnt/win_share  cifs  credentials=/etc/win-credentials,file_mode=0755,dir_mode=0755 0       0

终止挂载

sudo umount /mnt/w

果你在卸载Windows共享时,遇到文件系统繁忙或者其它进程访问着Windows共享。你可能需要找到哪些进程正在访问Windows共享。

命令fuser -m MOUNT_POINT可帮助我们找到正在访问Windows共享目录的进程,MOUNT_POINT是挂载点。

fuser -m /var/backups

找到正在访问NFS共享目录的进程后,可以使用kill命令将其终止,然后卸载Windows共享。

如果仍然存在卸载的问题,请使用umount命令的-l/–lazy选项,该选项可让您在文件系统不再繁忙后立即将其卸载。

如果无法访问远程Windows共享,请使用-f/–force选项强制卸载。通常,使用强制选项不是一个好主意,因为它可能会损坏文件系统的数据。

sudo umount -f /mnt/w
sudo umount -l /mnt/w