千家信息网

samba工作机制

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,Samba协议基础在NetBIOS出现之后,Microsoft就使用NetBIOS实现了一个网络文件/打印服务系统,这个系统基于NetBIOS设定了一套文件共享协议,Microsoft称之为SMB(S
千家信息网最后更新 2025年02月02日samba工作机制

Samba协议基础

在NetBIOS出现之后,Microsoft就使用NetBIOS实现了一个网络文件/打印服务系统,这个系统基于NetBIOS设定了一套文件共享协议,Microsoft称之为SMB(ServerMessage Block)协议。这个协议被Microsoft用于它们Lan Manager和WindowsNT服务器系统中,实现不同计算机之间共享打印机、串行口和通讯抽象(如命名管道、邮件插槽等)。

随着Internet的流行,Microsoft希望将这个协议扩展到Internet上去,成为Internet上计算机之间相互共享数据的一种标准。因此它将原有的几乎没有多少技术文档的SMB协议进行整理,重新命名为 CIFS(Common InternetFile System),并打算将它与NetBIOS相脱离,试图使它成为Internet上的一个标准协议。

因此,为了让Windows和Unix计算机相集成,最好的办法即是在Unix计算机中安装支持SMB/CIFS协议的软件,这样Windows客户就不需要更改设置,就能如同使用WindowsNT服务器一样,使用Unix计算机上的资源了。Samba是用来实现SMB的一种软件,它的工作原理是,让NETBIOS(Windows95网络邻居的通讯协议)和SMB(ServerMessage Block)这两个协议运行于TCP/IP通信协议之上,并且使用Windows的NETBEUI协议让Unix计算机可以在网络邻居上被Windows计算机看到。

Samba的工作原理

SAMBA主要提供的是SMB/CIFS或者NETBIOS协议的。

所以只要使用了SAMBA,就能实现让Linux出现在Windows的网上邻居里,或者,让Windows的文件共享在Linux上--

一旦在linux上安装之后,有两个主要进程:

1.nmbd :提供NETBIOS名称解析的

2.smdb : 提供文件共享的。

而由于NETBIOS协议对于windows来讲监听TCP的139端口和UDP的137,138端口,所以nmbd在linux上模拟出了udp的137和138端口,以及tcp的139端口,smdb上模拟出tcp的445端口。而SAMBA将在Linux上同时监听这4个端口。

Samba的安装与配置

1、安装

yum install samba

安装完成后配置文件是放在/etc/samba/smb.conf

安装完成后查看samba的包

yum list all | grep ^samba

samba-client.x86_64 3.6.23-43.el6_9 @updates

samba-common.x86_64 3.6.23-43.el6_9 @updates

这两个是作为客户端使用的

samba.x86_64 3.6.23-43.el6_9 @updates

这个是作为服务端使用

samba-swat-3.5.10-125.el6.x86_64 //基于https协议的samba服务器web配置界面

2、配置

配置文件主要有4个部分

1、全局配置【global

2、家目录 homes

3、独立的共享printer

4、自定义

第一段分析【golbal】

Workgroup = MYGROUP 定义工作组

Server string = Samba Server Version %v

用于当你打开网上邻居时显示的注释信息

netbios name = xxx 显示在终端的名字

interfaces = lo eth0 192.168.12.2/24192.168.13.2/24

hosts allow = 127. 192.168.12. 192.168.13.

定义访问控制列表

Security = user

这一项很重要是用来定义SAMBA的服务安全级别,安全级别主要有4

1share:允许任何匿名用户访问

2user:默认、每一个用户访问时都需要提供账号密码

3domain/server:

通常意味着用户的账号密码在认证时时通过第三方集中

认证,而不是通过系统来认证,比如有专门的认证服务

器(ad域、nis等)

如果samba服务器加入windows域环境中,验证工作服将由windows域控制器负责,domain级别的samba服务器只是成为域的成员客户端,并不具备服务器的特性,samba早期的版本就是使用此级别登录windows域。

4ads:通过主域控器来认证

passdb backend = tdbsam 所有的samba用户认证方式

load printers = yes 是否去尝试加载打印机

cups options = raw 通用打印系统,指定打印方式

当samba服务器使用ads安全级别加入到windows域环境中,其就具备了domain安全级别模式中所有的功能并可以具备域控制器的功能。

第二段分析【homes

comment = Homedirectories 注释信息

browseable = no

浏览,如果这个用户不是这个目录的属主,是否可以看到这个目录

no表示只有属主才能看到

writable = yes 是否可以新建文件夹,yes为可以no为不可以

第三段分析【printers

comment = All printers

path = /var/spool/samba 打印池

browseable = no

guest ok = no 打印机是否公开

wirtable = no

printable = yes

第四段自定义分析【tools】中括号里的表示共享名

comment = mytools 注释

path = /share 共享目录的路径

browseable =yes 是否可浏览

guest ok =yes 是否允许来宾账号

writable = yes 是否可写

write list = xxx 定义一个列表决定用户/或组是否可写,定义组的时候

,需要用@组名


0