CentOS Samba 配置指南
一、简介

Samba 是在 Linux 和 Unix 系统上实现 SMB 协议的一个免费软件,由服务器及客户端程序构成,它主要用于在 Linux 与 Windows 系统之间实现文件和打印机的共享,通过 Samba,Linux 系统可以作为文件服务器,向 Windows 客户端提供文件访问服务。
二、安装 Samba
修改yum源
- sudo yum install epelrelease y
- sudo yum install samba sambacommon sambaclient y
启动并设置开机自启
- sudo systemctl start smb
- sudo systemctl enable smb
- sudo systemctl start nmb
- sudo systemctl enable nmb
三、配置 Samba
配置文件结构
/etc/samba/smb.conf
是 Samba 的主要配置文件,该文件通常包含三个默认的配置段:[global]
、[homes]
和[printers]
。
全局配置段([global])
- [global]
- workgroup = WORKGROUP
- server string = Samba Server %v
- security = user
- map to guest = bad user
- dns proxy = no
workgroup
: 指定工作组名称。
server string
: 描述 Samba 服务器。

security
: 安全级别,设为user
表示使用用户名和密码进行验证。
map to guest
: 不允许匿名用户访问。
dns proxy
: 不启用 DNS 代理。
共享目录配置
添加一个新的共享目录,例如[data]
,在[global]
段下方添加以下内容:
- [data]
- comment = Data Shared Folder
- path = /data
- browseable = yes
- writable = yes
- guest ok = yes
comment
: 共享目录的描述信息。
path
: 共享目录在服务器上的路径。

browseable
: 设置为yes
表示允许浏览。
writable
: 设置为yes
表示允许写入。
guest ok
: 设置为yes
表示允许匿名访问。
四、创建系统用户和目录权限设置
- sudo useradd m testuser
- sudo passwd testuser
- sudo chown R testuser:testuser /data
- sudo chmod R 755 /data
五、创建 Samba 用户
- sudo smbpasswd a testuser
按照提示输入并确认密码。
六、启动和测试 Samba 服务
启动 Samba 服务
- sudo systemctl restart smb
- sudo systemctl restart nmb
防火墙设置
如果系统启用了防火墙,需要允许 Samba 服务通过防火墙:
- sudo firewallcmd permanent addservice=samba
- sudo firewallcmd reload
测试访问
在 Windows 资源管理器中,输入\\服务器IP\数据
,然后输入之前创建的 Samba 用户testuser
及其密码即可访问共享目录。
七、常见问题解决
无法访问共享目录
检查以下几点:
确保 Samba 服务已启动。
确保防火墙已放行 Samba 服务。
检查/etc/samba/smb.conf
配置文件中的路径和权限设置是否正确。
确保用户已在系统中创建,并且已正确添加到 Samba。
权限问题
确保共享目录的权限设置正确,使目标用户具有适当的读写权限。
- sudo chown R testuser:testuser /data
- sudo chmod R 755 /data
Samba 服务无法启动
查看日志文件以获取更多信息:
- sudo tail f /var/log/samba/log.smbd