2023年11月24日发(作者:)
Samba培训
学习目标
Samba原理
安装Samba服务
启动与停止Samba服务
Samba的打印共享
学习效果
了解Samba的原理
掌握Samba的安装
掌握Samba的启动与停止
熟悉Samba的打印共享配置
Samba原理
Samba概述
接触Linux我们听的最多的就是Samba服务,为什么Samba应用
这么广泛呢,原因是Samba最先在Linux和Windows两个平台之
间架起了一座桥梁,正是由于Samba的出现,我们可以在Linux系
统和Windows系统之间互相通信,比如拷贝文件、实现不同操作系
统之间的资源共享等等,我们可以将其架设成一个功能非常强大的文
件服务器,也可以将其架设成打印服务器提供本地和远程联机打印,
甚至我们可以使用Samba Server完全取代NT/2K/2K3中的域控制
器,做域管理工作,使用也非常方便。
Samba应用环境
文件和打印机共享:文件和打印机共享是Samba的主要功能,SMB
进程实现资源共享,将文件和打印机发布到网络之中,以供用户可以
访问。
身份验证和权限设置:smbd服务支持user mode和domain mode
等身份验证和权限设置模式,通过加密方式可以保护共享的文件和打
印机。
名称解析:Samba通过nmbd服务可以搭建NBNS(NetBIOS Name
Service)服务器,提供名称解析,将计算机的NetBIOS名解析为IP
地址。
浏览服务:局域网中,Samba服务器可以成为本地主浏览服务器
(LMB),保存可用资源列表,当使用客户端访问Windows网上邻
居时,会提供浏览列表,显示共享目录、打印机等资源。
Samba工作原理
Samba服务功能强大,这与其通信基于SMB协议有关。SMB不仅
提供目录和打印机共享,还支持认证、权限设置。在早期,SMB运
行于NBT协议(NetBIOS over TCP/IP)上,使用UDP协议的137、
138及TCP协议的139端口,后期SMB经过开发,可以直接运行
于TCP/IP协议上,没有额外的NBT层,使用TCP协议的445端口。
Samba工作流程
步骤1:协议协商
客户端在访问Samba服务器时,发送negprot指令数据包,告知
目标计算机其支持的SMB类型。Samba服务器根据客户端的情况,
选择最优的SMB类型,并做出回应。
步骤2:建立连接
当SMB类型确认后,客户端会发送session setup指令数据包,提
交帐号和密码,请求与Samba服务器建立连接,如果客户端通过身
份验证,Samba服务器会对session setup报文作出回应,并为用
户分配唯一的UID,在客户端与其通信时使用。
步骤3:访问共享资源
客户端访问Samba共享资源时,发送tree connect指令数据包,
通知服务器需要访问的共享资源名,如果设置允许,Samba服务器
会为每个客户端与共享资源连接分配TID,客户端即可访问需要的共
享资源。
步骤4:断开连接
共享使用完毕,客户端向服务器发送tree disconnect报文关闭共享,
与服务器断开连接。
Samba相关进程
Samba服务是由两个进程组成,分别是nmbd和smbd。
nmbd:其功能是进行NetBIOS名解析,并提供浏览服务显
示网络上的共享资源列表。
smbd:其主要功能就是用来管理Samba服务器上的共享目录、打
印机等,主要是针对网络上的共享资源进行管理的服务。当要访问服
务器时,要查找共享文件,这时我们就要依靠smbd这个进程来管
理数据传输。
安装Samba服务
Samba所需软件
:该包为Samba服务的主程序包,
服务器必须安装该软件包。
:该包为Samba的客户端工
具,是连接服务器和连接网上邻居的客户端工具并包含其测试工具。
:该包存放的是通用的工
具和库文件,无论是服务器还是客户端都需要安装该软件包。
Samba的安装
建议在安装Samba服务之前,使用rpm -qa命令检测系统是否安装
了Samba相关性软件包:rpm -qa|grep samba
如果系统还没有安装Samba软件包,我们可以使用rpm命令安
装所需软件包。
安装Samba主程序包:rpm -ivh
安装Samba客户端工具:rpm -ivh
安装Samba通用工具和库文件:
所有软件包安装完毕之后,我们可以再次使用rpm命令进行查询:
rpm -qa | grep samba
启动与停止Samba服务
samba服务的启动
service smb start 或 /etc/rc.d/init.d/smb start
samba服务的停止
service smb stop 或 /etc/rc.d/init.d/smb stop
samba服务的重启
service smb restart 或 /etc/rc.d/init.d/smb restart
samba服务配置重新加载
service smb reload 或 /etc/rc.d/init.d/smb reload
注意:Linux服务中,当我们更改配置文件后,一定要记得重启服务,让服
务重新加载配置文件,这样新的配置才可以生效。
自动加载samba服务
我们可以使用chkconfig命令自动加载smb服务:
chkconfig --level 3 smb on #运行级别3自动加载
chkconfig --level 3 smb off #运行级别3不自动加载
Samba的打印共享
默认情况下,samba的打印服务是开放的,所以我们只要把打印
机安装好后客户端的用户就可以使用打印机了。
设置global配置项
修改全局配置,开启打印共享功能
[global]
printcap name = /etc/printcap
load printers = yes
cups options = raw
设置printers配置项
[printers]
comment = All Printers
path =/var/spool/samba
browseable = no
printable = yes
一般使用默认设置就可以让客户端正常使用权打印机了,需要注
意的就是printable一定要设置成yes,path字段定义打印机队
列,可以根据需要自己定制,另外共享打印和共享目录不一样,
安装完打印机后必须重新启动samba服务,否则客户端可能无法
看到共享的打印机。如果对使用打印机设置权限,我们可以使用
valid users、hosts allow或hosts deny字段来实现。


发布评论