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 ...
随机推荐
- HDU 3829
http://acm.hdu.edu.cn/showproblem.php?pid=2970 P个小朋友喜欢猫讨厌狗,喜欢狗讨厌猫,移除一定数量的猫狗,使开心的小朋友数量最多 二分图最大独立集=顶点数 ...
- TypeError: HashUpdate fail
关于crypto的md5加密报错: 代码: var crypto = require('crypto'); var md5 = crypto.createHash('md5'); //crypto模块 ...
- 2N7002
就相当于一个开关,当G>S的一定电压就导通,若没有达到就没有导通. 并且注意的是D脚不能直接接电压,中间要接一个电阻. 这用是G输入,S接地,D输出. 跟三极管差不多.分N和P
- 利用WebApplicationInitializer配置SpringMVC取代web.xml
对于Spring MVC的DispatcherServlet配置方式,传统的是基于XML方式的,也就是官方说明的XML-based,如下: <servlet> <servlet-na ...
- hot load那点事
热加载,最初接触的时候是使用create-react-app的时候,创建一个项目出来,修改一点代码,页面自动刷新了,贫道当时就感叹,这是造福开发者的事情. 再后来编写静态页面的时候使用 VS Code ...
- JS Array.filter()方法
1.filter()接收的函数可以有多个参数.通常我们只使用第一个参数,第二参数和第三个参数表示元素的位置和数组本身: //去重 var arr = ["1", "2&q ...
- 不缓存AJAX
最好的办法是:写上这段代码 $.ajaxSetup({cache:false}); 这样页面中,所有的ajax请求,都执行这个,就不必改已经完成的N个接口 最初接受的办法是:在url后面添加当前时间 ...
- java面试笔试题收集
转载过来看看.... J2SE基础 1. 九种基本数据类型的大小,以及他们的封装类. 2. Switch能否用string做参数? 可以 3. equals与==的区别. 4. Object有哪些公用 ...
- FastAdmin selectPage 前端传递查询条件
★夕狱-东莞 2018/2/2 16:19:33 selectpage 怎么在前端传递查询条件,看了下源码,好像有个custom,怎么用来的,比如我要下拉的时候,只显示id=1的数据 Karson-深 ...
- js一种继承机制:用对象冒充继承构造函数的属性,用原型prototype继承对象的方法。
js一种继承机制:用对象冒充继承构造函数的属性,用原型prototype继承对象的方法. function ClassA(sColor) { this.color = sColor; } ClassA ...