凌峰创科服务平台

ubuntu 访问samba服务器

图形界面方法(最简单)

对于普通用户,这是最直观、最简单的方法。

ubuntu 访问samba服务器-图1
(图片来源网络,侵删)

安装必要的软件包

虽然现代的 Ubuntu 桌面版通常已经预装了文件管理器,但为了确保所有功能都正常,建议安装 samba-common-bin,它包含了一些有用的客户端工具。

sudo apt update
sudo apt install samba-common-bin

通过文件浏览器访问

这是最直接的方式,类似于在 Windows 中访问网络共享。

  • 打开文件管理器(Nautilus)。

  • 在左侧边栏,点击 “其他位置”

    ubuntu 访问samba服务器-图2
    (图片来源网络,侵删)
  • 在底部,点击 “连接到服务器”

  • 在弹出的窗口中,填写服务器信息:

    • 服务类型:选择 Windows 共享 (SMB),这通常是默认选项。
    • 服务器:输入 Samba 服务器的 IP 地址或主机名。
      • IP 地址示例168.1.100
      • 主机名示例fileserver.local (如果你的网络支持 mDNS/Bonjour)
    • 共享:如果知道共享文件夹的名称,可以直接填入,如果留空,连接后会列出所有可用的共享。
    • 用户名:如果共享需要身份验证,在这里输入你的用户名。
    • 域名/工作组:如果服务器在某个域或特定的工作组(如 WORKGROUP),可以填写,对于家庭和小型办公环境,通常可以留空。
  • 点击 “连接”

输入密码并挂载

  • 如果服务器需要身份验证,会弹出一个窗口要求你输入密码。
  • 输入你在 Samba 服务器上设置的密码。
  • 重要提示:勾选 “记住密码”,这样下次访问时就不需要重复输入了。
  • 点击 “连接”

成功后,该共享文件夹就会作为一个新的位置出现在你的文件管理器左侧边栏中,你可以像操作本地文件夹一样进行复制、粘贴、删除等操作。

ubuntu 访问samba服务器-图3
(图片来源网络,侵删)

命令行方法(更灵活、更强大)

对于服务器管理员或习惯使用命令行的用户,命令行方法更高效。

安装客户端工具

同样,我们首先需要安装客户端工具。

sudo apt update
sudo apt install smbclient cifs-utils
  • smbclient: 一个类似 FTP 的命令行工具,用于交互式地浏览和操作共享文件。
  • cifs-utils: 提供了 mount.cifs 工具,用于将 Samba 共享永久或临时挂载到本地文件系统。

使用 smbclient 浏览共享

smbclient 是一个很好的诊断工具,可以快速检查服务器是否可达,以及有哪些共享。

  • 列出服务器上所有可用的共享

    smbclient -L //服务器IP地址 -U 用户名
    smbclient -L //192.168.1.100 -U myuser

    系统会提示你输入 myuser 的密码,成功后,会列出所有共享文件夹。

  • 交互式地访问共享

    smbclient //服务器IP地址/共享名称 -U 用户名
    smbclient //192.168.1.100/data -U myuser

    成功连接后,你会进入一个类似 FTP 的命令行界面,可以使用 ls 列文件,get 下载文件,put 上传文件,cd 切换目录,exit 退出。

使用 mount.cifs 挂载共享(推荐长期使用)

将共享文件夹直接挂载到 Ubuntu 的文件系统中,可以让你像访问本地目录一样访问它。

  • 创建一个本地挂载点

    sudo mkdir /mnt/samba_share
  • 临时挂载(重启后失效)

    sudo mount -t cifs //服务器IP地址/共享名称 /mnt/samba_share -o username=你的用户名,password=你的密码
    sudo mount -t cifs //192.168.1.100/data /mnt/samba_share -o username=myuser,password=mypassword

    挂载成功后,你就可以通过 /mnt/samba_share 访问共享内容了。

  • 永久挂载(推荐): 为了让系统在启动时自动挂载,需要编辑 /etc/fstab 文件。

    1. 编辑 fstab 文件

      sudo nano /etc/fstab
    2. 在文件末尾添加一行

      //服务器IP地址/共享名称  /mnt/samba_share  cifs  username=你的用户名,password=你的密码,iocharset=utf8,vers=3.0  0  0
      • iocharset=utf8:确保中文文件名和内容能正确显示,非常重要!
      • vers=3.0:指定 SMB 协议版本,如果连接失败,可以尝试 vers=2.1vers=2.0
      • 安全提示:直接在 fstab 中写密码不安全,推荐使用 credentials 文件(见下文)。
    3. 保存并退出 (Ctrl+O, Enter, Ctrl+X)。

    4. 测试挂载:为了避免重启后才发现 fstab 写错了,最好先测试一下。

      sudo mount -a

      如果没有报错,说明 fstab 配置正确,下次开机时会自动挂载。

  • 更安全的 credentials 文件方法(推荐)

    1. 创建一个包含用户名和密码的文件:
      sudo nano /etc/samba/credentials.txt
    2. 在文件中输入以下内容(注意格式):
      username=你的用户名
      password=你的密码
    3. 设置文件权限,确保只有 root 可以读取:
      sudo chmod 600 /etc/samba/credentials.txt
    4. 修改 /etc/fstab 文件,使用这个文件:
      //服务器IP地址/共享名称  /mnt/samba_share  cifs  credentials=/etc/samba/credentials.txt,iocharset=utf8,vers=3.0  0  0

常见问题与解决

问题 1:提示 "mount error(13): Permission denied"

  • 原因:最常见的原因是 Samba 服务器上的用户名或密码错误,或者该用户没有访问该共享的权限。
  • 解决
    1. 再次确认用户名和密码是否正确。
    2. 联系 Samba 服务器的管理员,确认你的用户是否有权限访问该共享文件夹。
    3. 尝试在命令行中使用 smbclient 连接,看是否能成功,这可以帮你区分是网络问题还是权限问题。

问题 2:中文文件名或内容显示为乱码

  • 原因:客户端和服务器端的字符编码不一致。
  • 解决
    1. 挂载时添加 iocharset=utf8:这是最关键的步骤,已在永久挂载示例中展示。
    2. 检查服务器端配置:确保 Samba 服务器的配置文件 (smb.conf) 中也设置了正确的字符集,unix charset = utf8dos charset = utf8

问题 3:提示 "Unable to find suitable address"

  • 原因:无法解析服务器的主机名,或者网络不通。
  • 解决
    1. 使用 ping 命令测试网络连通性:
      ping 192.168.1.100
    2. IP 可以 ping 通,但主机名不行,说明 DNS 或 mDNS 解析有问题,请使用 IP 地址。
    3. 如果都 ping 不通,请检查防火墙设置(在服务器和客户端两端)。

问题 4:挂载后,普通用户无法写入

  • 原因:挂载点的所有者是 root,并且权限设置不当。
  • 解决
    1. 方法一(推荐):使用 uidgid 选项/etc/fstab 中,挂载选项里添加 `uid
分享:
扫描分享到社交APP
上一篇
下一篇