SAMBA配置详解.docx
- 文档编号:8393631
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:19
- 大小:31.36KB
SAMBA配置详解.docx
《SAMBA配置详解.docx》由会员分享,可在线阅读,更多相关《SAMBA配置详解.docx(19页珍藏版)》请在冰豆网上搜索。
SAMBA配置详解
SAMBA配置详解
SAMBA配置详解
使用Linux和SAMBA替代WindowsNT/2000服务器
摘要:
这一篇文章提供了以前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
#......................................................................................................................................#
#只有你使用NT/2000服务器在以一个主域控制器(PDC)在运行,你才能使用下条。
;domaincontroller=
#
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SAMBA 配置 详解