第八章 linux samba服务器配置Word文档格式.docx
- 文档编号:19704997
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:12
- 大小:24.86KB
第八章 linux samba服务器配置Word文档格式.docx
《第八章 linux samba服务器配置Word文档格式.docx》由会员分享,可在线阅读,更多相关《第八章 linux samba服务器配置Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
使用的Samba的版本是3.0.3-5。
可以从网站下载Samba安装文件的3个rpm软件包:
samba-3.0.3-5.i386.rpm、samba-client-3.0.3-5.i386.rpm和samba-common-3.0.3-5.i386.rpm。
安装samba3.0.3-5和samba-client时,可以执行下面的命令:
rpm-isamba-3.0.3-5.i385.rpm
rpm-isamba-client-3.0.3-5.i386.rpm
成功安装了samba后,会在/etc/rc.d/init.d目录下出现一个smbshell脚本文件。
可以使用命令:
chkconfig–list
检测smbservice是否已经在Fedora的service列表中。
如果没有,可以使用命令:
chkconfig--addsmb
来将smbservice添加到/etc/rc.d/init.d目录中。
8.3配置Samba
在系统默认的配置文件中(其路径为/etc/samba/smb.conf),允许用户作为Samba共享来查看它们的Linux主目录。
它还可以把Linux配置的打印机作为Samba共享打印机共享,即用户可以在自己的Linux系统上连接打印机,然后从网络上的Windows计算机执行打印操作。
本节将介绍Samba的配置方法。
首先启动Samba服务器。
在/usr/bin下有两个程序:
smbd和nmbd,通过使用它们可以启动服务器。
一般情况下,它可以以两种方式启动,一个由inetd守护进程启动,另一种是作为单独的进程启动。
检查Samba是否启动,可以查看/etc/services文件中的信息,下面所示的即是系统成功启动后的显示信息。
netbios-ns137/tcpnbns
netbios-ns137/udpnbns
netbios-dgm138/tcpnbdgm
netbios-dgm138/udpnbdgm
netbios-ssn139/tcpnbssn
Samba服务器安装成功后,并不能马上工作,要进行一系列的配置,才能使其正常工作。
Samba的配置文件为/etc/smb.conf。
Samba服务器的配置相当复杂,有170多个选项,这里只列出主要的选项,其他选项使用默认值就可以了。
先用命令打开配置文件:
vi/etc/smb.conf
可以看到屏幕上配置的文件。
如果行首以“#”号开头,该为注释行,系统不会执行。
Samba文件分若干个配置段,每段以[段名]形式开头,主要有[global]全局段、[homes]用户目录段、[printers]打印机段等。
主要选项包括以下几点:
在Windows和linux的混合网络中,samba还是有很大用处的,本章用实验的方法快速学习Samba。
8.3.1全局设置
workgroup=MYGROUP
定义该Samba服务器所在的工作组或者域(如果下面的security=domain)。
serverstring=MYSambaServer
设置计算机的描述,通过网络邻居访问时,可以在备注里面看见这个内容,而且还可以使用Samba设置的变量。
%S=当前服务名
%P=当前服务的根目录
%u=当前服务的用户名
%g=当前用户说在的主工作组
%U=当前对话的用户名
%G=当前对话的用户的主工作组
%H=当前服务的用户的Home目录
%v=Samba服务的版本号
%h=运行Samba服务计算机的主机名
%m=客户机的NETBIOS名称
%L=服务器的NETBIOS名称
%M=客户机的主机名
%N=NIS服务器名
%p=NIS服务的Home目录
%R=采用的协议等级(可以是CORE,COREPLUS,LANMAN1,LANMAN2,NT1)
%d=当前服务进程的ID
%a=客户机的结构(只能识别几项:
Samba,WfWg,WinNT,Win95)
%I=客户机的IP
%T=当前日期和时间
hostsallow=网络或者主机
这里可以设置允许访问的网络和主机IP,比如允许192.168.1.0/24和192.168.2.1/32访问,就用hostallow=192.168.1.192.168.2.1127.0.0.1(网络注意后面加“.”号,各个项目间用空格隔开,注意要把本机加进去)。
(1)printcapname=printcapFile
到printcapFile(一般是/etc/printcap)这个文件中取得打印机的描述信息。
(2)loadprinters=yes|no
设置是否自动共享打印机而不用设置下面的[printer]一节的相关东西。
(3)printing=PrintSystemType
定义打印系统的类型,默认是lprng,可选项有:
bsd、sysv、plp、lprng、aix、hpux、qnx。
(4)guestaccount=pcguest
定义用户账号,而且需要把这个账号加入/etc/passwd,不然会使用默认的nobody。
(5)logfile=LogFileName
定义记录文件的位置(一般是用/var/log/samba/%m.log)。
(6)maxlogsize=size
定义记录文件的大小(单位是KB,如果是0的话就不限大小)。
(7)security=security_level
定义Samba的安全级别,从低到高分为4级:
share、user、server和domain。
分别对应的验证方式如下。
share
没有安全性的级别,任何用户都可以不要用户名和密码访问服务器上的资源。
user
Samba的默认配置,要求用户在访问共享资源之前资源必须先提供用户名和密码进行验证。
server
和user安全级别类似,但用户名和密码是递交到另外一个服务器去验证,比如递交给一台NT服务器。
如果递交失败,就退到user安全级。
domain
这个安全级别要求网络上存在一台Windows的主域控制器,Samba把用户名和密码递交给他去验证。
后面3种安全级都要求用户在本Linux计算机上也是系统账户。
否则无法访问。
passwordserver=<
NT-Server-Name>
当前面的security设置为server或者domain时才有必要设置。
passwordlevel=n
这是设置针对一些SMB用户,如OS/2而设的,这样的系统在发送用户密码时,会把密码转换成大写再发送,这样就和Samba的密码不一致,这个参数可以设置密码里允许的大写字母个数,Samba会根据这个数目对接收到的密码进行大小写重组,以重组过的密码尝试验证密码的正确性。
n的值越大,组合的次数就越多,验证时间就越长,安全性也会因此变得越低。
例如n=2,用户的密码是abcd,但发送出去其实是ABCD,Samba就会把这个ABCD进行大小写重组,组合后的结果可以是:
Abcd、aBcd、abCd、abcD、abcd、ABcd、AbCd、AbcD、aBCd、aBcD、abCD。
所以如果没有必要,就把n定为0。
这样Samba只尝试两次,一个是接收到的密码,另一个尝试的是这个密码都是小写的情况。
usernamelevel=n
这个是对于用户名的情况,说明和上面一项类似。
encryptpasswords=yes|no
设置是否对密码进行加密,Samba本身有一个密码文件/etc/samba/smbpasswd,如果不对密码进行加密则在验证会话期间客户机和服务器之间传递的是明文密码,Samba直接把这个密码和Linux里的/etc/samba/smbpasswd密码文件进行验证。
一般把这里的这个开关设置为yes。
smbpasswdfile=smbPasswordFile
设置存放Samba用户密码的文件smbPasswordFile(一般是/etc/samba/smbpasswd)。
sslCAcertFile=sslFile
当Samba在编译时支持SSL的时候,需要指定SSL的证书的位置(一般在/usr/share/
ssl/certs/ca-bundle.crt)。
UNIXpasswordsync=yes|no
passwdprogram=/usr/bin/passwd%u
passwdchat=*New*UNIX*password*%n
*ReType*new*UNIX*password*%n
*passwd:
*all*authentication*tokens*updated*successfully*
这3项设置能从Windows的应用程序中修改UNIX系统的用户密码。
usernamemap=UsermapFile
指定用户映射文件(一般是/etc/samba/smbusers),在这个文件里面指定一行root=admin-
istratoradmin时,客户机的用户是admin或者administrator连接时会被当作root用户看待。
include=MachineConfFile
指定对不同计算机的连接采用不同的配置文件MachineConfFile。
socketoptions=TCP_NODELAYSO_RCVBUF=8192SO_SNDBUF=8192
这是网络socket方面的一些参数,能实现最好的文件传输性能。
interfaces=interface1interface2
如果有多个网络接口,就必须在这里指定。
如interface=192.168.12.2/24192.168.13.2/24
remotebrowsesync=host(subnet)
这里指定浏览列表同步信息从哪里取得,可用host(比如192.168.3.25)或者整个子网(192.168.5.255)。
remoteannounce=host(subnet)
指定这些计算机向网络发出报告。
localmaster=yes|no
指定nmbd是否试图成为本地主浏览器,默认值是yes。
如果设为no,则Samba服务器就永远都不会成为本地主浏览器。
但即使设置了yes,也不等于Samba服务器就会成为本地主浏览器。
只是参与本地主浏览器的选择。
oslevel=n
n的值是整数,决定了nmbd是否有机会成为本地广播区域工作组里的本地主浏览器,默认值是0,意味着nmbd失去浏览选择。
如果要nmbd更有机会成为本地主浏览器,可以设为65。
domainmaster=yes|no
这个参数让nmbd成为一个域浏览器,并取得各本地的主浏览器的浏览列表,并将整个域的浏览列表递交给各本地的主浏览器。
preferredmaster=yes|no
指定nmbd是否是工作组里的首要主浏览器,如果指定为yes,nmbd在启动的时候就强制一个浏览选择。
preservecase=yes|no
shortpreservecase=yes|no
指定复制DOS文件的时候保持大小写,默认是no。
defaultcase=lower|upper
所有的DOS文件的默认是大写还是小写。
casesensitive=yes|no
区分大小写敏感,一般是no,否则会出现一些问题。
8.3.2共享设置
共享设置中有个比较特殊的段。
[homes],在smb.conf文件中一般没有对这个目录设置特定内容,如路径等。
客户机发出服务请求时,就在smb.conf文件的其他部分查找有特定内容的服务。
如果没有发现这些服务,并且提供了homes段时,那么就搜索密码文件得到用户的Home目录。
通过homes段,Samba可以得到用户的Home目录并使之共享。
下面是这个段的最基本的几个设置。
[homes]
comment=HomeDirectory
browseable=no
writable=yes
其他的共享配置如下所示。
[MyShare]
comment=grind’sfile
path=/home/grind
allowhosts=host(subnet)
denyhosts=host(subnet)
writable=yes|no
user=user(@group)
validusers=user(@group)
invalidusers=user(@group)
readlist=user(@group)
writelist=user(@group)
adminlist=user(@group)
public=yes|no
hidedotfiles=yes|no
createmode=0755
directorymode=0755
syncalways=yes|no
manglecase=yes|no
defaultcase=upper|lower
forceuser=grind
widelinks=yes|no
maxconnections=100
deletereadonly=yes|no
其中MyShare指定共享名,一般就是【网上邻居】里面可以看见的文件夹的名字。
comment
是对修改共享的备注。
path
指定共享的路径,可以配合Samba变量使用。
例如可以指定path=/data/%m,这样如果一台计算机的NetBIOS名字是grind,它访问MyShare共享时就是进入/data/grind目录,而对于NETBIOS名是glass的计算机,则进入/data/glass目录。
allowhosts和denyhosts
和前面的全局设置的方法一样。
writeable
指定目录默认是否可写,也可以用readonly=no来设置可写。
user
设置所有可能使用该共享资源的用户,也可以用@group代表group组的所有成员,不同的项目之间用空格或逗号隔开。
validusers
能够使用该共享资源的用户和组。
invalidusers
不能够使用该共享资源的用户和组。
readlist
只能读取该共享资源的用户和组。
writelist
能读取和写入该共享资源的用户和组。
adminlist
能管理该共享资源(包括读写和权限赋予等)的用户和组。
public
该共享资源是否能被用户账号访问,这个开关有时候也叫guestok,所以有的配置文件中出现guestok=yes,其实和public=yes是一样的。
hidedotfiles
是否像UNIX那样隐藏以“.”号开头的文件。
createmode
新建立的文件的属性,一般是0755。
directorymode
新建立的目录的属性,一般是0755。
syncalways
对该共享资源进行写操作后是否进行同步操作。
shortpreservecase
忽略文件名大小写。
preservecase
保持大小写。
casesensitive
是否区分大小写,一般选no,不然可能引起错误。
manglecase
混合大小写。
defaultcase
默认的文件名是全部大写还是小写。
forceuser
强制建立文件的属主。
如果有一个目录,让guest可以写,那么guest就可以删除,如果使用forceuser=grind强制建立文件的属主是grind,同时限制createmask=0755,这样guest就不能删除该目录了。
widelinks
是否允许共享外符号连接,比如共享资源里有个连接指向非共享资源里的文件或目录,如果设置widelinks=no将使该连接无法使用。
maxconnections=n
设置同时连接数是n。
deletereadonly
能否删除共享资源里面已经被定义为只读的文件。
8.3.3光驱和打印机的共享
光驱的共享设置:
[cdrom]
comment=grind’scdrom
path=/mnt/cdrom
public=yes
browseable=yes
rootpreexec=/bin/mount-tiso9660/dev/cd0/mnt/cdrom
rootpostexec=/bin/umount/mnt/cdrom
rootpreexec
连接时用root身份运行mount命令,而rootpostexec则指明了断开时用root身份运行umount,有效实现了对光驱的共享。
打印机共享的设置:
[printers]
path=/var/spool/samba
writeable=no
guestok=yes
printable=yes
printerdriver=starL100
这里printable指明该打印机可以打印,guestok说明游客也能打印,path指明打印的文件队列暂时放到/var/spool/samba目录下。
printerdriver的作用是指明该打印机的类型,这样在安装网络打印机的时候可以直接自动安装驱动而不必选择。
8.3.4添加用户
Samba添加用户比较方便,一般是用smbadduser,用法是smbadduserunixid:
netid。
如果本机有个叫linuxuser的用户,使用命令:
smbaddusergrind:
linuxuser
这样从【网上邻居】访问时用户名就用linuxuser。
而如果用了命令:
linuxqjy
从【网上邻居】访问时提供的用户名就是linuxqjy,而不是linuxuser了。
配置完后,用命令testparm测试是否正确,如果没有错误信息返回,则表示成功。
接下来重新启动Samba服务器:
/etc/rc.d/init.d/smbrestart
8.4连接Samba共享
Samba系统中使用明码口令作为连接SMB的默认设置。
当SMB服务器对协商协议做出响应时,响应信息包含了一位,以说明服务器是否支持询问或者响应加密。
随着Windows系统的网络重定向更新程序的发布,Microsoft公司修改了默认值,这样,Windows客户就不会向不支持加密的服务器发送明码口令了。
在这种情况下,有两种解决办法,一种是设置Samba服务器使用加密口令,另一种是让Windows客户使用明码口令。
这里选用第2种解决办法,通过修改注册表来实现。
下面对Windows和Linux用户分别说明。
1.Windows2000系统用户
修改注册表,加入下列注册表项,并重新启动计算机。
[HKLM\System\CurrentCntrolSet\Services\Rdr\Parameters]
"
EnablePlainTextPAssword"
=dword:
00000001
2.Linux系统用户
从Linux系统中连接Samba共享,可以在shell下输入命令:
smbclient//hostname/sharename–Uusername
其中,hostname是想要连接的服务器名称或IP地址;
sharename是浏览的共享目录名;
username是系统的Samba用户名。
执行命令后输入正确的口令,如果没有口令按Enter键。
如果看到以下提示符:
smb:
\>
证明已经登录成功了。
如果没有使用参数-U,那么当前的用户名就会被发送给远程的Samba。
退出smbclient环境,使用以下命令:
exit
8.5Samba配置参数介绍
在Samba中,除了上述介绍的一些参数外,还有很多参数。
为了使用户更全面地了解Samba,下面介绍一些高级参数的配置。
这些参数如果应用得当,可以帮助用户更加灵活地在网络上应用Samba。
1.宏
在基本配置里有提到一些参数的可以尾随%u、%m,这是Samba里定义的宏,宏由百分号后面加一个字符表示,在具体运作的时候就用实际的参数来代替。
%P=当前服务的根路径
%g=给定%u的所
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八章 linux samba服务器配置 第八 samba 服务器 配置