在CentOS系统中挂载SMB服务是实现跨平台文件共享的常见需求,SMB(Server Message Block)协议允许Windows和Linux系统之间进行文件和打印机共享,本文将详细介绍在CentOS上挂载SMB服务的完整流程,包括前提条件、配置步骤、常见问题处理及卸载方法,帮助用户顺利完成文件共享设置。

前提条件
在开始挂载SMB服务前,需确保以下条件满足:
- 网络连通性:CentOS客户端与SMB服务器(如Windows或Linux Samba服务器)能够互相ping通,确保网络畅通。
- 安装必要工具:CentOS系统需安装
cifs-utils包,该包提供了挂载SMB文件系统所需的工具,可通过以下命令安装:sudo yum install cifs-utils -y
- 获取共享信息:确认SMB服务器的IP地址、共享目录名称、用户名及密码,这些信息是挂载时必需的参数。
创建挂载目录
挂载SMB共享前,需在CentOS系统中创建一个本地目录作为挂载点,创建/mnt/smb_share目录:
sudo mkdir -p /mnt/smb_share
建议将挂载点设置在/mnt或/media目录下,以保持系统目录结构的规范性。
挂载SMB共享
临时挂载
使用mount命令可临时挂载SMB共享,重启系统后挂载会失效,命令格式如下:
sudo mount -t cifs //服务器IP/共享目录名 /mnt/smb_share -o username=用户名,password=密码
挂载IP为168.1.100的共享目录shared_folder,用户名为admin,密码为password123:

sudo mount -t cifs //192.168.1.100/shared_folder /mnt/smb_share -o username=admin,password=password123
永久挂载
若需系统重启后自动挂载,需修改/etc/fstab文件,首先添加以下内容到文件末尾:
//服务器IP/共享目录名 /mnt/smb_share cifs defaults,username=用户名,password=密码 0 0
//192.168.1.100/shared_folder /mnt/smb_share cifs defaults,username=admin,password=password123 0 0
保存文件后,执行mount -a命令测试配置是否正确,若无报错则表示配置成功。
权限与安全设置
- 用户权限:默认情况下,挂载目录的所有者为root用户,如需指定普通用户访问,可添加
uid和gid参数,让用户centos拥有读写权限:sudo mount -t cifs //192.168.1.100/shared_folder /mnt/smb_share -o username=admin,password=password123,uid=1000,gid=1000
- 安全选项:为增强安全性,建议使用
sec=ntlmssp或sec=krb5参数指定认证协议,避免明文密码传输。sudo mount -t cifs //192.168.1.100/shared_folder /mnt/smb_share -o username=admin,password=password123,sec=ntlmssp
常见问题处理
- 挂载失败提示“Permission denied”:检查SMB服务器端共享目录的权限,确保用户具有访问权限;同时确认CentOS客户端的用户名和密码正确。
- 网络不可达:使用
ping命令测试与SMB服务器的连通性,检查防火墙设置(如CentOS的firewalld或SMB服务器的Windows防火墙),确保开放SMB默认端口(445)。
卸载SMB共享
如需卸载已挂载的目录,可使用umount命令:
sudo umount /mnt/smb_share
若卸载时提示“device is busy”,可先终止占用进程(如fuser -km /mnt/smb_share),再执行卸载操作。
FAQs
Q1:如何查看SMB共享目录的列表?
A:使用smbclient工具可列出SMB服务器上的共享目录,首先安装该工具:sudo yum install samba-client -y,然后执行以下命令:

smbclient -L //服务器IP -U 用户名
输入密码后,即可查看共享列表。
Q2:挂载时出现“mount error(13): Permission denied”如何解决?
A:该错误通常由权限问题导致,可尝试以下方法:
- 确认SMB服务器端共享目录权限设置正确,用户具有读写权限;
- 在CentOS客户端挂载时添加
vers=2.0参数,指定SMB协议版本:sudo mount -t cifs //服务器IP/共享目录 /mnt/smb_share -o username=用户名,password=密码,vers=2.0
- 检查SELinux是否阻止访问,临时关闭SELinux测试(
sudo setenforce 0),若恢复正常,则需调整SELinux策略。