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/peer及domain 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)来完成认证。

1.系统环境:

[root@linux-01 ~]# cat /etc/redhat-release

CentOS release 5.5 (Final)

[root@linux-01 ~]# uname -a

Linux linux-01 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:14 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

[root@linux-01 ~]# ifconfig eth0

eth0 Link encap:Ethernet HWaddr 00:0C:29:B3:43:86

inet addr:192.168.1.120 Bcast:255.255.255.255 Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:feb3:4386/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:13054 errors:0 dropped:0 overruns:0 frame:0

TX packets:13432 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:11036410 (10.5 MiB) TX bytes:2629445 (2.5 MiB)

[root@linux-01 ~]# yum -y install samba samba-client samba-swat

2.安装包说明:

samba-common-3.5.10-125.el6.x86_64 //主要提供samba服务器的设置文件与设置文件语法检验程序testparm

samba-client-3.5.10-125.el6.x86_64 //客户端软件,主要提供linux主机作为客户端时,所需要的工具指令集

samba-swat-3.5.10-125.el6.x86_64 //基于https协议的samba服务器web配置界面

samba-3.5.10-125.el6.x86_64 //服务器端软件,主要提供samba服务器的守护程序,共享文档,日志的轮替,开机默认选项

Samba服务器安装完毕,会生成配置文件目录/etc/samba和其它一些samba可执行命令工具,/etc/samba/smb.conf是samba的核心配置文件,/etc/init.d/smb是samba的启动/关闭文件。

3.启动smb服务器:

[root@linux-01 ~]# /etc/init.d/smb start

启动 SMB 服务:[确定]

启动 NMB 服务:[确定]

[root@linux-01 ~]# /etc/init.d/smb status

smbd (pid 4138) 正在运行…

nmbd (pid 4141) 正在运行…

4.设置开机自启动:

[root@linux-01 ~]# chkconfig –add smb

[root@linux-01 ~]# chkconfig –level 345 smb on

[root@linux-01 ~]# chkconfig –list|grep smb

smb 0:关闭 1:关闭 2:关闭 3:启用 4:启用 5:启用 6:关闭

5.samba服务器配置参数详解:

Samba的主配置文件为/etc/samba/smb.conf

主配置文件由两部分构成

Global Settings (55-245行)

  全局设置都是与Samba服务整体运行环境有关的选项,它的设置项目是针对所有共享资源的。

Share Definitions (246-尾行)

  共享设置针对的是共享目录个别的设置,只对当前的共享资源起作用。

1)全局参数:

#==================Global Settings ===================

[global]

config file = /usr/local/samba/lib/smb.conf.%m

我要扼住命运的咽喉。

Samba服务器实战

相关文章:

你感兴趣的文章:

标签云: