开发者社区> 技术小胖子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Samba服务介绍

简介:
+关注继续查看
文中有不对或者有不清楚的地方,请大家告诉我,谢谢!
 
Samba服务介绍
 
1. Samba 概述
Samba是一套使用SMB(Server Message Block)协议的应用程序, 通过支持这个协议, Samba允许Linux服务器与Windows系统之间进行通信,使跨平台的互访成为可能。Samba采用C/S模式, 其工作机制是让NetBIOS( Windows 网上邻居的通信协议)和SMB两个协议运行于TCP/IP通信协议之上,并且用NetBEUI协议让Windows在“网上邻居”中能浏览Linux服务器。
 
Samba服务器包括两个后台应用程序: Smbd 和 Nmbd。Smbd 是Samba的核心, 主要负责建立 Linux Samba服务器与Samba客户机之间的对话, 验证用户身份并提供对文件和打印系统的访问; Nmbd主要负责对外发布Linux Samba服务器可以提供的NetBIOS名称和浏览服务,使Windows用户可以在“网上邻居”中浏览Linux Samba服务器中共享的资源。另外Samba还包括一些管理工具, 如 smb-client, smbmount, testparm, Smbpasswd 等程序。
 
Samba服务器可实现如下功能:WINS和DNS服务; 网络浏览服务; Linux和Windows域之间的认证和授权; UNICODE字符集和域名映射;满足CIFS协议的UNIX共享等。
 
2. Samba的主要应用
SAMBA的主要目的就是用来沟通Windows与Unix这两种不同的作业平台。
主要应用:
共享档案与打印机服务;
提供身份认证;
提供Windows网络上的主机名称解析(NetBIOS name)。
 
3. NetBIOS通讯协议
SAMBA是架构在NetBIOS(Network Basic Input/Output System,NetBIOS)这个通讯协议上的。
NetBIOS是一个让同一局域网络内计算机进行网络连结的一个通讯协议。因此,它是无法跨路由的 (Router/Gateway)。
NetBIOS over TCP/IP是将NetBIOS协议封装在TCP/IP中,这样NetBIOS就可以跨路由传输了。
 
4. Samba的两个进程
SAMBA主机使用两个进程来管理两个不同的服务:
smbd用来处理文件和打印服务请求。
nmbd用来处理NetBIOS名称服务请求和网络浏览功能。
当我们启动了SAMBA之后,主机系统就会启动137,138,139这三个port,并且同时会有TCP/UDP的监听服务。
 
5. 两种联机模式
两种最常见的局域网联机模式:peer/peerdomain model
peer/peer局域网内各PC机之间独立运行,适用于小型网络。
domain model局域网内各PC机统一通过PDC主机认证(LDAP),以获取适当的权限,适用于大中型网络。
 
6. Samba的几个主要配置文件(/etc/samba)
smb.conf最主要的配置文件,分为[global]和[Share Definitions]两个部分。
lmhosts对应NetBIOS Name与该主机的IP,一般Samba在启动时就能捕捉到LAN中相关计算机NetBIOS Name对应的IP,因此,这个配置文件一般不用设置。
smbpasswd这个文件默认不存在,它是Samba预设的使用者密码对应表。
 
7. Samba的几个主要命令
smbpasswd用来设置Samba用户的帐号和密码。
smbclient用来查看别的Linux主机的共享。也可以在自己的Samba主机上使用,用来查看设置是否成功。
smbmount用来将Samba服务器共享的文档和目录挂载到自己的Linux主机上。
testparm用来检查smb.conf是否有错误。
 
8. smb.conf的几个常用变量
①客户端变量
-----------------------------------------------------------------------------
%a | 客户端的体系结构(例如Samba,NT,Win98,或者Unknown)
%I | 客户端的IP地址(例如:192.168.220.100)
%m | 客户端的NetBios名
%M | 客户端的DNS名
------------------------------------------------------------------------------
②用户变量
------------------------------------------------------------------------------
%g | %u的基本组
%G | %U的基本组
%H | %u的Home目录
%u | 当前的unix用户名
%U | 被请求的客户端用户名(不总是被samba使用)
------------------------------------------------------------------------------
③共享变量
------------------------------------------------------------------------------
%p | 如果和%p不同,automounter的路径对应共享的根目录
%P | 当前共享的根目录
%S | 但前共享的名称
-------------------------------------------------------------------------------
④服务器变量
-------------------------------------------------------------------------------
%d | 当前服务器进程的ID
%h | Samba服务器的DNS主机名
%L | Samba服务器的netbios名
%N | Home目录服务器,来自automount的映射
%v | samba版本
-------------------------------------------------------------------------------
⑤其他变量
-------------------------------------------------------------------------------
%R | 经过协商的SMB协议
%T | 当前的日期和时间
 
9. 四种安全等级
①security=share:用户访问Samba服务器不需要提供用户名和口令, 安全性能较低。
②security=user:Samba服务器默认的安全等级, 每一个共享目录只能被一定的用户访问, 并由Samba服务器负责检查账号和密码的正确性。
③security=server:服务器安全级别,依靠其他Windows NT/2000或Samba服务器来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。
④security=domain:域安全级别,使用主域控制器(PDC)来完成认证。
 
     本文转自yuanbin0710 51CTO博客,原文链接:http://blog.51cto.com/yuanbin/110323,如需转载请自行联系原作者






版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
理解 Serverless:构建全服务应用程序的技巧和资源
  本文要点   Serverless 不仅仅是功能即服务(FaaS)。不要担心供应商锁定;接受供应商通过事件集成来提供的功能。开源工具有助于简化复杂应用程序的构建。使用基础设施即代码(Infrastructure as Code,IaC)的解决方案(如 CloudFormation)来定义 Serverless 应用程序并简化 DevOps。强大的监控解决方案可以通过精确的成本管理和评估工具提供函数和集成性能的可视化。   尽管在过去几年中, Serverless 技术已经得到了迅速普及,但是对于 Serverless 解决方案仍然存在许多误解和担忧。供应商锁定、工具、成本管理、冷启动、
63 0
ssh服务介绍
基本介绍 ssh:安全的远程登陆 要有客户端与服务器端,客户端主动链接服务端,那么服务端地址是不能变的。 socket:套接字 标识应用唯一的地址 tcp/udp port端口号 cat /etc/service查看所有的端口号 备注:通过IP找到了这台机器,通过端口号找到相对应的应用程...
1194 0
21114
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载