【 tulaoshi.com - Linux 】
于千万人之中遇见你,缘份啊。。。。。。
前言:为了实现windows 和 Linux以及其他操作系统之间的资源共享,软件商推出nfs 和samba两种解决方式。由于市场上缺乏象pc-nfs那样的客户端工具,使得Linux和windows的资源共享变得复杂。Samba的出现解决了这一问题,它以其简洁、实用、灵活配置的特点受到越来越多人们的广泛关注。 Windows利用SMB协议来实现操作系统间文件和打印机共享,而Samba本身具备SMB协议,它实现局域网内和Windows系列计算机的资源共享。本文就Samba在Linux系统下的配置为重点,讨论局域网内windows 与 Linux 的资源共享。一、Samba 介绍1、SMB协议SMB (Server Message Block,服务信息块) 协议,是局域网上的共享文件/打印机的一种协议,它可以为网络内部的其他windows和linux 机器提供文件系统、打印服务。SMB的工作原理是让NetBIOS和SMB运行在TCP/IP之上,且使用NetBIOS的nameserver让linux机器可以在windows 网络邻居里被浏览。2、SambaSamba是用来实现SMB的一种软件,由澳大利亚的Andew Tridgell开发,是一种在Linux 环境里运行的自由软件。它可以完成如下功能:文件服务和打印服务,实现Windows和Linux的资源共享。登录服务器,可以作为局域网的服务器。作为主域控制器。WINS服务器。支持SSL。支持SWAT。二、 Samba服务1、 核心进程Samba 有两个守护进程:smbd 和nmbd,它们是Samba的核心进程。nmbd进程使其他计算机浏览Linux服务器,Smbd进程在SMB服务请求到达时对它们进行处理,并且为使用或共享的资源进行协调。2、 启动服务Samba 有两种启动方式:Daemon形式和Inetd形式。(1)Daemon形式 建立启动脚本:rc.sambasmbd -D -d1nmbd -D -d1-D 表示以Daemon形式执行;-d1 表示除错记录级别执行脚本文件rc.samba(2)Inetd形式设置文件:/etc/servicesnetbios -ssn 139/ tcpnetbios -ns 137/ udp设置文件:/etc/inetd.confnetbios -ssn stream tcp nowait root /usr/sbin/smbd smbdnetbios -ns dgram udp wait root /usr/sbin/nmbd nmbd重启动Inetd daemon# kill -HUP 13、 客户工具 smbclientSmbclient命令用来存取远程Samba服务器上的资源。其命令形式与ftp相似。命令语法是:#smbclient [password] [option](1) 解释:servicename是要连接的资源名称,资源名称的形式如下://server/service server 是远程服务器的NetBIOS名字,对于windows服务器而言,就是出现在网上邻居中的名字。Service是各server所提供的资源的名字。pssword 是存取该资源所需的口令option 各种命令选项,其中 -L 用于列出远程服务器提供的所有资源-I 指定远程服务器的IP地址。此时,servicesname 中的NetBIOS名部分将被忽略。(2)多种smbclient命令:执行smbclient命令成功后,进入smbclient环境,出现提示符: smb:>这里有许多命令和ftp命令相似,如cd 、lcd、get、megt、put、mput等。通过这些命令,我们可以访问远程主机的共享资源。4、 Samba系统装载与卸载(1) 装载其他主机的资源我们可以利用Samba提供的smbmount命令,装载其他主机的共享资源。Smbmount的命令语法:# smbmount 其中 servicename 是资源名,mount-point是安装点。例如: # smbmount "servertmp" -c ' mount /mnt' 表示:把名字为“server”的计算机上的共享资源“tmp”的内容装载到本地的 /mnt目录下。(2) 卸载资源卸载一个已经装载的SMB文件系统,使用smbunmount命令,同时指定要卸载的装载点。 例如: # smbunmount / mnt三、Samba配置Samba组件的配置文件是 /etc/smb.conf ,该文件几乎包含了Samba系统程序运行时所需的所有配置信息。1、 配置选项配置文件中有比较重要的几个节:[gloabal]、[homes]、[printers],下面分别给与说明。(1)[gloabal]节 在全局参数中,参数的设置直接影响samba系统。NetBIOS name:设置主机名称Workgroup:用来指定主机所在网络上所属的NT域名或者工作组名称。格式是Workgroup= Nt Domain-Name or workgroup-nameServer string:用来设置本机描述,缺省是 Samba ServerHost Allow:它允许设置哪些领域的机器可以访问它的Samba服务器Load printers:允许自动加载打印机列表,而不需要单独设置每一台打印机。Interface:配置Samba使用多个网络界面。Domain controller: 仅当网络中有一台在安装时设置为主域控制器时使用此选项。Security: 设置安全参数,定义安全模式。Samba 的安全模式有四种Share、 user、 server 、domain encrypt passwords 、smb passwd file:用于适用加密口令。 下面是一段参数配置例子:[global]smb passwd file = /etc/smbpasswdremote announce = 172.18.158.234 172.18.153.55 172.18.153.255dns proxy = no security = userencrypt passwords = yesserver string = Ftp Serverworkgroup = turingsocket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192log file = /var/log/samba/log.%mload printers = yesguest account = dscanremote browse sync = 172.18.158.234 172.18.153.55 172.18.153.255 printcap name = /etc/printcapmax lo