王朝网络
分享
 
 
 

菜鸟手册之认识Samba及安装配置

王朝other·作者佚名  2008-05-19
宽屏版  字体: |||超大  

一、Samba基础

1、 简介

1).SMB协议

SMB(Server Message

Block,服务信息块)协议可以看作是局域网上的共享文件/打印机的一种协议,它可以为网络内部的其它Windows和Linux机器提供文件系统、打印服务或是其他一些信息。

SMB的工作原理是让NetBIOS(Win95网络邻居通信协议)与SMB这两种协议运行在TCP/IP的通信协议上,且使用NetBIOS

nameserver让用户的Linux机器可以在Windows的网络邻居里被看到,所以就可以和Win95/NT主机在网络上相互沟通,共享文件与服务了。

目前Microsoft正在开发一种新的文件和打印共享协议--CIFS(Common Internet Files

System,通用网络文件协议),该协议支持TCP/IP和DNS等协议,能在www上支持文件和打印共享。在CIFS下服务器实际上是DNS名,由主机名和域名组成。这种变化是从NetBIOS命令结构中分离出来的。目前CIFS还没有得到广泛的应用。现在在Linux和Win95/NT之间的文件共享注意还是SMB和NFS。

2).什么是Samba

Samba是用来实现SMB的一种软件,由澳大利亚的Andew Tridgell开发,是一种在Linux(Unix)环境下运行的免费软件。

通过使用Samba,Linux系统可以实现如下功能:

文件服务和打印服务(在Linux和Win95/NT之间系统之间提供打印机和磁盘的共享)

登陆服务器,使用Windows客户能注册到网络上

作为主要域控制器和域中成员的功能

WINS服务器以及浏览功能

支持SSL(Secure Socket Layer)

支持SWAT (Samba Web Administration Tool )

Samba除了支持Linux(Unix)和Win95/NT之外,还支持DOS、IBM OS/2、Macintosh 等操作系统。

在Samba的软件包中所包括的组件参看表1-1:

表1-1 Samba软件包的组成列表

2、Samba的记录文件

Samba为smbd、nmbd和访问Samba的客户提供了下列记录文件,分别记录有关smbd、nmbd运行信息和每个客户的访问信息:

记录smbd 信息

/var/log/samba/log.smb

记录nmbd信息

/var/log/samba/log.nmb

记录客户访问信息

/var/log/samba/log.%m

3、启用Samba服务器

Samba的运行包含两个后台守护进程:smbd和nmbd,它们是Samba的核心,在全部时间内运行。nmbd程序使得通过企图计算机可以浏览Linux服务器。Smbd守护进程在SMB软件包到达网上时对它们进行处理,并且为使用或共享它的资源与Linux进行协调。如果指定的是一个文件,该资源就是一个文件;而一个打印机请求就要求访问一台打印机。实际上,在请求访问打印机时,Smbd把要打印的信息存储到打印机队列中;在请求访问一个文件时,Smbd把数据发到内核,最后将它存到磁盘上。

你可以从inetd选择启动它们,但这种方法会使Samba变慢。建议使用下面命令可以启动这两个进程:

/etc/rc.d/init.d/smb start

/usr/sbin/samba start

如果想要在系统启动时自动启动samba,可以使用/usr/sbin/turboservice命令,选中其中的"SMB (Windows)File

Services"。

二、Samba配置及使用

1、定制文件/etc/smb.conf

在安装完Samba后,还需要定制它的配置文件smb.conf,才能使Samba正常工作以符合要求。由于SMB是一个非常复杂的协议,所以配置Samba的工作也是比较繁琐的,大约有超过170条配置项出现在smb.conf文件中。

1).smb.conf的语法

smb.conf文件有一个清晰的语法结构,与Windows的*.ini文件十分类似。如下所示:

该文件被分成几部分,每一部分都包括几个参数,用来定义Samba输出的共享及其详细操作。

文件被分隔成若干节,每一节都由一个被方括号括起来的标识开始(例如,[global]、[home]、[printers]),每一个配置参数或是一个全局参数(影响或控制整个服务器),或是一个服务参数(影响或控制服务器提供的某项服务

)。

global部分定义的参数用来控制Samba的总特性。除global部分外,每一部分都定义了一个专门的服务。

你可以使用下面的语句来指定一个参数:

name=VALUE

name可以是一个单词或者用空格隔开的多个单词。VALUE可以是布尔值(ture或false;yes或no;1或0)、数字或字符串。

注释以分号开头,可以单独一行,也可以跟在一条语句之后。

通过在一行的最后一个字符后加反斜杠"\"可以将一行分成多行。

每一部分的名字和参数都不区分大小写,例如,参数browseable=yes与browseable=YES是完全等价的

2).smb.conf文件的功能

smbd和nmbd这两个守护进程启动时(通常为系统引导时)读配置文件smb.conf,这一配置文件向这两个守护进程说明输出什么共享、共享输出给谁以及如何进行输出等等。

因为安全问题是最重要的,所以你必须指定哪些计算机可以访问这一共享,smb.conf文件可以很灵活的明确指定每一服务有哪些用户可以访问。随着Linux网络的增大,这一控制越来越重要。

3).smb.conf文件结构

smb.conf文件主要包括三部分:

global(全局)参数

directory shares (目录共享)部分--包括标准的[home]部分

printer shares(打印共享)部分

其中,global参数用来设置整个系统的规则;[home]部分和[printer]部分是服务的特定例程,services(服务)这一术语是网络客户机共享或输出的目录和打印机的Samba术语。这些服务定义了哪些用户可以访问这些目录和打印机以及如何访问这些目录和打印机。

清单1-1给出了smb.conf文件的一个简单的例子。

清单1-1 smb.conf文件的一个简单示例

[global]

netbios name = FRODO

workgroup = UAB-TUCC

server string = John Blair's Linux Box

security = user

printing = lprng

log file = /var/log/samba

lock directory = /var/lock/samba

[homes]

comment = Home Directory

browseable = no

read only = no

[printers]

browseable = no

guest ok = yes

printable = yes

在 [global] 段中设置了主机名称, 主机所在的工作组名称和浏览时可看到的对本机的描述。安全参数告诉 Samba使用"用户级别"的安全保护方式。 SMB 有两种安全模式: 共享级别, 将资源加密码控制;用户级别, 可以使用某一用户的所有资源。

这里不能详细解释两种方式的微妙差别, 但大部分情况下, 你会想用用户级别安全控制。

[global] 段中还定义了日志文件目录和锁定文件的位置。日志文件在解决故障和完善系统时是很有用的,锁定文件可以阻止多个用户同时修改相同的文件。

[homes] 段中的设置控制了每一个用主目录的共享权限。comment 参数指定的字符串在你浏览本机资源时出现在指定资源的旁边。

browseable 参数控制一项服务是否能够出现在网络资源浏览表中。这里是一些非直觉的东西, browseable = no意味着这个目录将在浏览时显示为要验证的用户名称。 举例来说, 指定 browseable = no, 当我浏览这个 Samba 服务器时,我将看到一个名称为 cuckoo 的共享目录。当指定 browseable = yes 时, 我将看到一个名为 homes 和 cuckoo的共享目录。设置 read only = no 将允许通过验证的用户对主目录有写入的权限。 但是, 如果他们的主目录的 UNIX 权限 不允许写入,那么他们就没有写的权限。 无论 UNIX 的权限怎样, 设置 read only = yes 后, 他们的主目录是只读的。

printing 命令描述了本地打印系统类型, 这可以让 Samba 知道怎样提交打印任务, 显示打印队列, 删除打印任务和其它操作。

如果打印系统是 Samba 所不知道的, 你必须在每次执行打印操作时指明命令。

清单中[printing]一段配置允许任何能够登录到 Samba 服务器的用户使用 printcap 中出现的 每一台打印机。 正常情况下,如果使用用户级别安全控制, guest ok = yes 并不能授权每一个用户(使用系统)。 每一个打印服务必须定义为 printable =yes。

下面的一段配置片断增加了一个命名为 public 的共享目录, 直接对匿名FTP目录有只读的 权限。 你必须在客户机上建立打印机驱动程序。 对于Windows 95 和 Windows NT 客户机, 你可以使用printer name 和 printer driver命令自动建立打印驱动。

[public]

comment = Public FTP Directory

path = /home/ftp/pub

browseable = yes

read only = yes

这段描述并不是解释一些微妙的主题,

例如用户级和共享级安全性的区别或者其它的授权认证主题。它仅仅让我们看到了Samba这座冰山的一角。另一方面,这是一个良好的例子,从中我们可以了解产生一个简单但可工作的smb.conf文件是多么容易。

下面,我们举另一个例子说明如何通过Samba把Linux的打印机共享给Windows机器。

为了共享Linux的打印机给Windows机器,必须确定Linux机器上的打印机已经设置好。如果能从Linux上打印,那么设定Samba的打印机共享是很简便的。只要根据自己的情况,对smb.conf文件有关打印的部分进行修改就可以了。在修改中唯一需要注意的是确保打印机的路径要与/etc/printcap中的spool目录相符合,然后就可以在Win95/NT上配置网络打印机了(关于如何在Win95/NT上配置网络打印机,本文不做介绍)。

4).标准smb.conf文件清单

在Samba的软件包里的example目录中有一个缺省的配置文件smb.conf.defaults。我们可以对它做适当修改后拷贝到你的安装目录下的lib目录里,并改名为smb.conf。清单1-2是Samba系统提供的标准的配置文件。为方便读者阅读,本文翻译了文件中的注释并适当的添加了解释。

清单1-

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有