samba,samba是什么意思
本作品内容为samba,格式为 doc ,大小 108544 KB ,页数为 17页
('·知识点,samba有五种安全级别,它们分别是:share:不需要samba账户就可登陆samba服务器user:需要添加samba账户才可以登陆samba服务器server:由另外一台samba服务器来对用户进行身份验证。domain:把samba服务器加入到NT域,由NT的域控制器来进行身份验证。ADS:ActiveDirectoryService,活动目录服务,它是samba3.0中新增的身份验证方式。采用ADS验证方式,samba服务器集成到活动目录中。以上是它的五个运行级别;share,user这二个级别适合用小型部门,如网吧、企业内部局域网等,也是samba常用的级别。(一)samba组件安装:(1)首先用“rpm–qagrepsamba”命令检验系统samba服务是否安装。#rpm–qagrepsambasamba-common-3.0.0.15.i386.rpmsamba-client-3.0.0-15.i386.rpmsamba-3.0.0-15.i386.rpm(2)如果没有显示samba(版本)信息,则说明没有安装,利用“RedHatLinux安装光盘”里自带的RPM包进行安装(也可自己在网上下载相关的版本包进行安装)。#rpm-ivhsamba-common-3.0.0.15.i386.rpm#rpm-ivhsamba-client-3.0.0-15.i386.rpm#rpm-ivhsamba-3.0.0-15.i386.rpm此外还有一个工具就是图形界面的Swat。要是用这个工具﹐大家还要修改一处﹐就是﹕vi/etc/xinetd.d/swat把其中的disable=yes改为disable=no就可以了。#rpm-ivhsamba-swat-3.0.0-15.i386.rpm(二)share级别的samba的配置这个级别的samba很简单,首先它不需要以用户和密码来验证登陆,所以就不必去配置samba用户了下面是实例:#servicesmbstart//启动samba#cp/etc/samba/smb.conf/etc/samba/smb.conf.bak//备份samba的配置文件#vi/etc/samba/smb.conf//找到security=user将它改成security=share#servicesmbrestart//重启samba服务器打开“我的电脑”,输入\\\\192.168.1.88sabma服务器的地址此时samba服务器上任没有设置任何共享目录。下面在服务器上设置一个名为test的共享目录#mkdir/test#chmod777/test//让所有用户具有完全权限#vi/etc/samba/smb.conf找到security=user将它改成security=share把光标移动配置文件的最后一行,在下面加入以下配置[test]//共享名comment=testresource//共享目录的注释path=/test//共享目录的路径writable=yes//是否允许写入public=yes//是否允许guest访问#servicesmbrestart//重启samba服务器这时输入\\\\192.168.1.88可以看到刚才增加的名为test的共享目录,此目录任何人有“完全权限”如果需要共享其它目录,可照此设定。(三)user级别的samba的配置.Share级别的samba无需samba用户就可以访问服务器,而user级别的samba则需以samba用户和密码才能访问,所以我们先要设定一个samba用户,如下:#useraddcc//添加cc用户#passwdcc//设置cc用户的口令#smbpasswd–acc//将cc用户添加为samba用户#mkdir/cc//建立/cc目录,此目录就是要共享的目录#chowncc.cc/cc//让cc用户成为/cc目录的属主#vi/etc/samba/smb.conf//找到security=share将它改成security=user把光标移动配置文件的最后一行,在下面加入以下配置[bb]//共享名,特意取名为bb,以区别于cc的home共享comment=ccresourcepath=/ccwritable=yesvalidusers=ccpublic=no#servicesmbrestart//重启samba服务器这时输入\\\\192.168.1.88,会弹出用户验证对话框提示输入samba用户和密码,输入用户名:cc和密码,进入这时会看到多了“bb”、“cc”这二个共享,其中bb是刚才添加的samba共享,“cc”是cc用户的家目录共享。[注]在windows中添加cc用户,然后注销administrator,以cc用户的身份登录,访问samba服务器时,则不会出现用户登录对话框,不用输入用户名和密码而能直接浏览共享资源。下图是在windows中以用户cc登录后,输入\\\\192.168.1.88直接进入的画面。在windows中以administrator身份登录后访问samba资源,之所以会出现登录对话框,是因为administrator没有对应的samba帐户。如果不想使用“cc”用户的家目录共享,可以进行如下设置:#vi/etc/samba/smb.conf找到如下语句:[homes]comment=HomeDirectoriesbrowseable=nowritable=yes在每行的前面加上注释符号“;”;[homes];comment=HomeDirectories;browseable=no;writable=yes#servicesmbrestart//重启samba服务器这时输入\\\\192.168.1.88此时只剩下我们人为添加的bb共享,而家目录共享cc已经不存在了[注]samba共享的访问权限受samba和linux操作系统的双重制约。即使在samba中已经开通了某个用户对于某个目录的访问权限,但如果samba用户所对应的linux用户没有该目录的访问权限,此时仍然不能访问该共享目录(四)修改samba配置文件:(/etc/smb.conf)Globalparameters#全局配置参数[global]#设置工作组或者说是域名。workgroup=MYGROUP#网络上看到的计算器名称(samba)。netbiosname=SAMBA#服务器描述,%v显示Samba版本。serverstring=SambaServer%v#设置samba服务器使用的认证过程。默认为USER,有四个选项:User,Share,Server和Domain。Security=User#设置纯文本密码的最少字符数。minpasswdlength=6#匿名、名称、密码都不正确不准登录服务器。即任何非法用户名登录均被视为gues用户。maptoguest=BadUser#用户名的映像。usernamemap=/etc/samba/smbusers#存放samba密码的路径smbpassedfile=/etc/samba/smbpasswd#samba日志文件的名字和路径。logfile=/var/log/samba/%m.log#日志文件的最大尺寸(KB)maxlogsize=50#作为时间服务器。timeserver=Yes#设置连接被视为无效而断开前,未激活状态的时间(MIN),防止资源被无效连接耗费。deadtime=5#网络协议选项,注意不要更改,否则影响网络速度及网络问题。socketoptions=TCP_NODELAYSO_RCVBUF=8192SO_SNDBUF=8192#用户成功登录时在netlogon共享中运行的批处理文件或者windows命令文件,注意:这一项很重要,还有就是一定要配合下面的[netlogon]共享才能配置出你的PDC%U﹐为自动匹配登录用户的名称。logonscript=%U.bat#在服务器上保存Windows用户登录时的配置文件路径,%L为Samba匹配服务器名称。logonpath=\\%Lprofile\\%U#设定登录时主目录的当地路径。logondrive=H:#Samba接受所在组用户以域登录。domainlogons=Yes#如果要把samba设置为域服务器,浏览器的OS级别一定要高于Windows。这里说名一下:OS级别:windows95为1,98为16,2000为32。oslevel=65#设置samba试图成为主浏览器。domainmaster=Yes#设置samba为WINS服务器。winssupport=Yes#超级用户。adminusers=root#设置新文件权限。createmask=0740#建立新文件时强制权限限制。forcecreatemode=0740#允许用户在NT2000下改变权限。securitymask=0740forcesecuritymode=0740#创建新目录时允许拥有的最大权限。directorymask=0750forcedirectorymode=0750directorysecuritymask=0750forcedirectorysecuritymode=0750#Windows工作方式,只要文件被修改,其时间戳将随时更新。dosfiletimes=Yes#Samba对文件生成时间作取整处理,计为下1秒,这也是windows工作方式。dosfiletimeresolution=Yes#共享家目录。[homes]comment=HomeDirectoriesreadonly=Nobrowseable=No#重要的设置,samba作为域服务器时存放用户登录时执行的文件或脚本。[netlogon]comment=NetworkLogonServicepath=/home/netlogonwritelist=rootguestok=Yessharemodes=No#用户配置文件存放目录。[Profile]path=/home/profilesreadonly=Nocreatemask=0770forcecreatemode=0770securitymask=0770forcesecuritymode=0770directorymask=0770forcedirectorymode=0770directorysecuritymask=0770forcedirectorysecuritymode=0770browseable=No#打印机共享目录。[printers]comment=AllPrinterspath=/var/spool/sambaprintable=Yesbrowseable=No注意:1、Smb.conf其它参数用缺省即可。由于Linux的权限管理没有NT全面,在权限分配较复杂情况下,可以通过两种方式:A、对一个目录产生多个共享目录,每个目录对相应的用户组分配不同权限。B、可以和Linux上文件权限相结合。比如:samba共享目录可以给每个人写权限,但Linux上文件权限为只给特定组写权限,则其它人只能读。2、用户及密码管理:A、如果encryptpasswords=yes,用户会有两个密码(Linux,smbpasswd),用户改密码会麻烦,所以我设置为no,samba会用/etc/passwd做用户验证,用户也只维护一个密码,比较方便,但不足够安全,好象unixpasswordsync=Yes可以既方便又安全,但我没成功。B、修改/etc/passwd,使用户的shell为/usr/bin/passwd,这样用户想改密码时,telnet到samba服务器即可,其它如sendmail服务器也可以用这种方法。C、如不想用户的目录出现/GNUstep目录,运行mv/etc/skel/etc/skel.backup即可。3、windows98客户端:改注册表。在HKEY_LOCAL_MACHINESystemCurrentControlSetServicesVxDVNETSUP中增加一DWORD值:值名:EnablePlainTextPassword数值:0x01。改windowshosts文件,ipaddreesambaservername4、过网关:如客户端和sambaserver之间有路由器,确保客户端和sambaserver在同一workgroup,客户端编辑windowslmhosts文件,a.b.c.dsambaserver的netbios名或主机名。我现在的做法为:给分公司IT设一个帐号在总部,让他们通过CUTEFTP再通过public目录实现总部和分公司的文件传输。这样可以避免分公司一定要跟总公司在一个域(他们还有NT)。5、磁盘限额:例如一百名,设定和bob相同的quota值,首先以手动编辑bob的quota信息,然后执行:#csh#edquota-pbob‘awk-F:’$3>499{print$1}‘/etc/passwd’这是假设你的使用者UID从500开始接下来就要手动在/home下建立目录:profiles,访问权限为0770,组为你想要建立的组﹐比如share用来存放Windows用户的配置文件。netlogon访问权限为1750,这里加上了sticky选项,不允许其它用户删除目录里的文件,只有超级用户或者建立者才可以,注意sticky选项只对目录起作用。组为share下面建立/etc/samba下面的smbpasswd文件:#cat/etc/passwdmksmbpasswd.sh>/etc/samba/smbpasswd为了安全起见﹐设置权限:#cd/etc#chmod500samba#cdsamba#chmod600smbapsswd接下来大家可以在netlogon目录里建立windows用户的登录脚本,比如批处理文件,需要注意的是,一定要在Windows下面建立,因为如果在Linux下建立,那幺Windows就不会执行Linux的文件。比如有个帐户feixue,批处理文件可以这样:feixue.bat内容为:@nettimeSambaServer/set/yes@netuseH:SambaServerfeixue-y@regedit-sSambaServeretlogon.reg等。需要注意的是把批处理文件保存到netlogon下面后一定要检查文件的权限,修正后用户才会执行,不然的话嘿嘿,你有麻烦了﹗﹗﹗如何配置Windows端登录Samba域,对于98来说很容易,在网络属性里选Clientformicrosoftnetworks,在第一项打勾,下面输入你的Samba服务器的域名(工作组)。重新激活机器以后,邓入对话框就会有三项:用户名、密码、域名。NT/2000下面登录samba域会困难一点,首先你要在Samba服务器上建立windowsNT/2000机器的信用帐号。(五)修改samba配置文件2:(/etc/smb.conf)/usr/sbin/smbd处理来自用户的连接;文件、权限、用户名的管理/usr/sbin/nmbd帮助快速定位服务器,主要是主机名的定位/usr/sbin/swatSamba的Web维护工具,可以通过Web来维护Samba/etc/rc.d/init.d/smb启动或停止samba服务的脚本程序/etc/smb.confSamba的主要配置文件/etc/smbuserssamba客户的用户名到Linux用户名的映射文件/usr/bin/smbstatus报告当前Samba的连接状态/usr/bin/mksmbpasswd.sh从/etc/passwd文件形成smbpasswd文件的程序/usr/bin/smbadduser增加新的samba用户的程序/usr/bin/smbclient访问smb服务器资源的客户程序smbclient//Eloo-Server1/sharesmbclient//Eloo-Server1/share-I192.168.0.22smbclient-MEloo-Server1smbclient-Lsmbmount//smbserver/service/mnt/smb/usr/bin/smbpasswd改变一个用户的smb加密口令/usr/bin/testparm检查smb.conf配置文件语法是否正确的程序smb.conf是由段组成,每个段中又包含参数,参数的赋值方法参数=参数值;#开头的都是注释行宏:logfile=/var/log/samba/log.%m[global]workgroup=Eloo.com指该服务器所在的工作组serverstring=SambaServer描述信息logfile=/var/log/samba/log.%m指定日志文件的存放地点m代表客户机的netbios名security=user指定Samba操作的安全方式[homes]comment=Homedirectories注释信息browseable=yes共享名称可以出现writeable=yes共享目录可以让客户写CREATEMODE=0755按照unix文件的属性来创建文件[printers]path=/var/spool/samba设置一个可以写的目录,作缓冲池guestok=yes允许任何人访问printable=yes可以打印global中常用的参数security确定对客户用户名/口令的验证方式-user进行访问之前要输入有效的用户名及口令-share不需要有效的用户名及口令即可访问-server本质与\'user\'模式一样,但由其它samba服务器来验证-domain指定该samba服务器是一个域控制器encryptpasswords=yes/no是否使用Win系统下的加密口令,如果选yes的话,就接收传过来的加密的口令,如果选no的话,就要接收未加密的口令,但现在的win系统一般都加密,所以要修改注册表,使之不加密regedit/HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/VxD/VNETSUP编辑-=-新建==Dword值重命名"新值#1"为"EnablePlainTextPassword"赋值该新键值为1smbpasswdfile=/etc/smbpasswd设置samba服务器的用户密码存放地usernamemap把samba客户的用户名映射为linux用户名的文件ex:root=adminadministratorhostallow=192.68.0.Except192.68.0.11允许192.68.0这个子网段内除192.68.0.11这台机器外的的所有机器访问logfile=/var/log/samba/log.%m如果host1,host2这两台机器访问过服务器,就会在/var/log/samba/目录下生成log.host1,log.host2这两个日志文件Smb.conf的其它参数说明path共享目录的路径(一定要存在)browseable共享段是否在控制列表中列出exec或proexec在建立连接之前有SMB服务器选运行的命令rootpreexec只有root才能执行的命令,常用于挂接文件系统ex:[cdrom]comment=cdrompath=/mnt/cdromreadonly=yesrootpreexec=mount/mnt/cdromrootpostexec=umount/mnt/cdrompublic是否公开,如果设置为yes的话,访问此共享目录不需要口令createmode=0755创建文件后文件的权限位readonly如果设置为yes,则不允许用户在此目录中进行写文件操作实验一:把自己本机设置为一台Samba服务器,使/home/user/test目录共享,使用另外一台Windows机器来测试是否能找到此机器并能访问共享目录(注意:此实验中samba的安全级别设置为share级,即所有人都可以访问security=share)实验二:内容同上,但要把服务器的安全级别设置为user级别,即security=user,然后再测试。Share级别vi/etc/smb.conf[global]段中改security=share后,加一个共享段[share]path=/home/user/sharepublic=yesbrowseable=yesnetconf设置主机名hostname设置主机名重启即可实验内容:设置/home/user/share目录共享,使win9x客户端访问User级别(vi/etc/smb.conf)[global]段中改security=user取消encryptpasswords=yessmbpasswdfile=/etc/smbpasswd的注释cat/etc/passwdmksmbpasswd.sh>/etc/smbpasswd使系统帐号导入至Samba帐号库中smbpasswd<username>为一个Samba帐号设置密码重启服务实验内容:设置win98客户端通过正常的用户名和口令可以访问自己的主目录下面以一个计算器名为test的计算机为例:#useradd-c\'TestCompter\'-d/dev/null-gshare-s/bin/false-rtest$我们创建了一个Linux本地帐号,出于安全的考虑不需要它登录到Linux进行任何操作,因此的用户目录为/dev/null,shell是/bin/false。然后我们就可以用smbpasswd创建相应的Samba机器帐号:#smbpasswd-a-mtest其中-a是添加,-m是机器信任帐号。这样,依据test$的Linux帐号创建了一个NT域的机器信任帐号test。然后在windowsNT/2000上加入Samba域,根据提示输入超级用户的用户名称和密码,就可以加入Samba域了。重新激活机器以后,就会有三个选项了,比如用原先建立的用户feixue登入即可。然后开启浏览器输入http://hostname:901/也可以安装redhat-config-samba这个工具。为了方便远程管理,Webmin也不错(建议安装)(六)linux服务器向windows客户端提供文件/目录及打印机共享linux服务器上的samba运行起来以后,linux就相当于一台文件及打印服务器,向windows和linuxsamba客户提供文件及打印服务。工作在共享模式或者用户模式下的两种方法较为常见(Security=share或Security=user),其中有以下常见问题。环境:Redhatlinux6.x1.共享模式时从windows98客户端不能从网上邻居中看到服务器,或者看到后不能点击进入共享资源,说密码不对等等。a.没有去掉guestaccount=pcguest一行前面的注释符号b.没有创建guest帐号pcguest(#useraddpcguest即可)c.windows98默认发送加密的口令,而/etc/smb.conf中没有enablesamba加密口令。或者也可以编辑windows98注册表,让它发送文本口令(不被建议的)2.在/etc/smb.conf中定义了完全可写共享目录,但实际操作时不能写入。a.特别要注意的是:linux本身的文件及目录权限永远大于samba定义的权限,要让某共享资源目录可以被写,首先要保证在linux下面该目录可以被相应的用户可写,这是前提。3.在共享模式下如何对某共享目录加用户名及密码保护a.看下面的共享资源定义例子:security=SHAREusernamemap=/etc/smbuserslogfile=/var/log/samba/log.%mmaxlogsize=50socketoptions=TCP_NODELAYclientcodepage=936oslevel=40localmaster=yespreferredmaster=yesdomainmaster=yesguestaccount=pcguestencryptpasswords=yessmbpasswdfile=/etc/smbpasswd[sales]comment=testfolderpath=/sales/trainingguestok=nowritable=yesvalidusers=@saleswritelist=@sales在上面的例子中,我们定义了security=share和sambaencryptpassword,共享目录名sales不是guest用户可访问的,需要属于sales组里的用户可访问,同时也可写,当然在linux下面要保证/sales/training目录可被组sales可写,这样以后定义你的windowslogon(不是NT域登录)的用户名为组sales里的用户名,然后在网上邻居中双击sales时会提示你密码,该密码是你在samba服务器上定义的samba加密的口令,在上面的例子中用户名和密码对存放在文件/etc/smbpasswd中,当然你事先要有系统用户名在/etc/passwd中。4.windows用户经常不能在网上邻居中浏览到samba服务器的名字。a.windows的网上邻居服务是非常不可靠的服务,它所建立的浏览列表不可靠,由众多因素引起。b.一种可靠的解决办法是直接用"查找"-"计算机"-打入samba服务器的主机名进行查找。注意要确保你在windows启动时没有取消登录。c.你也可以在DOS窗口用netuse命令:如c:>netusem:sambaservernameshareresourcename5.服务器端的测试配置工具a.在配置完/etc/smb.conf后运行testparm检测配置文件中是否有相应语法错误b.在samba服务起来后,用smbstatus报告用户使用和登录情况。c.在更改过配置文件后,运行/etc/rc.d/init.d/smbrestart重读配置文件(七)在linux客户机上使用linuxsamba服务器1.在linux客户机上使用smbclienta.列出计算机192.168.100.1上所有可用的共享资源:smbclient-L192.168.100.1如果询问口令,则直接回车。也可用名字如:smbclient-Lsh3若不知道sh3的IP地址,也可用smbclient-Lsh3-I192.168.100.1b.以某用户身份连接到samba服务器192.168.100.1上的共享资源salessmbclient//192.168.100.1/sales-Ujephe提示口令后输入口令,也可把口令打在命令行上用%号分隔,为:smbclient//192.168.100.1/sales-Ujephe%password提示符为smb:,就象是FTP一样也可用名字如:smbclient//sh3/sales-I192.168.100.1-Ujephe你也可以用符号,你的SHELL可能会过滤到特殊符号,则要这样写#smbclient\\sh3sales2.通过IP地址查找netbios名字a.在windows下用c:>nbtstat-A192.168.100.1如果知道netbios名字,可用下面的命令得知某机器哪些服务c:>nbtstat-ahydrab.在linux下用#nmblookup-A192.168.100.1在一个网段内可用下面的命令检测哪些主机在提供samba共享服务:#nmblookup-d2或#nmblookup-B192.168.100.255检测其它网段内的某台机器是否提供samba服务#nmblookup-A192.168.15.48但不能用#nmblookup-B192.168.15.255,因为一般的路由器和linux双宿主机不转发子网直接广播。3.netbiosoverTCP/IP使用的协议及端口号a.共有三种netbios服务netbios-ns137/udp(大多数)and137/tcpnetbios-dgm138/udp(大多数)and138/udp(
提供samba,samba是什么意思会员下载,编号:1700774244,格式为 docx,文件大小为17页,请使用软件:wps,office word 进行编辑,PPT模板中文字,图片,动画效果均可修改,PPT模板下载后图片无水印,更多精品PPT素材下载尽在某某PPT网。所有作品均是用户自行上传分享并拥有版权或使用权,仅供网友学习交流,未经上传用户书面授权,请勿作他用。若您的权利被侵害,请联系963098962@qq.com进行删除处理。