创建一个配置文件,存储用户名和密码

username=example_username
password=example_password

然后安装相关依赖和挂载

先安装 cifi-utils 服务

apt install cifs-utils -y

选择挂载的目录

mount -t cifs -o vers=3.0,credentials=/etc/.smbcredentials //192.168.18.112/share /media/share

如果出现挂载失败,可以通过查看日志

tail -f  /var/log/kern.log 

开机自动挂载(optional)

vim /etc/fstab

添加如下内容到行尾

//192.168.18.112/share /media/share cifs vers=3.0,credentials=/.examplecredentials

利用通过 smbclient来访问smb服务(通过脚本批量挂载根目录)

  1. 通过用户密码文件访问根目录
sudo smbclient -A /root/.credentials -L //192.168.18.112/

下面是自定义的编写的一个脚本,实现批量挂载

#!/bin/bash

SMB_HOST=${1:-'192.168.50.1'} # smb 服务器地址
SMB_LOCAL_PATH=${2:-'/mnt/smb'}


# 新建挂载的目录,默认 /mnt/smb 目录
[[ -e $SMB_LOCAL_PATH ]] && sudo mkdir -p $SMB_LOCAL_PATH


folds=$(sudo smbclient -A /root/.credentials -L //$SMB_HOST/ | grep Disk | awk '{ print $1 }')


for fold in $folds; do
    sudo mkdir -p $SMB_LOCAL_PATH/$fold
    # mount -v -t cifs -o rw,vers=1.0,credentials=/root/.credentials //192.168.50.1/softwares /mnt/smb/
    sudo mount -t cifs -o rw,vers=1.0,credentials=/root/.credentials //$SMB_HOST/$fold $SMB_LOCAL_PATH/$fold
done

注意挂载的版本信息,因为路由器上是的smb 1.0。

完整脚本的GitHub 地址。由于smb服务不支持挂载根目录,因此写一个bash脚本实现批量的挂载smb服务的目录

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐