温馨提示×

ubuntu挂载samba共享文件夹步骤

小樊
40
2025-12-09 09:20:17
栏目: 智能运维

Ubuntu 挂载 Samba 共享文件夹步骤

一 准备与安装

  • 安装必要软件包:
    • 客户端工具:sudo apt update && sudo apt install samba-client
    • 挂载工具:sudo apt install cifs-utils
  • 准备挂载点:sudo mkdir -p /mnt/smbshare
  • 可选:先测试连通与共享可见性
    • 列出共享:smbclient -L //服务器IP -U 用户名
    • 交互式连接:smbclient //服务器IP/共享名 -U 用户名
      以上确保系统具备访问与挂载 SMB/CIFS 共享的能力,并能预先验证凭据与共享名是否正确。

二 临时挂载

  • 基本命令(将密码写在命令行,适合临时测试):
    • sudo mount -t cifs //服务器IP/共享名 /mnt/smbshare -o username=用户名,password=密码
  • 指定工作组或域(如需要):
    • sudo mount -t cifs //服务器IP/共享名 /mnt/smbshare -o username=用户名,password=密码,domain=WORKGROUP
  • 指定 SMB 协议版本(遇到挂载失败时常用,如 vers=3.02.1、或 1.0):
    • sudo mount -t cifs //服务器IP/共享名 /mnt/smbshare -o username=用户名,password=密码,vers=3.0
  • 验证与卸载:
    • 查看:df -h | grep smbshare
    • 卸载:sudo umount /mnt/smbshare
      上述命令覆盖最常见的挂载场景;当服务器仅支持特定 SMB 版本或出现“Invalid argument”等错误时,显式设置 vers 通常可解决。

三 开机自动挂载

  • 推荐方式一(凭据文件,安全且便于维护):
    1. 创建凭据文件:sudo nano /etc/cifs-credentials
      • 内容:
        • username=用户名
        • password=密码
        • domain=WORKGROUP(可选)
    2. 设置权限:sudo chmod 600 /etc/cifs-credentials
    3. 编辑 /etc/fstab,添加一行:
      • //服务器IP/共享名 /mnt/smbshare cifs credentials=/etc/cifs-credentials,iocharset=utf8,file_mode=0755,dir_mode=0755,rw 0 0
    4. 测试:sudo mount -a(无报错即生效)
  • 备选方式二(直接在 fstab 写入用户名与密码,便于快速部署但安全性较低):
    • //服务器IP/共享名 /mnt/smbshare cifs username=用户名,password=密码,iocharset=utf8,file_mode=0755,dir_mode=0755,rw 0 0
  • 说明:iocharset=utf8 解决中文乱码;file_mode/dir_mode 设置挂载后文件与目录权限;_netdev 可在网络就绪后再挂载(可选)。

四 常见问题与排查

  • 协议与版本不匹配:
    • 现象:mount error(22): Invalid argument 或协议协商失败
    • 处理:在 -o 中显式指定 vers=3.0/2.1/1.0 逐一测试
  • 权限与所有权:
    • 现象:能挂载但无读写权限
    • 处理:在 fstab 中使用 file_mode=0755,dir_mode=0755;必要时在服务器端为对应用户授予共享目录权限
  • 凭据安全:
    • 避免在命令行或 fstab 中明文写密码,优先使用 /etc/cifs-credentials 并设置 600 权限
  • 连通性:
    • 现象:无法访问共享
    • 处理:确认服务器 SMB 139/445 端口可达(云厂商可能限制 445),必要时在防火墙放行或使用内网地址测试

0