创建一个配置文件,存储用户名和密码
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服务(通过脚本批量挂载根目录)
- 通过用户密码文件访问根目录
sudo smbclient -A /root/.credentials -L //192.168.18.112/
下面是自定义的编写的一个脚本,实现批量挂载
#!/bin/bash
SMB_HOST=${1:-'192.168.50.1'}
SMB_LOCAL_PATH=${2:-'/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
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服务的目录。
|