本文转自:http://hi.baidu.com/njf119/blog/item/c78f0df7f18af928730eeceb.html

CentOS Samba 服务器的构建
前  言
  在我们使用 Windows 作为客户机的时候,通常有文件、打印共享的需求。作为Windows 网络功能之一,通常可以在 Windows 客户机之间通过 Windows Network 固有的功能实现这些要求。然而,通过 Samba 我们也可以让一台 CentOS 主机来兼容 Windows 网络,实现同样的功能,进而充分发挥 CentOS 主机的可用性。

  本篇文档主要介绍怎样通过 Samba 服务器的构建实现 Windows 网络中的文件共享。

安装 Samba

  首先,通过 yum 来在线安装 Samba 。
然后,通过编辑 /etc/samba/smb.conf ,根据需求配置 Samba。在这里,本文的原则是只将文件共享应用于内网,并让将要被共享的目录拥有充分的读写权限属性
接下来,创建将要通过 Samba 共享给 Windows 网络的专用目录。
在进行到服务端的连接之前,需要预先对用于登录 Samba 的用户进行设置。这里我们以 CentOS 中 Samba 标准的 Samba 用户数据库管理工具“smbpasswd”为例,创建用于登录 Samba 的用户数据。这里需要注意的一点:用 smbpasswd 创建用户的前提是,系统用户中存在该用户 -- 在基于系统用户之上,才可以创建该用户在 Samba 用户数据库中的信息。
在启动 Samba 服务之前,首先将防火墙设置中 Samba 所用到的端口进行开放。
  最后,启动 Samba 服务。
从 Windows 客户端连接到 Samba 服务器
  在服务端启动 Samba 服务后,我们就可以从 Windows 客户端通过 Windows 网络连接到 Samba。这里以 Windows XP 为例,说明如下连接过程:

1、从桌面打开“网上邻居”,并点击“查看工作组计算机”选项;
2、确认出现 Samba 服务端的连接,并双击该连接;(本站文档的主机名以 Sample 为例)
3、输入在服务端预先设置好的 Samba 用户的用户名及密码;(用户名同系统用户名,密码需要输入在通过 smbpasswd 为该系统用户设置的 Samba 专用的密码。)
4、然后确认能够连接到 Samba 服务器,并出现根目录及 Samba 专用共享目录。
 最后,在相应目录进行新建、修改以及删除文件的操作,测试相应权限的可操作性。
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Samba是基于SMB协议的一个应用程序,目前的版本是2.3.x。Samba的功能很强大  
    ,但易用性也极差。究其原因是它的配置文件太大和不容易理解,新手和熟手都  
    对其望而却步。其实仅仅实现文件共享这一单纯目的,配置Samba很简单,只需熟  
    悉几个操作即可。下面我用一个例子说明这几个操作。  
    假设你已熟悉Linux的基本操作,例如VI编辑器的使用、基本的操作文件命令。  
    现在我们有三台PC,一台安装了window2000,名字是test2000,其上有共享文件  
    夹share;其余两台安装了Linux,一台名字是testsamba,其上有一目录/pub;另  
    一台名字是testlinux,其上也有一目录/pub。我们要实现的目标是把testsamba  
    上的/pub共享,供test2000和test_linux的使用。  
    对test_samba我们进行下面操作:  
    在/etc/下找到smb.conf,用VI编辑器打开,  
    #   vi   /etc/smb.conf或vi   /etc/samba/smb.conf  
    在【gobal】字段下,添加netbios记录,一般加在workgroup记录的下一行  
    ;netbios   name   =   testsamba  
    在【gobal】字段下,修改secrity记录;  
    secrity   =   share  
    在【public】字段下,修改path记录;  
path   =   /pub  
在【public】字段下,添加geuest   ok记录;  
guest   ok   =   yes  
删除【public】字段每行行首的";"标示;  
保存退出。  
简单解释一下,添加的netbios   name是可以在test2000网络邻居中看得见的机器  
名;添加的/pub是可以在网络邻居中看见的共享目录;添加guest   ok是允许所有  
用户都可以guest帐户访问共享;删除";"标示是要整个【public】字段成为可执  
行。  
现在/pub就成为可以被test2000和testlinux两台机器共享的目录了。  
试试看:  
在testsamba下,为使用test2000下的共享文件夹可以进行以下操作:  
#   smbclient   -L   //test2000  
此命令为查看test2000下的共享情况,注意在系统要求输入password时,直接回  
车即可进入test2000,此时屏幕上列出test2000下的共享。  
#smbclient   \\test2000\share   -U   share   (或smbmount   //test2000/share  
/pub)  
此命令可进入test2000的share目录,屏幕上出现MS-DOS的提示符:时说明用户进  
入了share目录。此时可以在提示符后输入"?"查找你可使用的命令。  
在test2000下,使用testsamba的共享目录/pub,可以进行以下操作:  
查找计算机testsamba,当testsamba目标出现时,双击图标pub,即进入共享文件  
夹pub了。  
在testlinux下,使用testsamba的共享目录pub,可进行如下操作:(假设已  
知pub存在)  
#smbmount   //testsamba/pub   pub  
此命令可把testsamba下的pub挂到本机的pub上,同上在系统要求输入password时  
,直接回车,接着依次输入#cd   /pub/pub、#ls,屏幕即列出testsamba的pub目录  
下的文件了。  
Win2000和Linux实现文件共享了!