📄 samba
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0055)http://202.102.240.81/bjlc/linuxworld/samba-intro.shtml -->
<HTML><HEAD><TITLE>Samba 介绍</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META content="MSHTML 5.00.2920.0" name=GENERATOR></HEAD>
<BODY aLink=#ffffff background="Samba 介绍.files/up.jpg" link=#008080
vLink=#008080>
<DIV align=center>
<CENTER>
<TABLE border=0 width="93%">
<TBODY>
<TR>
<TD width="100%">
<P align=center><IMG alt=BJLC height=67 src="Samba 介绍.files/clubw.jpg"
width=162></P>
<P align=center><IMG alt="Software Evaluation" height=33
src="Samba 介绍.files/title.jpg" width=440></P>
<P align=center><BIG><BIG><BIG><FONT color=#008080
face=楷体_GB2312>软件评测</FONT></BIG></BIG></BIG></P><I><B><FONT size=5>
<P align=center></FONT><FONT face=宋体 size=6>Samba 介绍</FONT><FONT
size=5></P></FONT></B></I><FONT size=3>
<P>编译:<A href="mailto:chixu@126.com"><FONT face=隶书
size=5>许驰</FONT></A><FONT size=4>[BJLC]</FONT></P>
<P align=justify><FONT
face=宋体>网络出现的全部意义便在于使计算机更容易的实现信息共享。一台linux主机若要同其它linux主机或是unix主机实现信息共享,有很多方便的、成熟的工具如FTP或NFS等等。但是,即使是再狂热的linux的支持者也要承认,在世界上大多数pc机上运行的是windows家族的一种。除非你多数情况下要在一个相对封闭的环境中使用linux,否则你必须以某种方式与运行windows系列的pc共享信息。如果你不打算使用软盘同那些运行windows系列的pc交换信息,那麽你所需要的工具便是—samba.</FONT></P>
<P align=justify><FONT face=宋体>Samba是一组程序,可以使你的linux具备理解SMB协议(server
message block)的能力。SMB协议是一种在os/2、windowsNT、windows95和windows for
workgroups等windows 系列中广泛使用的协议,该协议主要用来实现文件和打印机共享。该协议可以类比于NFS(network file
system)、lpd(标准的unix打印机服务进程)
和分布式认证系统如NIS或Kerberos的组合体。如果你对Netatalk比较熟悉,samba之于windows如同Netatalk之于Macintosh.当运行samba服务器应用时,你的linux将会出现在“Network
Neighborhood”(网络邻居)中如同其它windows机器一样。Windows用户可以”login
into”(登录)至你的linux机器并且以你赋与他们的权限与unix文件系统进行双向的交流,还可以向linux打印机提交作业,甚至向你的linux发送winpopup消息。若你在一个大部分都是由windowsNT和windows95组成的网络环境中使用linux,那麽samba将会是一个无价之宝。</FONT></P>
<P align=center></FONT><FONT face=宋体 size=3><IMG height=314
src="Samba 介绍.files/Image1.gif" width=432></FONT><FONT size=3></P>
<P align=center><FONT face=宋体 size=2>图1. “Network
Neighborhood”(网络邻居)中显示samba服务器</FONT></P>
<P align=justify> </P>
<P align=justify><FONT
face=宋体>Samba还可以完成一些通常需要windowsNT服务器来做的工作,如做WINS服务器或为windows95客户机提供“network
logons”
服务。源自samba的PAM模块可以使你用windowsNT来进行unix登录身份验证。一个正在开展的samba项目力图在samba中嵌入windowsNT的域控制器协议并使它成为samba的一部分。这些代码尽管还在试验阶段,但已经可以成功的处理来自windowsNT
workstation的登录请求。不久以后,samba可以全方位的作为主域控制器(PDC),储存用户登录信息并同其它的windowsNT域建立信任关系。最重要的是,samba同linux一样遵循GPL版权声明。在许多环境下,只要求windowsNT服务器提供文件服务、打印服务和经行windows95客户机的访问控制。Linux和samba组合提供了一套高性/价比的实现这种典型应用的解决方案。</FONT></P>
<P align=justify><I><B> </P>
<P align=justify><FONT face=宋体>Windows网络</FONT></B></I></P>
<P align=justify><FONT
face=宋体>如果你对windows网络有所了解,那将有助于你对samba工作机制的理解。Windows客户机通过在NetBIOS协议上传送“server
message
block”来实现文件和打印机共享。NetBIOS协议最早是由IBM发展起来的一套用于支持在MS-DOS和PC-DOS上运行网络应用的网络界面。它定义了一组网络服务和访问这些网络服务的界面,但是并没有规定了支持NetBIOS的底层协议。</FONT></P>
<P align=justify><FONT
face=宋体>伴随着NetBIOS,出现了三个变种。这三个变种主要区别在传输层协议的不同。最早出现的是NetBEUI(NetBIOS
Extended User
Interface),其传输层协议是为单段网设计的。Novell开发IPX协议上的NetBIOS也很流行。而samba使用TCP/IP做为传输层协议有很多优点。</FONT></P>
<P align=justify><FONT
face=宋体>由于TCP/IP已被广泛的植入很多系统,所以samba可以方便的移植到很多系统如:各种unix的衍生系统、os/2、</FONT></P>
<P align=justify> </P>
<P align=justify><FONT
face=宋体>VMS、AmigaOS、apple的Rhapsody(或是NextSTEP)和大型机如CMS等等。Samba还应用于各种嵌入式系统如stand-alone
打印机或是Whistle’s InterJet Internet
applicance。应用TCP/IP意味着samba可以很好的同TCP/IP网络如Internet协作。正因为这些,Mircosoft重新命名应用TCP/IP协议的
SMB和NetBIOS为CIFS(Common Internet
Filesystem)。Mircosoft正执力于使CIFS作为文件传输的国际标准。</FONT></FONT><FONT size=2></P>
<P align=center><FONT face=宋体><IMG height=359
src="Samba 介绍.files/Image2.gif" width=433></FONT></FONT><FONT size=3></P>
<P align=center></FONT><FONT face=宋体
size=3>图2.SMB的网络层次之于OSI网络层次</FONT><FONT size=3></P>
<P align=justify><I><B> </P>
<P align=justify><FONT face=宋体>Samba组成</FONT></B></I></P>
<P align=justify><FONT
face=宋体>一个samba服务器实际上包含了两个服务器程序:smbd和nmbd。Smbd是samba的核心。它负责建立对话进程、验证用户身份、提供对文件系统和打印机的访问机制。Nmbd
实现了“network
brower”(网络浏览服务器)的功能。它的作用是对外发布samba服务器可以提供的服务。Nmbd可以使samba服务器出现在windows95或windowsNT的“Network
Neighborhood”(网络邻居)中并且可以客户机浏览到可以访问的资源。完全可以不运行nmbd而起动samba服务器进程,但是也许客户除了想看到samba服务器的NetBIOS名外,还想看到samba服务器可以提供的服务。Nmbd嵌入了microsoft的network
brower protocol(网络浏览服务器协议),这意味着它可以使samba服务器参与网络浏览服务器选择竞争(有时叫“brower
wars”),并可以作为一台主或备份的浏览服务器。Nmbd 也可以作为一台WINS(Windows Internet Name
Service)服务器, WINS服务器可以使你跨TCP/IP网段浏览主机。</FONT></P>
<P align=justify><FONT face=宋体>Samba还包含了一些实用工具。Smbclient
是一个SMB客户工具,有shell-based用户界面并同FTP有些类似。应用它可以使你复制从/至其它的SMB服务器,还可以使你访问其它SMB服务器提供的打印机资源或发送winpopup消息。对于linux用户,samba还提供了一个SMB文件系统可以使你直接安装一个共享的windows文件目录至你的linux文件系统下。Smtar
是一个shell脚本可以使你方便的对远程的windows文件系统作备份。</FONT></P>
<P align=justify><FONT
face=宋体>Testparm命令用来快速检查你的smb.conf文件的语法错误。其它工具用来配置samba的加密口令文件、配置用于samba国际化的字符集和侦错。</FONT></P>
<P align=justify><I><B> </P>
<P align=justify><FONT face=宋体>Samba配置</FONT></B></I></P>
<P align=justify><FONT
face=宋体>在samba-1.9.18之前若要使用加密口令验证的话,你必须自己手工编译samba。这是由于samba使用DES加密库实现加密功能。该加密库属美国政府的技术分类受限品。带加密功能的samba二进制版本属美国政府的限制出口级软件,这使得samba的镜相站点也必免发布带加密功能的samba二进制版本。从samba-1.9.18开始,samba使用了一个不触犯出口限制的、修改过的DES算法。那麽除非你想测试最新版本或加入一些非标准的功能,你是没有必要自己手工编译samba。</FONT></P>
<P align=justify><FONT
face=宋体>由于SMB是一个非常复杂的协议,所以配置samba是十分繁复的,大约有超过170条配置项出现在smb.conf文件中。在RedHat和Debian中Smb.conf文件缺省位置是在/etc/下,所有的samba程序都要参照这个配置文件。其结构十分类似windows的*.ini文件。文件中的每一节都由一个被方括号括起来的标识开始,例如:[global]、[home]和[printers]。</FONT></P>
<P align=justify><FONT
face=宋体>每一个配置参数或是一个全局参数(影响或控制整个服务器),或是一个服务参数(影响或控制服务器提供的某项服务)。[global]节设置全局选项和一些缺省的服务选项。[home]节是用来动态的映射到每个用户的home目录下。[printers]节用来设置将按照系统printcap文件配置的打印机共享至指定用户。</FONT></P>
<P align=justify> </P>
<P align=justify><FONT face=宋体>一个简单的smb.conf</FONT></P>
<P align=justify><FONT face=宋体>下面的smb.conf描绘了一个简单的但能工作的配置:</FONT></P>
<P align=justify><FONT face=宋体>[global]</FONT></P>
<P align=justify><FONT face=宋体>netbios name = FRODO</FONT></P>
<P align=justify><FONT face=宋体>workgroup = UAB-TUCC</FONT></P>
<P align=justify><FONT face=宋体>server string = John Blair's Linux
Box</FONT></P>
<P align=justify><FONT face=宋体>security = user</FONT></P>
<P align=justify><FONT face=宋体>printing = lprng</FONT></P>
<P align=justify> </P>
<P align=justify><FONT face=宋体>[homes]</FONT></P>
<P align=justify><FONT face=宋体>comment = Home Directory</FONT></P>
<P align=justify><FONT face=宋体>browseable = no</FONT></P>
<P align=justify><FONT face=宋体>read only = no</FONT></P>
<P align=justify><FONT
face=宋体>在[global]节中设置了主机的netbios名,主机所在的工作组的组名和将在browse list
出现的提示字串。安全参数提示samba使用“user level”(用户级)
安全级别。SMB有两种安全级别:share(共享级,对每个特定的资源使用口令保护和指定每个用户有各自不同的访问权限)和user
level(用户级)。不过在大多数情况下,你使用的是用户级安全级别。</FONT></P>
<P align=justify><FONT
face=宋体>由于没有指定特殊的加密方式,samba缺省使用标准的unix口令字验证方式既plaintext口令字验证方式验证每个连接。若你的linux使用PAM模块,那麽你必须修改PAM配置使samba可以通过口令字数据库验证口令字。RadHat自动进行这些处理。</FONT></P>
<P align=justify><FONT face=宋体>[homes]节中的设置用来控制每个用户home目录的共享情况。Comment
parameter(注解参数)是在browse list 中标示该条目的字串。 browseable参数控制是否该项服务出现在browse list
中。</FONT></P>
<P align=justify><FONT face=宋体>下列的配置使每个可以登录至samba 服务器的用户使用在系统printcap
文件中定义过的打印机。</FONT></P>
<P align=justify><FONT face=宋体>[printers]</FONT></P>
<P align=justify><FONT face=宋体>browseable = no</FONT></P>
<P align=justify><FONT face=宋体>guest ok = yes</FONT></P>
<P align=justify><FONT face=宋体>printable = yes</FONT></P><I><B>
<P align=center></FONT><FONT face=宋体 size=3><IMG height=302
src="Samba 介绍.files/Image4.gif" width=540></FONT></B></I><FONT size=3></P>
<P align=center><FONT face=宋体 size=2>图3.windows
资源管理器中看到的samba配置</FONT></P>
<P align=center> </P>
<P align=center></FONT><I><B><FONT face=宋体 size=3><IMG height=234
src="Samba 介绍.files/Image3.jpg" width=513></FONT></B></I><FONT size=2></P>
<P align=center><FONT
face=宋体>图4.使用smbclient在xterm中看同工作组的供享资源</FONT></FONT><FONT
size=3><I><B></P>
<P align=justify><FONT face=宋体>结论</FONT></B></I></P>
<P align=justify><FONT
face=宋体>samba是一个优绣的连通unix和windows系统的工具。它证明了自由软件的优越性,尤其是在同一些商用软件比较的时侯。</FONT><I><B></P>
<P align=justify><FONT face=宋体>资源</FONT></B></I></P>
<P align=justify><FONT face=宋体>samba的主页 <A
href="http://samba.anu.edu.au/samba">http://samba.anu.edu.au/samba</A>
</FONT></FONT></P></TD></TR></TBODY></TABLE></CENTER></DIV>
<P align=center><A href="http://202.102.240.81/bjlc/linuxworld/world.shtml"><IMG
alt="goback.gif (2284 bytes)" border=0 height=30 src="Samba 介绍.files/goback.gif"
width=80></A></P>
<HR>
<META content="Microsoft FrontPage 3.0" name=GENERATOR>
<DIV align=center>
<CENTER>
<TABLE>
<TBODY>
<TR>
<TD align=middle>栏目主编: <BIG><BIG><FONT
face=楷体_GB2312><STRONG>张立</STRONG></FONT></BIG></BIG>(<A
href="mailto:cybersam@126.com"><EM><FONT color=#008080
face="Times New Roman"
size=4><STRONG>Cybersam</STRONG></FONT></EM></A>)<BR>欢迎您多提宝贵意见和建议。 </TD></TR>
<TR>
<TD>
<TABLE>
<TBODY>
<TR>
<TD align=right><FONT face="Times New Roman"
size=4>Copyright</FONT></TD>
<TD><IMG alt=Copyright height=23 src="Samba 介绍.files/cc.jpg"
width=22></TD>
<TD align=left><FONT face="Times New Roman" size=4>1998-1999,
Beijing Linux Club.</FONT></TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD><FONT color=#0000ff>
<P
align=center></FONT><STRONG>未经许可不得以任何形式转载.</STRONG></P></TD></TR></TBODY></TABLE></CENTER></DIV></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -