一、Samba服务器简介
(1)什么是Samba服务?
Samba是在Linux和UNX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成
SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。
(2)Samba服务的起源
在早期网络世界当中,档案数据在不同主机之间的传输大多是使用 FTP 这个好用的服务器软件来进行传送。不过,使用FTP 传输档案却有个小小的问题,那就是您无法直接修改主机上面的档案数据!也就是说您想要更改Linux 主机上的某个档案时,必需要由 Server 端将该档案下载到 Client端后才能修改,也因此该档案在 Server 与 Client 端都会存在。这个时候,万一如果有一天您修改了某个档案,却忘记将数据上传回主机,那么等过了一阵子之后,就不知道那个档案才是最新的。
NFS仅能让 Unix 机器沟通,CIFS 只能让 Windows 机器沟通。1991 年一个名叫Andrew Tridgwell 的大学生基于 DEC公司的Digital Unix 系统与DOS系统的通讯协议而开发出Server Message Block (SMB)这个档案系统,而就是这套 SMB软件能够让 Unix 与 DOS 互相的分享数据
二、配置Samba服务器
1.安装Samba软件包
yum -y install samba samba-client samba-wat
2.启动smb和nmb服务
组成Samba运行的有两个服务,一个是smb,另一个是nmb;smb是Samba 的核心启动服务,主要负责建立 CentOS Samba服务器与Samba客户机)之间的对话,验证用户身份并提供对文件和打印系统的访问,只有smb服务启动,才能实现文件的共享 监听139 TCP端口;而NMB服务是负责解析用的, 类似于是DNS实现的功能,nmb可以把CentOS系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137和138 UDP端口。所以启动Samba服务,主要是启动 smb和nmb服务。
3.添加Samba用户
smbpasswd -a user1
如果提示 Failed to add entry for user user1,则需要在系统中创建用户user1
4.防火墙配置
iptables -F
vi /etc/selinux/config
将SELINUX=enforcing修改为SELINUX=disabled
5.修改配置文件
vi /etc/samba/smb.conf
在global末行加入#map to guest = Bad User 开启匿名访问
在最后加入以下代码
创建文件路径目录:mkdir /opt/abc
修改权限:chmod 777 /opt/abc
关闭防火墙:systemctl stop firewalld
重启服务:systemctl restart smb
服务器搭建成功后,就可在Windows系统下共享Linux系统的文件了