目录
前言
Samba 是一个开源软件套件,用于在Linux和Unix系统上实现Microsoft网络通信协议,主要是SMB(Server Message Block)和CIFS(Common Internet File System)。Samba允许这些系统与Windows系统共享文件和打印机资源,从而在不同的操作系统之间实现无缝集成。
测试环境:
1、虚拟机OpenEuler24.13系统,其IP地址为192.168.157.129
2、宿主机win10,其IP地址为192.168.157.1
测试前,首先测试宿主机与虚拟机网络互通,用ping命令进行测试;此时,关闭OpenEuler防火墙和Selinux。
该实验主要完成Samba的安装、配置和测试,万事从简单开始,配置内容从基础开始,实现来宾用户(匿名用户)的访问,功能比较单一,但流程是完整的,读者能较快的完成任务,从而获得成就感和自信心。后续博文将介绍系统用户的访问配置等,完成较为复制的配置任务。
一、Samba组件
Samba的主要组件包括:
1. smbd:Samba服务器守护进程,负责处理客户端的文件和打印服务请求。
2. nmbd:负责处理NetBIOS名称服务和浏览通告,使得Windows客户端能够在网络中发现Samba服务器。
3. smbclient:一个命令行工具,允许用户访问远程SMB/CIFS服务器上的文件。
4. cifs-utils:包含用于挂载CIFS共享的工具,如`mount.cifs`。
5. 配置文件(如`smb.conf`):定义了Samba的配置,包括共享目录、用户权限、安全设置等。
6. 日志文件:记录Samba服务的运行信息,有助于故障排查。
二、Samba工作原理
1. 客户端请求:当Windows客户端想要访问Samba服务器上的共享资源时,它会发送一个SMB请求。
2. 协议协商:客户端和服务器之间通过RPC(远程过程调用)进行通信,协商使用哪个版本的SMB协议。
3. 认证:客户端提交用户名和密码进行认证,Samba服务器验证这些凭证。
4. 访问控制:一旦认证通过,Samba服务器根据配置文件中的设置和权限,允许或拒绝客户端对共享资源的访问。
5. 文件操作:客户端可以对共享资源执行文件操作,如读取、写入、修改和删除文件。
6. 断开连接:操作完成后,客户端和服务器会断开连接。
三、Samba及其组件安装
1、安装Samba
dnf install -y samba
安装结果如图所示。
2、安装samba组件samba-common、samba-client,如图所示。
3、启动samba服务
systemctl start smb
4、查看smaba端口号445、139是否已开启,如图所示。
四、目录创建
创建共享文件目录。
mkdir /var/share
五、Samba配置
Samba的配置文件通常位于`/etc/samba/smb.conf`,它定义了Samba服务器的行为。配置文件中可以定义多个共享部分,每个部分代表一个共享资源。以下红颜色的部分为添加配置内容。
[global]
workgroup = WORKGROUP
security = user
map to guest = Bad User //来宾用户访问
log file = /var/log/samba/log.%m
[share]
comment = share
path = /var/share
browsable = yes
writable = yes
在这个配置中,`[global]`部分设置了全局参数,如工作组名称和日志文件位置。`[share]`部分定义了一个名为`share`的共享目录,指定了其路径、是否可浏览、是否可写。
六、测试
在Windows 10系统中打开访问Samba服务器。打开“此电脑”,在资源管理器中输入samba服务器地址:\\192.168.157.129,显示效果如图所示。
双击“share” 文件夹,可以在该文件夹内创建一个文本文件,说明可读可写,整个测试成功。
但一开始测试时,就出现无法访问samba 服务,如图所示。
解决办法:
1、Windows+R键,打开运行,输入gpedit.msc,打开本地组策略编辑器;
2、打开本地组策略编辑器,计算机配置=>管理模板=>网络=>Lanman 工作站;
3、双击“启用不安全的来宾登录”;
4、选择“已启用”,点确定;