Samba详解.docx

上传人:b****7 文档编号:25258659 上传时间:2023-06-06 格式:DOCX 页数:15 大小:24.35KB
下载 相关 举报
Samba详解.docx_第1页
第1页 / 共15页
Samba详解.docx_第2页
第2页 / 共15页
Samba详解.docx_第3页
第3页 / 共15页
Samba详解.docx_第4页
第4页 / 共15页
Samba详解.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

Samba详解.docx

《Samba详解.docx》由会员分享,可在线阅读,更多相关《Samba详解.docx(15页珍藏版)》请在冰豆网上搜索。

Samba详解.docx

Samba详解

∙原大小

∙刚好

∙变大

∙变小

∙留言推荐

∙留言推荐

窗体顶端

窗体底端

SAMBA配置详解

  

CNET中国.PC.转载 作者:

未知  来源:

LINUX宝库  

摘要:

这一篇文章提供了以前LinuxFocus文章关于SAMBA用于在Unix-Windows异构网络共享资源的方案。

特别地,它集中在使用SAMBA运行Windows提供的服务。

这不仅是因为Linux强大灵活,还更出于经济考虑的结果:

*极大的节省了购买Windows服务器的许可证费用。

*要达到相似的性能表现,Linux比Windows使用更少的硬件资源(也就是处理器和内存了)。

一个运行SAMBA配置恰当的Linux服务器可以替代WindowsNT/2000服务器,它一般能共享目录,提供活动目录服务(activedirectoryservice,ADS)但是它可以做为主域控制器(PrimaryDomainController,PDC),进行Windows2000/NT/98/95作为客户机的用户认证,共享资源(目录和打印机)和定制用户会话。

这篇文章主要集中到这些方面。

许多的计算机环境都以Windows服务器提供的功能为基础,装有SAMBA的Linux服务器会在不改变客户机的情况下,替代所有基于Windows系统提供的功能。

以下的要讨论的步骤假定:

SAMBA已经安装并且运行正确的机器将被用做服务器。

读者需要Linux和Windows服务器的基本的知识。

案例学习

考虑Linux/Samba服务器作为主域控制器(PDC),每个认证过的用户进入两种共享的目录,一个是公共空间,一个是私人空间。

在这篇文章里,讨论一种进入私人数据空间的极为常见的情况,就是每个用户有一个个人的目录。

要考虑的细节:

Linux/SambaNetBIOS名字:

SMBServer

Windows域名(工作组):

THEDOMAIN

每个用户的私人分区:

H:

(Windows)=>/home/(Linuxserver)

公共分区:

P:

(Windows)=>/home/public

图1显示了一个简单的网络示意图,客户机运行Windows系统,使用WindowsNT/2000服务器提供的资源和服务。

这个服务器能被Linux/SAMBA服务器替代。

Fig.1–在Windows服务器上运行的主域控制器和文件服务器

配置

遵循以下步骤:

1)创建要在主域服务器(Linux/Samba)待认证的用户。

使用adduser命令,useradd或userconf,你可以使用一些用户管理的工具,也可以是带有图形界面的(Webmin,Linuxconf,Yast等).

需要确认如果用户只进入Linux/Samba服务(如果你想),这就是说用户不必进入Linux命令行,这样的话只有把home目录设成/dev/null,命令行设成/bin/false。

2)把UNIX用户转换成Linux/Samba/Windows用户,生成smbpasswd文件。

cat/etc/passwd|mksmbpasswd.sh>/etc/samba/smbpasswd

另一个方法是,执行一下的SAMBA命令来创建用户和定义密码:

smbadduser

smbpasswd

这些命令和adduser与passwd一样有类似的作用。

3)编辑SAMBA的配置文件(smb.conf),你要确定加入或减去下列标有comment的可选项:

netbiosname=SMBServer

workgroup=THEDOMAIN

serverstring=LinuxSambaNTServer

logfile=/var/log/samba/%m.log

maxlogfile=0

security=user

encryptpassword=yes

smbpasswordfile=/etc/samba/smbpasswd

sslCAcertificate=/usr/share/ssl/....(cancelcomment)

socketoptions=(cancelcomment)

localmaster=yes

preferredmaster=yes

domainmaster=yes

domainlogons=yes

logonscript=logon.bat

winssupport=yes

注意:

做为每一个用户的特有的登陆(login),需要使用"%U.bat"文件替换原先的“登陆描述”(loginscript)。

这样每一个用户都有一个的带有自己用户名的“登陆描述”,%u也是可以使用的.如果你想定义用户属于那个组,你可以使用%g或%G,这些参数和其他参数的定义可以在手册中找到。

(mansmb.conf)

4)创建共享资源

编辑smb.conf文件并注释所有的“共享”的例子,加入以下的信息,如果没有必要的话,不用更改:

[netlogon]

comment=InitializationScripts

path=/home/netlogon

readonly=yes

guestok=yes

browseable=no

[home]

comment=UserDirectory

path=/home/%U

browseable=yes

writable=yes

[public]

comment=PublicDirectory

path=/home/public

browseable=yes

writable=yes

guestok=yes

createmask=0777

forcecreatemask=0777

保存smb.conf文件。

5)你可以使用如下的命令来验证smb.conf是否正确:

testparm

这些命令分析smb.conf文件并报告发现的错误。

6)分别使用权限0754和0777创建/home/netlogon和/home/public目录。

7)编辑logon描述文件logon.bat。

重要提示:

使用DOS/Windows文字编辑器(比如Notepad或Edit)来创建logon.bat文件(所以保存的文本文件是微软兼容的形式),你也可以在Linux上做这件事但是你必须转换成正确的文本形式。

你可以使用比如Vim的命令":

settextmode"得到有微软行结尾符的文件。

nettimeSMBServer/y(youcanalsouse:

/yesinsteadof/y)

netuseH:

SMBServerhome-y(youcanalsouse:

/yesor/yinsteadof-y)

netuseP:

SMBServerpublic-y

8)加入SMBServer信息到lmhosts文件中。

编辑/etc/samba/lmhosts文件后/etc/lmhosts)文件并且加入关于SMBServer信息的一行。

SMB服务器,比如:

192.168.0.10SMBServer

9)重启动SAMBA的后台程序(smbd)。

servicesmbrestart

如果在你的Linux版本中上面的命令不工作,你可以使用如下命令:

ps-auxgx|grepsmb

kill-9

smbd

10)使用smbclient来验证以上的配置是正确的。

smbclient-L//SMBServer

如果"Password:

"显示出来,按"Enter"键,服务器的共享的资源会显示出来。

11)使用Windows95/98/NT计算机在域THEDOMAIN中进行客户登陆,使用Linux/Samba创建的用户(看步骤1和2)。

在95/98/ME中,配置可以按照一下的顺序:

开始=>设置=>控制面板=>网络=>微软网络客户=>属性。

WindowsNT/2000(工作站/专业版)中也是类似的用法,可能顺序不是一样。

单击选项"StartsessioninWindowsNT/2000domain"并写下域名THEDOMAIN(WORKGROUP)。

一个配置文件的实例

一个完整的SAMBA配置文件罗列如下,这个文件在不通的Linux分发版本中测试通过。

读者可以修改它以达到自己想要的结果。

其中每条指令都被恰当的注释。

最后,给那些的想快速配置SAMBA的人的建议是安装Webmin或者SWAT,这些工具可以让你配置时轻松一点。

#============================================================#

#/etc/smb.conf

#------------------------------------------------------------------------------------------------------------#

#SAMBA主配置文件

#配置文件的骨架,根据你的需求选择其中的参数。

#------------------------------------------------------------------------------------------------------------#

#测试通过的系统:

Solaris系统和Linux各个发布版本

#RedHat6.0,7.0和7.1

#Solaris7

#Slackware7.x

#Mandrake6.1,7.0和8.1

#SuSe7.2

#------------------------------------------------------------------------------------------------------------#

#最近一次更改时间:

08/12/2001

#作者:

SebastianSasias-sasias@Linuxmail.org

#============================================================#

#

#这个文件按照SAMBA规范来开发的,可以参见smb.conf(5)手册。

#

#OBS:

更改本文件以后,使用"testparm"命令来测试。

#

#========================GlobalOptions=======================#

#

#总配置

#

[global]

#......................................................................................................................................#

#workgroup=NT-Domain-NameoWorkgroup-Name,比如:

THEDOMAIN

#PDC域

workgroup=THEDOMAIN(不区分大小写)

#......................................................................................................................................#

#在其他的机器中声明的本机器的名称

netbiosname=SMBServer

#......................................................................................................................................#

#这个声明会出现在Windows的“网络邻居”中

serverstring=SambaServerdeestelugar

#......................................................................................................................................#

#这一行由于安全的原因很关键,只许在局域网中特定的计算机的连接。

#在这个例子中,是192.168.8.0(C级网络)的网络

#和“环路”(loopback)的接口是可以连接的。

#更多的细节,请阅读smb.confman手册。

#比如:

只有从规定开始的ip以后的地址才能共享资源。

#192.168.8和127(以后的注释)

;hostsallow=192.168.8.127.

#......................................................................................................................................#

#如果你想自动载入一个打印机的清单,这样就不必一个一个手动录入,可以使用:

;loadprinters=yes

#......................................................................................................................................#

#覆盖printcap的路径是可能的。

;printcapname=/etc/printcap

#......................................................................................................................................#

#在SystemV系统中printcap对lpstat名称属性一定允许

#自动地从SystemV(这么个词!

:

-))的spool系统中取得打印机列表。

;printcapname=lpstat

#......................................................................................................................................#

#如果打印机系统是非标准的,就需要指定是什么打印系统。

#现在支持的打印系统有:

#bsd,sysv,plp,lprng,aix,hpux,qnx

;printing=bsd

#......................................................................................................................................#

#如果你需要一个guest帐户,你不要注释掉下面这行。

#你一定么加入这条到/etc/passwd里,否则这个用户无“人”可用。

;guestaccount=pcguest

#......................................................................................................................................#

#下面这条就是使得每台计算机都有一个不同的log文件,

#通过这个文件和SAMBA服务器相连。

logfile=/var/log/samba/log.%m

#......................................................................................................................................#

#设置log文件长度的限制(单位Kb)。

maxlogsize=50

#......................................................................................................................................#

#阅读security_level.txtfor得到更多的细节

#指定验证密码的方式

#用户级的安全策略=每个用户都有自己的密码(SAMBA密码)

security=user

#......................................................................................................................................#

#如果使用服务器级的安全策略,验证过程在另一个机器上进行。

#只有在使用服务器级的安全策略时,才使用值"passwordserver"

#密码服务器等于【认证服务器地址】。

;passwordserver=

#......................................................................................................................................#

#如果你想使用加密的密码,请阅读Samba文档中的ENCRYPTION.TXT,

#Win95.txt和WinNT.txt。

#你只有清楚的了解这个属性的足够多的信息才能使用它。

#信息:

Win95,Win98和WinNT可以发送加密的密码。

encryptpasswords=yes

#......................................................................................................................................#

#使用下列的行来定制你的配置。

#在网络中的每个计算机,%m取代了自身netbios的名字。

;include=/usr/local/samba/lib/smb.conf.%m

#......................................................................................................................................#

#在你会发现文档和一些流行的“提示”会告诉你下面的选项可以得到更好的性能。

#试试!

#阅读speed.txt和手册来知道更多的细节。

socketoptions=TCP_NODELAY

#......................................................................................................................................#

#Samba可以配置多种的网络接口。

#如果你使用多种网络接口,你一定要在下面列出来。

#阅读手册来知道更多的细节。

;interfaces=192.168.8.2/24192.168.12.2/24

#......................................................................................................................................#

#Browser控制选项:

#如果你不想让samba做为网络中的主browser,设置"localmaster=no"。

localmaster=yes

#......................................................................................................................................#

#在OS水平上,本服务器当选主browser优先权的设置。

#一般地,缺省值可能就可以了。

;oslevel=33

#......................................................................................................................................#

#域主机指定Samba成为域中主Browser。

#这样允许Samba运行域控制器和在不同的TCP/IP子网中能被“看成”一台机器。

#如果你使用了WindowsNT/2000域控制器,你就不应该使用它。

domainmaster=yes

#......................................................................................................................................#

#更高级的域主在启动中使得Samba成为一个局域的Browser,

#这使得它有更多的机会(选举成为域主)。

#如果我们有2个以上的服务器,级别高的服务器会更受“欢迎”,

#客户机会在一个列表中搜寻到一台服务器的。

preferredmaster=yes

#.........................................................................

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1