CentOS 系统中挂载 Samba 共享目录的完整指南
在企业环境中,Samba 作为开源的 SMB/CIFS 协议实现,常用于跨平台文件共享,本文将详细讲解在 CentOS 系统中挂载 Samba 共享目录的方法,涵盖基础配置、权限管理及故障排查等关键环节。

准备工作
在开始操作前,需确保满足以下条件:
- 网络连通性:CentOS 服务器与 Samba 服务器的网络互通(可通过 
ping命令验证)。 - Samba 服务状态:确认目标 Samba 服务器已启动服务且共享目录已正确配置(如 Windows 机器开启“文件和打印机共享”,或 Linux 机器通过 Samba 发布目录)。
 - 依赖包安装:在 CentOS 终端执行 
yum install cifs-utils -y,安装 CIFS 文件系统工具(支持挂载 SMB 共享)。 
临时挂载 Samba 共享(重启后失效)
临时挂载适用于测试场景,步骤如下:
创建本地挂载点
mkdir -p /mnt/samba_share # 自定义挂载路径,如 /data/samba
执行 mount 命令
使用 mount.cifs 命令挂载,语法为:  
mount.cifs //Samba服务器IP/共享目录名 本地挂载点 -o 参数列表
常用参数说明:
| 参数          | 说明                     | 示例值               |
|---------------|--------------------------|----------------------|
| username    | Samba 用户名             | admin              |
| password    | 对应密码                 | Passw0rd           |
| domain      | 域名(若 Samba 加入域)  | WORKGROUP          |
| uid/gid   | 挂载后文件属主/组        | 1000(当前用户 UID) |
| iocharset   | 字符编码                 | utf8               |
| vers        | SMB 协议版本             | 0                |  
示例命令(假设 Samba 服务器 IP 为 168.1.100,共享目录名为 shared,用户名 user,密码 pass):  
mount.cifs //192.168.1.100/shared /mnt/samba_share -o username=user,password=pass,iocharset=utf8,vers=3.0
验证挂载结果
执行 df -hT 或 ls /mnt/samba_share,确认共享目录内容可访问。  
永久挂载(开机自动挂载)
生产环境需配置开机自启,避免手动重复操作。

编辑 /etc/fstab 文件
使用 vim /etc/fstab 打开配置文件,添加以下行(格式与临时挂载一致):  
//Samba服务器IP/共享目录名 本地挂载点 cifs 参数列表 0 0
示例配置:
//192.168.1.100/shared /mnt/samba_share cifs username=user,password=pass,iocharset=utf8,vers=3.0 0 0
测试 fstab 配置
修改后先验证语法是否正确,执行:
mount -a
若无报错,说明配置生效;若有错误,需根据提示修正(如路径错误、权限问题)。
重启验证
重启系统后,检查 /mnt/samba_share 是否自动挂载:  
reboot # 重启后执行 df -hT | grep samba_share
高级配置与注意事项
安全性优化
- 
隐藏密码:不建议直接在
fstab或命令行明文写密码,可通过创建凭证文件存储敏感信息:echo "username=user" > /root/smb_cred echo "password=pass" >> /root/smb_cred chmod 600 /root/smb_cred # 仅 root 可读
修改
fstab为:
//192.168.1.100/shared /mnt/samba_share cifs credentials=/root/smb_cred,iocharset=utf8,vers=3.0 0 0
 - 
限制访问权限:结合 SELinux 策略(若启用),可执行:
chcon -t samba_share_t /mnt/samba_share # 调整 SELinux 上下文 setsebool -P samba_enable_home_dirs on # 允许 Samba 访问 home 目录(按需设置)
 
故障排查技巧
- 挂载失败常见原因:  
- 网络不通:检查防火墙(
firewall-cmd --list-services)、Samba 端口(默认 139/445)是否开放。 - 凭证错误:确认用户名、密码及共享目录权限(Samba 侧需允许该用户访问)。
 - 协议不兼容:尝试更换 
vers参数(如vers=2.1)。 
 - 网络不通:检查防火墙(
 - 日志分析:查看系统日志 
journalctl -xe或 Samba 日志(通常在/var/log/samba/),定位错误根源。 
卸载 Samba 共享
若需停止使用共享目录,执行:
umount /mnt/samba_share # 卸载临时挂载 # 或删除 fstab 条目后执行 umount -a(仅影响永久挂载)
相关问答 FAQs
Q1:挂载时提示 “mount error(13): Permission denied”,如何解决?
A:此错误多因权限不足导致,可尝试:  
- 确认 Samba 共享目录对指定用户的访问权限(如 
chmod 777 /path/to/share临时测试,生产环境建议精细授权); - 检查 SELinux 状态(
getenforce),若为 enforcing,需调整策略(如chcon -t samba_share_t /path/to/local_mount_point); - 确保 CIFs 工具版本兼容(旧版 CentOS 可能需升级 
cifs-utils)。 
Q2:为什么 fstab 中配置了但重启后无法自动挂载?
A:可能原因包括:  
- 路径或参数书写错误(如空格、拼写失误),可通过 
mount -a测试配置; - Samba 服务器未开机或网络不可达,需确认服务器状态;
 - 文件系统类型错误(需用 
cifs而非nfs等); - 密码文件路径错误或权限不当(如 
credentials指向不存在的文件)。 
通过以上步骤,您可在 CentOS 系统中稳定挂载 Samba 共享目录,并根据实际需求调整安全与性能配置。