Linux cifs挂载远程windows共享目录
- 共享windows目录
- 开启共享权限
- 共享磁盘或目录
- 开启Administrator 用户
- 关闭防火墙
- Linux 先决条件
- 安装Linux依赖
- 使用Username/Password挂载
- 临时挂载
- 自动挂载
- 使用Credentials挂载
- 创建CIFS Windows共享凭证文件
- 临时挂载
- 自动挂载
- 终止挂载
共享windows目录
开启共享权限
共享磁盘或目录
- 右键目标
- 选择授予访问权限
- 选择高级共享
- 点击高级共享按钮
- 勾选共享此文件夹
- 确定
开启Administrator 用户
如果Administrator用户没有开启,且准备使用Administrator用户
执行以下命令开启用户
net user administrator /active:yes
执行以下命令更改密码
net user administrator <password>
- 注意windows用户名不区分大小写
关闭防火墙
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