使用图形界面(最简单,适合新手)
这是最直观的方法,通过文件管理器即可完成。

步骤 1:安装必要的软件包
虽然 Ubuntu 默认通常包含了访问 SMB/CIFS 所需的组件,但有时可能不完整,为了确保万无一失,建议安装 cifs-utils。
打开终端,执行以下命令:
sudo apt update sudo apt install cifs-utils
步骤 2:在文件管理器中访问
-
打开你的文件管理器(Nautilus, Files 等)。
-
在左侧边栏的“位置”下方,点击“连接到服务器”。
(图片来源网络,侵删) -
在弹出的窗口中,选择“Windows 网络共享”或输入服务器地址。
- 地址格式:
smb://<服务器IP地址或主机名>/<共享文件夹名> - 示例:如果你的服务器 IP 是
168.1.100,共享文件夹名为Public,那么地址就是smb://192.168.1.100/Public。
- 地址格式:
-
点击“连接”,系统会提示你输入用户名和密码。
- 用户名:Samba 服务器的有效用户名。
- 密码:该用户的密码。
- 记住我的凭据:如果你不想每次都输入,可以勾选。
-
点击“连接”或“确定”后,如果凭据正确,你就可以像访问本地文件夹一样访问共享内容了。
使用命令行(更灵活,适合高级用户)
使用命令行挂载共享文件夹,可以让你在系统重启后仍然保持访问,并且可以更好地集成到脚本中。

步骤 1:创建本地挂载点
你需要一个本地目录来“挂载”远程的共享文件夹,我们通常在 /mnt 目录下创建。
sudo mkdir -p /mnt/samba_share
这里的 -p 选项可以确保父目录存在(如果不存在的话)。
步骤 2:挂载共享文件夹
使用 mount.cifs 命令。
基本格式:
sudo mount -t cifs //<服务器IP>/<共享文件夹> /mnt/samba_share -o username=<你的用户名>,password=<你的密码>
示例:
sudo mount -t cifs //192.168.1.100/Public /mnt/samba_share -o username=myuser,password=mypassword
挂载成功后,你就可以通过访问 /mnt/samba_share 来使用共享文件了。
步骤 3:验证挂载
df -h
你应该能在输出中看到你的共享文件夹被挂载在 /mnt/samba_share 上。
步骤 4:卸载共享文件夹
当你使用完毕后,可以卸载它。
sudo umount /mnt/samba_share
永久挂载(开机自启)
如果你希望每次开机后都能自动挂载这个共享,而不是手动执行命令,可以修改 /etc/fstab 文件。
⚠️ 警告:直接编辑 /etc/fstab 有可能导致系统无法启动,请务必谨慎,并确保你的信息正确。
步骤 1:创建凭据文件(推荐)
为了安全,不建议在 /etc/fstab 中明文写入密码,我们可以创建一个单独的文件来存储凭据。
-
创建文件:
sudo nano /etc/samba_credentials
-
在文件中输入你的用户名和密码,格式如下:
username=your_samba_user password=your_samba_password # domain=your_domain (如果需要域认证,取消此行并填写)保存并退出 (
Ctrl+X,Y,Enter)。 -
设置文件权限,确保只有 root 用户可以读取:
sudo chmod 600 /etc/samba_credentials
步骤 2:编辑 /etc/fstab
-
备份原文件(好习惯):
sudo cp /etc/fstab /etc/fstab.bak
-
用编辑器打开
fstab:sudo nano /etc/fstab
-
在文件末尾添加下面这一行:
//<服务器IP地址>/<共享文件夹> /mnt/samba_share cifs credentials=/etc/samba_credentials,iocharset=utf8,vers=3.0,nofail 0 0
//<服务器IP>/<共享文件夹>:你的共享地址。/mnt/samba_share:你的本地挂载点。cifs:文件系统类型。credentials=/etc/samba_credentials:指定凭据文件。iocharset=utf8:支持中文字符,防止乱码。vers=3.0:指定 SMB 协议版本,如果遇到兼容性问题,可以尝试1或0。nofail:这是一个非常重要的选项,Samba 服务器在开机时不可用,系统会继续启动,而不是卡在挂载失败上。
-
保存并退出 (
Ctrl+X,Y,Enter)。
步骤 3:测试 fstab 配置
在重启系统之前,先测试一下配置是否正确。
sudo mount -a
如果这个命令没有报错,说明 fstab 的配置是正确的,你可以再次使用 df -h 来确认共享文件夹是否已挂载。
常见问题与解决方法
权限问题
- 现象:挂载后,你只能看到文件,但无法读取、写入或修改。
- 原因:Samba 服务器的权限设置和你的 Ubuntu 用户权限不匹配。
- 解决方法:
- 检查 Samba 服务器端权限:确保你的用户在服务器上有访问该共享文件夹的权限(读/写)。
- 检查文件所有者:在 Ubuntu 上,挂载的文件默认属于
root,你可以使用uid和gid选项来指定文件的所有者。 在/etc/fstab中修改挂载选项,添加uid=1000,gid=1000(1000是 Ubuntu 默认的第一个普通用户的 UID/GID,你可以用id -u your_username命令查看)。//<服务器IP>/<共享文件夹> /mnt/samba_share cifs credentials=/etc/samba_credentials,iocharset=utf8,uid=1000,gid=1000,vers=3.0,nofail 0 0
中文乱码问题
- 现象:共享文件夹中的中文文件名显示为乱码(如
???.txt)。 - 解决方法:
- 确保服务器端编码正确:Samba 服务器端的
smb.conf文件中应设置unix charset = UTF-8和dos charset = gbk(如果客户端主要是中文 Windows)。 - 确保客户端编码正确:在 Ubuntu 的挂载选项中加入
iocharset=utf8。 - 指定 Samba 协议版本:有时旧版本的协议对 UTF-8 支持不好,尝试在挂载选项中指定
vers=3.0或更高版本。
- 确保服务器端编码正确:Samba 服务器端的
“mount error(13): Permission denied” 错误
- 原因:最常见的原因是用户名或密码错误。
- 解决方法:
- 仔细核对用户名和密码是否正确。
- 检查大小写:Samba 的用户名和密码是区分大小写的。
- 尝试匿名访问:Samba 服务器允许,可以尝试不输入用户名和密码(挂载命令中去掉
-o选项),看看是否能访问,如果能,说明是认证问题。 - 检查服务器端用户:确保你的用户账户在 Samba 服务器上是有效的,并且没有被禁用。
“mount error(22): Invalid argument” 错误
- 原因:通常是挂载选项中的
vers=指定的版本不被服务器或客户端支持。 - 解决方法:尝试修改
vers=的值,例如从0改为1或0。
希望这份详细的指南能帮助你在 Ubuntu 上顺利访问 Samba 服务器!
