实验环境为:CentOS-7 搭建 Samba 服务
主机名称 操作系统 IP地址
Samba服务端 Centos7 192.168.110.105
Windows客户端 Windows 192.168.110.100
一、项目实施(Samba服务端)
# 安装 Samba 服务
[root@localhost ~]# yum -y install samba samba-client # samba-client 测试工具
[root@localhost samba]# cp /etc/samba/smb.conf /etc/samba/smb.conf.bak #备份配置文件
# 修改配置文件
[root@localhost samba]# cat smb.conf
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
[database]
comment = do not xxx
path = /home/database
public = no
writable= yes
二、创建 Samba 系统用户
# 创建用户并指定家目录
[root@ftp-server vsftpd]# sudo useradd -m -d /home/samba1 samba1
# 设置密码
[root@ftp-server vsftpd]# sudo passwd samba1
# 添加 samba 登录用户
[root@localhost samba]# pdbedit -a -u samba1
new password:
retype new password: # 此密码用于登录共享服务!!!
Unix username: samba1
NT username:
Account Flags: [U ]
User SID: S-1-5-21-1536343147-571667093-3304871061-1000
Primary Group SID: S-1-5-21-1536343147-571667093-3304871061-513
Full Name:
Home Directory: \\\\localhost\\samba1
HomeDir Drive:
Logon Script:
Profile Path: \\\\localhost\\samba1\\profile
Domain: LOCALHOST
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: Wed, 06 Feb 2036 23:06:39 CST
Kickoff time: Wed, 06 Feb 2036 23:06:39 CST
Password last set: Mon, 26 Jan 2026 00:17:07 CST
Password can change: Mon, 26 Jan 2026 00:17:07 CST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
三、创建共享目录
[root@localhost samba]# mkdir -p /home/database
# 给共享目录授权
[root@localhost samba]# chown -R samba1:samba1 /home/database
四、防火墙 selinux 调试 或 直接关闭 Firewalld Selinux
[root@localhost yum.repos.d]# yum -y install policycoreutils-python-2.5-34.el7.x86_64
# 添加 selinux 的 Samba 上下文控制
[root@localhost yum.repos.d]# semanage fcontext -a -t samba_share_t /home/database
# 生效上下文
[root@localhost yum.repos.d]# restorecon -Rv /home/database
# 清空 iptables 规则
[root@localhost yum.repos.d]# iptables -F
# 开通 firewalld 策略
[root@localhost yum.repos.d]# firewall-cmd –zone=public –add-service=samba
# 重载生效
[root@localhost yum.repos.d]# firewall-cmd –reload
五、启动 samba 服务
# 启动并设置开机自启
[root@localhost yum.repos.d]# systemctl enable smb –now
# 查看 443 端口是否启动成功
[root@localhost yum.repos.d]# ss -nutlp | grep 445
tcp LISTEN 0 50 *:445 *:* users:(("smbd",pid=2555,fd=36))
tcp LISTEN 0 50 [::]:445 [::]:* users:(("smbd",pid=2555,fd=34))
六、Windows 连接测试
连接命令: \\\\192.168.110.105

连接成功!!!
配置详情
[global]
workgroup = SAMBA – 设置工作组名称为 SAMBA
security = user – 安全模式设置为 user / 这意味着需要用户名和密码验证才能访问共享
passdb backend = tdbsam – 密码数据库后端使用 tdbsam
[database]
comment = do not xxx – 共享的注释/描述
path = /home/database – 共享的本地路径是 /home/database
public = no – 需要有效的用户凭证才能访问
writable= yes – 授权用户可以在此目录中创建、修改、删除文件


