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

打印 上一主题 下一主题

主题 859|帖子 859|积分 2577

0. 引言

本文是自己挂载共享磁盘的实践记录,将详细介绍怎样在Linux系统中设置自动挂载SMB/CIFS共享,并提供一些常见问题的解决方案。
1. 使用credentials文件存储认证信息

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


  • 创建credentials文件
    创建一个文件,比方/home/user/.smbcredentials,并添加以下内容:
    1. username=ABC
    2. password=XYZ
    复制代码
  • 设置文件权限
    确保文件的权限设置精确,只允许所有者读取:
    1. chmod 600 /home/user/.smbcredentials
    复制代码
  • 修改/etc/fstab
    使用credentials文件的路径来替代在fstab中直接写入用户名和密码。
    1. //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. 挂载点的准备

确保挂载点目录已经存在并设置了精确的权限:
  1. sudo mkdir -p /mnt/share
  2. sudo chmod 755 /mnt/share
复制代码
3. 须要软件的安装

确保系统已安装须要的软件包cifs-utils,这是挂载CIFS共享的必需工具。
  1. sudo apt-get update
  2. sudo apt-get install cifs-utils
复制代码
4. 调解挂载参数

由于网络可能不会在系统启动时立即可用,使用_netdev选项确保网络设备就绪后再举行挂载。别的,x-systemd.automount和x-systemd.requires=network-online.target可以资助控制挂载机会,以避免启动时挂载失败。
  1. //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的修改后,可以通过以下下令测试挂载是否设置精确:
  1. sudo mount -a
复制代码
假如没有错误,那么设置乐成。可以通过重启呆板来验证是否能够自动挂载。
6. 日志调试

假如自动挂载失败,可以查看系统日志来获取更多信息:
  1. journalctl -xe
  2. dmesg | grep CIFS
复制代码
#7. 常见问题解决
假如在系统启动时网络尚未准备好,可以思量启用systemd-networkd-wait-online.service:
  1. sudo systemctl enable systemd-networkd-wait-online.service
复制代码
或者添加nofail选项到fstab条目中,以防止挂载失败影响系统启动。
  1. //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
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

郭卫东

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表