当前位置: 首页 > article >正文

在Ubuntu中自动挂载SMB/CIFS共享

文章目录

  • 0. 引言
  • 1. 使用`credentials`文件存储认证信息
  • 2. 挂载点的准备
  • 3. 必要软件的安装
  • 4. 调整挂载参数
  • 5. 测试挂载
  • 6. 日志调试

0. 引言

本文是自己挂载共享磁盘的实践记录,将详细介绍如何在Linux系统中配置自动挂载SMB/CIFS共享,并提供一些常见问题的解决方案。

1. 使用credentials文件存储认证信息

直接在/etc/fstab文件中包含用户名和密码可能导致解析问题,尤其是密码中如果包含特殊字符。因此,使用一个credentials文件来存储这些信息是一种更安全且更稳定的方法。

步骤:

  • 创建credentials文件

    创建一个文件,例如/home/user/.smbcredentials,并添加以下内容:

    username=ABC
    password=XYZ
    
  • 设置文件权限

    确保文件的权限设置正确,只允许所有者读取:

    chmod 600 /home/user/.smbcredentials
    
  • 修改/etc/fstab

    使用credentials文件的路径来替代在fstab中直接写入用户名和密码。

    //192.168.x.xx/share /mnt/share cifs credentials=/home/user/.smbcredentials,iocharset=utf8,vers=2.0,_netdev,auto,dir_mode=0777,file_mode=0777 0 0
    

2. 挂载点的准备

确保挂载点目录已经存在并设置了正确的权限:

sudo mkdir -p /mnt/share
sudo chmod 755 /mnt/share

3. 必要软件的安装

确保系统已安装必要的软件包cifs-utils,这是挂载CIFS共享的必需工具。

sudo apt-get update
sudo apt-get install cifs-utils

4. 调整挂载参数

由于网络可能不会在系统启动时立即可用,使用_netdev选项确保网络设备就绪后再进行挂载。另外,x-systemd.automountx-systemd.requires=network-online.target可以帮助控制挂载时机,以避免启动时挂载失败。

//192.168.x.xx/share /mnt/share cifs credentials=/home/user/.smbcredentials,iocharset=utf8,vers=2.0,_netdev,auto,dir_mode=0777,file_mode=0777,x-systemd.automount,x-systemd.requires=network-online.target 0 0

5. 测试挂载

在完成/etc/fstab的修改后,可以通过以下命令测试挂载是否配置正确:

sudo mount -a

如果没有错误,那么配置成功。可以通过重启机器来验证是否能够自动挂载。

6. 日志调试

如果自动挂载失败,可以查看系统日志来获取更多信息:

journalctl -xe
dmesg | grep CIFS

#7. 常见问题解决

如果在系统启动时网络尚未准备好,可以考虑启用systemd-networkd-wait-online.service

sudo systemctl enable systemd-networkd-wait-online.service

或者添加nofail选项到fstab条目中,以防止挂载失败影响系统启动。

//192.168.x.xx/share /mnt/share cifs credentials=/home/user/.smbcredentials,iocharset=utf8,vers=2.0,_netdev,auto,nofail,dir_mode=0777,file_mode=0777 0 0

http://www.kler.cn/a/325147.html

相关文章:

  • 一文速学---红黑树
  • Cherno OpenGL(28 ~ 33)
  • 在 CentOS 7 上安装 MinIO 的步骤
  • 通过 Docker 对 MySQL 做主从复制的时候,因为ip不对导致不能同步。后又因为二进制的偏移量写的不对,导致不能同步的问题
  • 一些常见网络安全术语
  • 鸿蒙实现 web 传值
  • Springboot2笔记核心技术——1.基础入门
  • Java-数据结构-Map和Set-(二)-哈希表 |ू・ω・` )
  • 第八届蓝桥杯嵌入式省赛程序设计题解析(基于HAL库)
  • SQL_having_pandas_filter
  • 天童美语:全国爱牙日|健康护“齿”知识
  • 从0学习React(5)---通过例子体会setState
  • 使用Docker快速本地部署RSSHub结合内网穿透访问RSS订阅源
  • [leetcode]5_最长回文子串
  • UE 计算闭合曲线的符号面积
  • 剩余电流继电器在轨道交通地铁车站的应用
  • 2、Stable Diffusion
  • 906. 超级回文数
  • 数组的实现原理(Java版)
  • 分享几个可以免费使用GPT的网站【2024年必备】
  • 计算机知识科普问答--20(96-100)
  • 【Python】import 引入常用模块
  • 编程练习:探索数学问题的编程解决方案 P137
  • Unity中的功能解释(数学位置相关和事件)
  • android13 系统默认设置静态IP
  • VMware下Ubuntu找不到共享文件夹