samba后台进程及安全模式简介
识别 Samba 后台程序
Linux 服务器通常作为守护程序(daemon) 来实现,这一词源于希腊神话,其中守护神(daemon)是超自然生物。Linux 守护程序在后台运行以便执行一些有用的任务。Samba 服务器套件由几个守护程序组成,包括 smbd、nmbd 和 winbindd。swat 程序是另外一个 Samba 服务器,但是其通常都是从一个超级服务器运行,因此在技术上不是守护程序。
了解 smbd
smbd 程序提供 Samba 的大部分核心功能。其职责包括:
提供文件和打印机共享。此功能可以说是一个最重要的 Samba 职责,smbd 执行此功能。
验证用户。smbd 针对本地数据库验证用户或传递验证请求到另一台计算机。如果您的 Samba 服务器被配置为域控制器,则 smbd 还可从其他计算机响应验证请求。(在 设置您的安全模式 中将描述工作组和域配置)。
提供时间服务。Samba 可以告诉其他计算机当前的时间;smbd 可处理此细节。
默认情况下,smbd 守护程序绑定到 TCP 端口 139 和 445。SMB 协议通过 TCP 上的 NetBIOS 使用端口 139,它是许多旧客户端使用 SMB/CIFS 的方式。端口 445 在 TCP 服务上提供简单的 SMB,它是访问 Samba 服务器的新客户端数。
由于这些职责的关键性质(尤其是,提供文件和打印机共享及验证),smbd 可视为是 Samba 的核心。实际上,可以使用诸如 Samba 自己的 smbclient 等的程序连接到单独运行 smbd 的计算机以便执行文件传输。然而一些客户端依靠其他 Samba 守护程序提供的服务。
了解 nmbd
第二个关键的 Samba 守护程序是 nmbd。此服务器的主要职责是处理名称相关的任务。您可以将其视为 Samba 自己版本的域名系统(DNS),只是它更易于配置且远没有 DNS 复杂。nmbd 执行的特定任务包括:
对名称广播进行响应。在操作的一个通用模式中,客户端将名称查询广播到整个网络段。nmbd 服务器监听此类广播,并且在 Samba 配置为使用正在查询的名称时,该服务器将进行响应。在将其配置为另一计算机或网络的代理时,它也会响应。
注册 NetBIOS 名称。为使 NetBIOS 名称解析正常进行,计算机必须注册其名称,通过集中的 NetBIOS 名称服务器(NBNS;又名 Windows Internet 名称服务(Windows Internet Name Service [WINS]) 服务器)或通过广播名称并作为整体与网络协商其权利。nmbd 负责执行此操作并与其他注册名称的计算机进行协商。
作为 NBNS 服务器运作。Samba 可被配置为 NBNS 系统,在这种情况下,nmbd 可处理这些职责。
作为主浏览器运行。用户体验 SMB/CIFS 网络的一部分是浏览— 浏览网络上的服务器的能力就像您浏览硬盘上的目录。此功能依赖于主浏览器 的存在,它收集并传播浏览列表。在 Samba 作为主浏览器运行时,它是从事此项工作的 nmbd。
正如此列表所示,nmbd 执行很多工作。虽然它们不涉及提供文件或打印机,但是许多任务都是任何 SMB/CIFS 服务器的重要部分,因此 nmbd 应被认为是 Samba 的重要部分。它通常通过分布的启动脚本与 smbd 一起运行。
虽然大多数 nmbd 的功能都需要将其绑定到 TCP 端口 137,但是主浏览器职责涉及用户数据报协议(User Datagram Protocol)端口 138。
了解 winbindd
第三个 Samba 守护程序是 Winbind 守护程序,即 winbindd。不同于 smbd 和 nmbd,winbindd 不为远程计算机提供服务;相反,它作为 Windows®(或 Samba)域控制器与本地计算机自己的可插拔验证模块(Pluggable Authentication Modules)工具之间的接口,允许域控制器来托管 Linux 帐户信息。
在许多分布上,winbindd 被安装在与 Samba 的其余分布不同的包中 — 通常在称为 winbind 或 winbindd 的包中。它还通常被分别发布。原则上,您可以在不运行 Samba 服务器或或甚至用作 SMB/CIFS 客户端的计算机上运行 winbindd,除了 winbindd 是 SMB/CIFS 客户端之外。不过,在实践中,如果其正在运行 winbindd,那么您可能运行 Samba 服务器或使用 Linux 计算机作为 SMB/CIFS 客户端。
设置您的安全模式
Samba 提供一些关于如何验证用户的选项。最重要的是 security 选项,它取五种可能的值:
Share。此安全模式尝试模拟 Microsoft® Windows 9x/Windows Me 操作系统使用的验证方法,其中忽略用户名且密码与共享关联在一起。要做到这一点,Samba 尝试将客户端提供的密码用于各种用户名。
User。此安全模式是默认的,它使用用户名和密码进行验证,这类似于 Linux 通常工作的方式。在现在系统的大多数情况下,密码存储于仅 Samba 加密的密码数据库中。
Server。如果您想要 Samba 遵从另一个服务器进行验证,请使用此验证方法。对于客户端,虽然此方法看上去像用户级验证,但是 Samba 联系通过 password server 参数指定的服务器来进行实际的验证。
Domain。使用此方法,您可以完全加入 Windows 域,其看上去像针对客户端的用户级验证。与服务器级别验证不同,域验证涉及更安全的域级别密码交换。同时,完全加入域需要在 Samba 系统上或也可能在域控制器上运行额外的命令。
ADS。此验证方法工作非常像域验证;然而,其需要 Active Directory® Domain Services 域控制器。
作为一般规则,如果您的 Samba 服务器是 Windows 工作组(它是 SMB/CIFS 网络的基本形式)的成员,那么用户级验证是最佳的选择。工作组不同于域,主要是因为域提供域控制器,它是为域提供验证服务的服务器。要使用域控制器,您必须使用服务器级别、域级别或 ADS 级别 security。服务器级别安全是最简单的配置但最不安全,而 ADS 级别安全最难于配置但最安全。
要完全加入域以获得域级别或 ADS 级别安全的,您必须在 smb.conf 文件的 [global] 部分中设置几个选项:
password server = DOMCONT
domain logons = No
encrypt passwords = Yes
DOMCONT 系统是域控制器。您还必须在应该加入域的 Samba 服务器上键入以下命令:
# net join member -U adminuser
您还可能需要配置域控制器以便接受 Samba 服务器到域中。
共享级别安全已经过时;它的存在主要是为了为旧的无法理解用户名的客户端提供兼容性。它对于一些您可能想提供最少安全的共享类型(如打印机共享)也是有用的。因为 Linux 需要帐户用于所有访问,所以 Samba 尝试针对一系列帐户而提供的密码直到获得一个匹配或它们都失败。这些帐户包括:
访客帐户(通过 guest account 参数设置),如果 guest only = Yes
客户端提供的用户名(不是所有客户端都提供一个,而是只有一些客户端这样做)
用于客户端计算机的最后访问的用户名
被访问的共享名称
客户端的 NetBIOS 名
通过 username 参数指定的任何用户名
samba后台进程及安全模式简介的更多相关文章
- samba Doc
Samba-HOWTO-Collection中文翻译版(2.20) 2013年08月23日 ⁄ 综合 ⁄ 共 19460字 ⁄ 字号 小 中 大 ⁄ 评论关闭 Samba计划文档 (初稿) Samba ...
- VM中 Ubuntu14.04 中Samba的安装配置和使用
以前都是在Redhat 上搭建samba,现在改成在ubuntu12.04 上搭建发现 sudo /etc/init.d/samba restart 始终不行,原来,现在ubuntu下,启动服务要用 ...
- samba服务器安装测试
samba服务器安装 1.简介 作用:samba文件服务器允许通过网络跨步同的操作系统进行文件共享. 2.安装samba服务器 $ sudo apt-get update $ sudo apt-get ...
- 实验二 Samba服务器配置
实验二 实 验 基 本 信 息 实验名称:Samba服务器配置 实验时间: 年 月 日 实验地点: 实验目的: 了解Samba环境及协议 掌握Samba的工作原理 掌握主配置文件Samba.co ...
- linux学习笔记全-如何学习linux?
简介 今天整理文件整理出了好多年前学习linux的笔记 就整理下发布在博客上怕文件形式会误删. linux入门基础对于新手而言不推荐看书!!不推荐看书!!(大牛跳过)先看视频看linuxcast的视频 ...
- Samba简介与配置(匿名&本地用户验证)
Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成. 在此之前我们已经了解了NFS,NFS与samba一样,也是在网络中实现文件共享的一种实 ...
- samba服务简介
1.1 Samba 概述Samba主要用于Windows和Linux之间的文件共享,也一样用于Linux和Linux之间的共享文件:不过对于Linux和Linux之间共享文件有更好的网络文件系统NFS ...
- Samba 简介
SMB 代表的是服务器消息块 (Server Message Block),它是用于在 Windows 上共享文件的协议的原始名称. CIFS 代表公共 Internet 文件系统 (Common I ...
- ubuntu samba 配置简介
Ubuntu 11.04下虚拟机Samba的共享配置详细步骤 一. Ubuntu 11.04下Samba的安装: $ sudo apt-get insall samba ...
随机推荐
- SUN-LDAP6.3_RHEL 5.0-卸载LDAP
卸载LDAP 1.注销服务器 到目录/ldap/ldapinstance/dscc6/bin下 # ./dsccreg remove-server -h 主机名 /ldap/ldapinstance/ ...
- JAVA内存区域和GC机制
目录 Java垃圾回收概况 Java内存区域 Java对象的访问方式 Java内存分配机制 Java GC机制 垃圾收集器 Java垃圾回收概况 Java GC(Garbage Collection, ...
- SearchBox( 搜索框) 组件
一. 加载方式//class 加载方式<input id="ss" class="easyui-searchbox" style="width: ...
- mvc自带的异步表单提交
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- C# List<T>转为 DataTable
// remove "this" if not on C# 3.0 / .NET 3.5 public static System.Data.DataTable ConvertTo ...
- Polyline对象 - (及其他对象的关系)
Polyline对象是由一个或多个相连或者不相连的path对象的有序集合,通常用来代表线状地物如道路,河流,管线等等.
- 第一个Delphi小程序
第一次应工作需呀,接触这个语言,今晚在自己的电脑搭建好环境,写的第一个超简单的Delphi小程序! var temp:Integer; //求个位数 procedure TForm1.BitBtn1C ...
- eclipse 插件 最新 eclipse4.x 插件
Properties Editor: 中文显示属性配置文件 help ——> install new SoftWare ——>add Name: xx Location: http: ...
- ORACLE中将数字转换为英文
SELECT LEVEL, to_char(to_date(LEVEL,'J'),'Jsp') FROM dual CONNECT 运行结果如下图所示: 说明: TO_CHAR(aDate,'JS ...
- C/C++中的浮点数运算
代码: #include <iostream> #include <cstdio> #include <cfloat> using namespace std; i ...