Centos构建文件共享服务器samba前言在我们使用Windows作为客户机的时候,通常有文件、打印共享的需求。作为Windows网络功能之一,通常可以在Windows客户机之间通过WindowsNetwork固有的功能实现这些要求。然而,通过Samba我们也可以让一台CentOS主机来兼容Windows网络,实现同样的功能,进而充分发挥CentOS主机的可用性。本篇文档主要介绍怎样通过Samba服务器的构建实现Windows网络中的文件共享。Samba用的netbios协议,如果您用Samba不成功,很有可能是你的NETBIOS服务关闭了安装前的检查a.检查网络是否通[root@sample~]#ping192.168.0.100-ping局域网内的其他电脑[root@sample~]#ping外网地址*如果不通,请配置IP地址[root@sample~]#ifconfig-查看IP配置情况[root@sample~]#vi/etc/sysconfig/network-scripts/ifcfg-eth0-配置IP1DEVICE=eth02BOOTPROTO=static3BROADCAST=192.168.1.2554HWADDR=00:0C:2x:6x:0x:xx5IPADDR=192.168.1.23-ip地址6GATEWAY=192.168.1.1-网关7NETMASK=255.255.255.0-子网掩码8NETWORK=192.168.1.0-网段9ONBOOT=yes10TYPE=Ethernet[root@sample~]#vi/etc/resolv.confdomainsmbserver-定义本地域名nameserver202.96.64.68-定义被参照的DNS服务器的IP地址(最多可指定3个)[root@sample~]#servicenetworkrestart-重新启动网络服务b.查看smb是否已被安装[root@sample~]#rpm-qasamba*安装了会出现samba的版本1.安装Samba首先,通过yum来在线安装Samba。[root@sample~]#yum-yinstallsamba-安装SambaSettingupInstallProcessSettinguprepositoriesupdate100%|=========================|951B00:00base100%|=========================|1.1kB00:00addons100%|=========================|951B00:00extras100%|=========================|1.1kB00:00Readingrepositorymetadatainfromlocalfilesprimary.xml.gz100%|=========================|73kB00:00update:##################################################212/212Added212newpackages,deleted0oldin4.94secondsprimary.xml.gz100%|=========================|569kB00:00base:##################################################1500/1500Added1500newpackages,deleted0oldin28.97secondsprimary.xml.gz100%|=========================|157B00:00Added0newpackages,deleted0oldin0.03secondsprimary.xml.gz100%|=========================|32kB00:00extras:##################################################124/124Added124newpackages,deleted0oldin1.93secondsParsingpackageinstallargumentsResolvingDependencies--Populatingtransactionsetwithselectedpackages.Pleasewait.---Downloadingheaderforsambatopackintotransactionset.samba-3.0.10-1.4E.9.i386.100%|=========================|101kB00:00---Packagesamba.i3860:3.0.10-1.4E.9settobeupdated--Runningtransactioncheck--ProcessingDependency:samba-common=0:3.0.10forpackage:samba--RestartingDependencyResolutionwithnewchanges.--Populatingtransactionsetwithselectedpackages.Pleasewait.---Downloadingheaderforsamba-commontopackintotransactionset.samba-common-3.0.10-1.4E.100%|=========================|37kB00:00---Packagesamba-common.i3860:3.0.10-1.4E.9settobeupdated--RunningtransactioncheckDependenciesResolved=============================================================================PackageArchVersionRepositorySize=============================================================================Installing:sambai3863.0.10-1.4E.9base13MInstallingfordependencies:samba-commoni3863.0.10-1.4E.9base5.0MTransactionSummary=============================================================================Install2Package(s)Update0Package(s)Remove0Package(s)Totaldownloadsize:18MDownloadingPackages:(1/2):samba-common-3.0.1100%|=========================|5.0MB00:04(2/2):samba-3.0.10-1.4E.100%|=========================|13MB00:11warning:rpmts_HdrFromFdno:V3DSAsignature:NOKEY,keyID443e1821Publickeyforsamba-common-3.0.10-1.4E.9.i386.rpmisnotinstalledRetrievingGPGkeyfrom@centos.orgKeyimportedsuccessfullyRunningTransactionTestFinishedTransactionTestTransactionTestSucceededRunningTransactionInstalling:samba-common#########################[1/2]Installing:samba#########################[2/2]Installed:samba.i3860:3.0.10-1.4E.9DependencyInstalled:samba-common.i3860:3.0.10-1.4E.9Complete!samba服务器安装完成后用命令行#rpm–qa|grepsamba测试是否有完全安装:若出现这几个安装包,则说明samba安装完全:可以使用了。之后就要修改防火墙规则了,因为samba是要使用138,138139,445,873端口的必须把这几个端口打开,在命令行下编辑文件将这些端口放开:root@sample~]#vi/etc/sysconfig/iptables←编辑iptables配置文件设置Samba服务自启动。[root@sample~]#chkconfigsmbon←设置Samba自启动[root@sample~]#chkconfig--listsmb←确认Samba启动标签,确认2-5为on的状态smb0:off1:off2:on3:on4:on5:on6:off[root@sample~]#/etc/rc.d/init.d/smbstart←启动Samba服务(或#servicesmbstart)StartingSMBservices:[OK]StartingNMBservices:[OK]Samba服务器基本配置完毕。下面是根据公司需求设计的共享配置权限表:Samba共享服务器技术部(只有技术部主管能在该文件下增加文件或目录。领导层和技术部成员只能访问,但是该写权限只在该目录下,子文件不继承该权限)员工私有文件夹(只有员工自己和系统管理员能访问,都拥有权限,其他人不能访问)技术交流文件夹。所有人拥有上传和修改和下载文件的权利,但是每个人只对自己的上传的文件有删除的权利。技术部文公告区,总监和管理员有全部权限,其他人只读公司公告区。(一般是公司人事和领导层拥有读写权限,其他人只读,)技术文件资料工具下载区。技术部拥有读写权限,其他所有人只有写的权限。其他部门设计,基本参照技术部的权限设计。公司共享文件区,所有人拥有读写权限,管理员拥有全部权限,其他人只有删除和修改自己文件的权限。公司技术部samba设计:编辑samba配置文件vim/etc/samba/smb.conf。其全局变量global设计如下:采用了密码访问验证登陆模式,workgroup=WORKGROUP←找到此行,将工作组名称改为Windows网络所定义的工作组名workgroup=WORKGROUP←变为此状态,这里以WindowsXP默认的“WORKGROUP”为例netbiosname在window系统中显示的服务器主机名称serverstring服务器说明security=user设置登陆模式。User为密码验证模式hostsallow设置允许登陆的网络段,因为公司问局域网访问,安全性较高。关于company的参数设计如下:comment=companypath=/opt/company/设置共享路径createmask=0664#createmask是用户创建文件时的权限掩码;对用户来可读可写,对用户组可读可写,对其它用户可读;directorymask=0775#directorymask是用来设置用户创建目录时的权限掩码,意思是对于用户和用户组可读可写,对其它用户可读可执行;wr