Samba 简介

摘要:
Samba身份验证Samba有自己的唯一密码数据库。换句话说,Samba不能使用标准的Unixpasswd哈希来验证Windows加密密码是否正确/Usr/local/Samba/bin包含所有Samba二进制可执行文件。主要的Samba可执行文件称为smbd和nmbd。关于Samba的主要抱怨是smb。conf文件具有相当高的学习曲线。samba进程提供四种基于CIFS的服务:文件和打印服务、授权和授权、名称解析和浏览服务。Samba通过nmb服务启动nmbd进程。默认情况下,进程使用UDP 137端口。SMB SMB Multichannel在启用samba服务的windows服务器中默认启用。

SMB 代表的是服务器消息块 (Server Message Block),它是用于在 Windows 上共享文件的协议的原始名称。 CIFS 代表公共 Internet 文件系统 (Common Internet File System),它是 Microsoft 描述该协议最近一个版本的新字首组合词。

samba认证

 Samba 有它自己独特的口令数据库。为什么它不使用标准 Unix 口令来认证 administrator 用户呢?当 Windows 发送以明文表示的口令时,它 过去 可能这样做,但所有现代版本的 Windows 都以加密形式发送 SMB/CIFS 口令,这样就与标准 Unix 口令散列不兼容了。换句话说,Samba 没有办法使用标准 Unix passwd 散列来验证 Windows 加密的口令是否正确。幸运的是,Samba 提供了许多方法来将这两个数据库同步,这样系统管理员的日子就好过多了。

Linux samba

如果您从原始源码中编译和安装 Samba,可以在 /usr/local/samba/etc/smb.conf 中找到 Samba 的配置文件。但如果您从二进制 RPM 或另一种 Linux 软件包格式安装软件,就很可能在 /etc 中找到 smb.conf。

/usr/local/samba/bin  包含所有 Samba 二进制可执行文件
主要 Samba 可执行文件称为 smbd 和 nmbd。
Smbd 设计为提供 SMB/CIFS 文件共享服务,而 nmbd 通过对 NetBIOS 名利用 IP 地址查找来执行与 WINS 相关的功能。
还有一些其它实用程序,包括 smbclient(一个类似于 ftp 的工具,可用来与 SMB/CIFS 共享连接和交互),以及 testparm(一个方便的实用程序,通过检查来确保 Samba 的主要配置文件的语法正确)。

/usr/local/samba/etc 包含 smb.conf,主要的 Samba 配置文件
Smb.conf 是一个非常重要的文件,包含几乎所有 Samba 的配置选项。
在这个文件中,您可以找到控制全局 Samba 功能的设置,还有启用特定目录树和打印机共享的配置选项。
在获得使用 Samba 的经验的同时,您也将用额外的配置选项(对 Samba 进行微调来适应特定位置)来补充 smb.conf 文件。
对 Samba 最主要的一个抱怨是 smb.conf 文件有相当高的学习曲线。

/usr/local/samba/private  包含 smbpasswd,Samba 的加密口令文件
我在前面提到过 Samba 有自己的口令存储器,它是与标准 Unix passwd 数据库不同的。
在 smbpasswd 文件中, Samba 存储了所有允许访问 Samba 共享的用户和工作站(以及它们相关的口令)。
可以进一步对特定用户和组锁定个别的共享。要修改 smbpasswd 文件,使用名称相同的二进制可执行文件 smbpasswd。


/usr/local/samba/var  包含 Samba 的两个日志文件,log.smb 和 log.nmb
可能您已经猜到,log.smb 是 smbd 的日志文件,而 log.nmb 是 nmbd 的日志文件。


/usr/local/samba/swat  包含用于 SWAT(Samba 的 Web 管理工具)的文件
SWAT 是 Samba Web 管理工具,是灵巧的小 Web 应用程序,可以让管理员远程管理他们的 Samba 网络。

 samba进程

Samba提供了基于CIFS的四个服务:文件和打印服务、授权与被授权、名字解析、浏览服务。前两项服务由smbd提供,后两项服务则由nmbd提供。 简单地说,smbd进程的作用是处理到来的SMB软件包,为使用该软件包的资源与Linux进行协商,nmbd进程使主机(或工作站)能浏览Linux服 务器。

smbd服务进程为客户端提供文件共享与打印机服务。另外,该进程还负责用户权限验证以及锁功能,smbd默认监听的端口是TCP协议的139与445,Samba通过smb服务启动smbd进程,使用netstat -nutlp查看进程端口信息。

nmbd进程提供NetBIOS名称服务,以满足基于Common Internet File System(CIFS)协议的共享访问环境。Samba通过nmb服务启动nmbd进程,该进程默认使用是UDP 137端口。

SMB性能

samba的性能在https://www.samba.org/samba/docs/old/Samba3-Developers-Guide/architecture.html中有这样一句话

The longer versions is that there are very good reasons for not making smbd multi-threaded. Multi-threading would actually make Samba much slower, less scalable, less portable and much less robust. The fact that we use a separate process for each connection is one of Samba's biggest advantages.

多线程会使samba变慢,所以samba为每个连接使用单独的进程。【有点酸哈^_^】

不过samba在[samba3.0]windows8&windows2012的版本中增加了SMB Multichannel功能,如果服务器及客户端之间使用SMB Multichannel功能话,性能还是有提高的。

SMB Multichannel在启用samba服务的windows server默认开启。

windows2012中实现SMB Multichannel必须为不同子网的多张网卡

windows2016时SMB Multichannel可以是相同子网的多张网卡了。

RSS网卡帮助把传输负载均匀分散多个CPU核心上,配合SMB多通道可以发挥最大效果!

SMB Multichannel配合NIC teaming也可以实现高一点的性能。

可参考http://blog.51cto.com/wzde2012/2043510

举例说明:

不同子网的多张网卡:网卡1为192.1268.1.1/24,网卡2为192.1268.2.1/24

相同子网的多张网卡:网卡1为192.1268.1.1/24,网卡2为192.1268.1.2/24

免责声明:文章转载自《Samba 简介》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇移动端触屏滑动事件CVPR2021|一个高效的金字塔切分注意力模块PSA下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【Visual C++】游戏开发笔记十三 游戏输入消息处理(二) 鼠标消息处理

上一节我们讲解了键盘消息处理相关的知识。键盘加鼠标作为目前人机交互方式依旧的主流,在讲完键盘消息处理之后接着讲鼠标消息处理,自然是理所当然的。 这一节主要介绍各种鼠标消息的处理方式以及一些相关函数的运用方法,然后用一个小实例来巩固本节所学。 一,鼠标消息的处理方式 大家都知道,目前市场上主流鼠标规格为两个按键加上一个滚轮。那么,我们先列出Windo...

CentOS 6.3下Samba服务器的安装与配置方法(图文详解)

这篇文章主要介绍了CentOS 6.3下Samba服务器的安装与配置方法(图文详解),需要的朋友可以参考下 一、简介Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB通信协议应用到...

Wpf发送接收 win32消息

#region WPF发送和接收win32消息 public const int WM_GETTEXT = 0x0D; public const int WM_SETTEXT = 0x0C; public const int WM_SIZEING = 0x0214; public const...

chrome性能指标(TTFB,TTSR,TTDC,TTFL)

1.TTFB (Time To First Byte) 是最初的网络请求被发起到从服务器接收到第一个字节这段时间,它包含了 TCP连接时间,发送HTTP请求时间和获得响应消息第一个字节的时间。 注意:网页重定向越多,TTFB越高,所以要减少重定向 TTFB优化的方法有:1.减少DNS查询2.使用CDN3.提早Flush4.添加周期头 2.TTSR(Tim...

biztalk中使用.net class类型的消息(一) 相关知识介绍【转】

一.概述 二.消息的结构 三.消息的类型 1.平面文件 2.Xml文档 3..net class 4.二进制数据 四..net class类型的序列化 五..net class类型的消息 1.类要设置为可序列化 2.类中只包含公共属性和字段 3.设置名称空间 4.设置可分辨字段和升级属性 4.1.设置可分辨字段 4.2.设置升级属性 5.一个.net cl...

rabbitmq队列

使用MQ 以常见的订单系统为例,用户点击【下单】按钮之后的业务逻辑可能包括:扣减库存、生成相应单据、发红包、发短信通知。在业务发展初期这些逻辑可能放在一起同步执行,随着业务的发展订单量增长,需要提升系统服务的性能,这时可以将一些不需要立即生效的操作拆分出来异步执行,比如发放红包、发短信通知等。这种场景下就可以用 MQ ,在下单的主流程(比如扣减库存、生成相...