Samba 简介
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 简介的更多相关文章
- Samba简介与配置(匿名&本地用户验证)
Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成. 在此之前我们已经了解了NFS,NFS与samba一样,也是在网络中实现文件共享的一种实 ...
- Samba安装配置
Samba简介 Samba官网:http://www.samba.orgSMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不 ...
- Linux 学习笔记_12_Windows与Linux文件共享服务_1.1_--Samba(上)
Samba简介:在UNIX系统中,Samba是通过服务器消息块协议(SMB)在网络上的计算机之间,共享文件和打印服务的软件包. SMB简介:Server Message Block,SMB协议是一种服 ...
- samba 基本配置及自定义控制
Samba简介: Samba实现的是Linux和Windows之间的一种共享,为两种不同的操作系统架起了一座桥梁,使Linux系统和Windows系统之间能够实现互相通信,共享文件系统.打印机及其他资 ...
- linux中Samba服务器的配置
Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件 ...
- Linux----------samba服务的安装使用及简介
一.Samba简介 Samba是在linux和Unix系统上实现SMB协议的一个免费软件,由服务器端和客户端程序组成. Samba与nfs的不同,Samba比nfs多支持Windows SMB ( ...
- CentOS 7下Samba服务安装与配置详解
1. Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共 ...
- centos7下安装samba服务器
samba笔记: http://services.linuxpanda.tech/%E7%BD%91%E7%BB%9C%E6%96%87%E4%BB%B6%E5%85%B1%E4%BA%AB/samb ...
- 5、SAMBA服务一:参数详解
①:SAMBA服务一:参数详解 ②:SAMBA服务二:配置实例 一.SAMBA简介 samba指SMB(Server Message Block,服务器信息块)协议在网络上的计算机之间远程共享Linu ...
随机推荐
- OC基础:类和对象 分类: ios学习 OC 2015-06-12 18:55 17人阅读 评论(0) 收藏
OC:Objective-c 面向对象的c语言,简称obj-c或者OC OC和C的区别 1.OC是C语言的超集,OC是在C语言的基础上结合smalltalk的优点,开发出来的语言.oc兼容所有 ...
- LeetCode刷题记录(python3)
由于之前对算法题接触不多,因此暂时只做easy和medium难度的题. 看完了<算法(第四版)>后重新开始刷LeetCode了,这次决定按topic来刷题,有一个大致的方向.有些题不止包含 ...
- Qemu编译qemu-system-arm
/********************************************************************************* * Qemu编译qemu-syst ...
- Linux命令行操作进程
参见 12个进程管理命令介绍 Linux如何查看进程.杀死进程.启动进程等常用命令
- Loj 2536 解锁屏幕
Loj 2536 解锁屏幕 状态比较显然的状压 \(dp\) ,设 \(f[S][i]\) 表示连接 \(S\) 集合中的点,最后到的点是 \(i\) 的方案数. 转移时,枚举一个 \(j\notin ...
- ElasticSearch(十):springboot集成ElasticSearch集群完成数据的增,删,改
前言 之前介绍了使用devTools进行索引库数据的crud,这里使用的是java程序,使用中间件activeMQ进行数据库和索引库数据的同步.主要是用来完成对数据库的修改来完成对索引库的同步. 正文 ...
- 【java规则引擎】《Drools7.0.0.Final规则引擎教程》第4章 4.2 activation-group& dialect& date-effective
转载至:https://blog.csdn.net/wo541075754/article/details/75511887 activation-group 该属性将若干个规则划分成一个组,统一命名 ...
- 【spring源码分析】spring AspectJ的Execution表达式
在使用spring框架配置AOP的时候,不管是通过XML配置文件还是注解的方式都需要定义pointcut"切入点" 例如定义切入点表达式 execution (* com.sam ...
- (精)字符串,map -> json对象->map(初学者必读)
import java.util.LinkedList; import java.util.*; import java.util.ListIterator; import net.sf.json.J ...
- Linux部署禅道Steps&Q&A
1.查看Linux的位数: getconf LONG_BIT 结果:32/64 2. 禅道开源版安装包下载 Linux 64位 下载站点1: http://sourceforge.net/projec ...