1)历史简介:安德鲁·垂鸠(Andrew Tridgell)为了实现windows主机及unix主机间文件共享时遇到了难题,于是自己就想开发一个实现他们之间文件共享的软件,于1992年在澳大利亚国立大学开发了第一版的Samba Unix软件smb,最后与协议SMB冲突,就改名为现在人们熟知的SAMBA.
    Samba,是种自由软件,用来让UNIX系列的操作系统与微软Windows操作系统的SMB/CIFS(Server Message Block/Common Internet File System)网络协定做连结。在目前的版本(v3),不仅可存取及分享SMB的资料夹及打印机,本身还可以整合入Windows Server的网域、扮演为网域控制站(Domain Controller)以及加入Active Directory成员。简而言之,此软件在Windows与UNIX系列OS之间搭起一座桥梁,让两者的资源可互通有无

2)SAMBA的功能:
 Samba是许多服务以及协议的实现,其包括TCP/IP上的NetBIOS(NBT)、SMB、CIFS(SMB的增强版本)、 DCE/RPC或者更具体来说MSRPC(网络邻居协议套件)、一种 WINS服务器(也被称作NetBIOS Name Server(NBNS))、NT 域协议套件(包括NT Domain Logons、Secure Accounts Manager(SAM)数据库、Local Security Authority(LSA)服务、NT-style打印服务(SPOOLSS)、NTLM以及近来出现的包括一种改进的Kerberos协议与改进的轻型目录访问协议(LDAP)在内的Active Directory Logon服务)。以上这些服务以及协议经常被错误地归类为NetBIOS或者SMB。Samba也能够用于共享打印机。
  Samba能够为选定的Unix目录(包括所有子目录)建立网络共享。该功能使得Windows用户可以像访问普通Windows下的文件夹那样来通过网络访问这些Unix目录。

3)如何安装及启动SAMBA:
  yum  install samba《------安装
  /etc/init.d/smb start《----启动
  /etc/init.d/smb stop 《----停止
  /etc/init.d/smb restart《----重启
  pgrep smbd
  pgrep nmbd  《-------查看服务器是否运行起来
  pkill smbd
  pkill nmbd  《---强行关掉Samba服务器

 SAMBA的工作原理:
  Samba 有两个服务器,一个是smb,另一个是nmb;
smb 是Samba 的主要启动服务器,让其它主机能知道此主机共享了什么;如果不打开nmb服务器的话,只能通过IP来访问,nmb是解析用的,就是把这台Linux机器所共享的工作组及在此工作组下的netbios name解析出来。
 SAMBA运行时的相关进程及相关的作用:
    nmbd:netbios     udp(137 138)
    smbd:file sharing tcp(445)
    winbindd  绑定到windows域中
4)Samba的配置文件:
SAMBA的配置文件主要在/etc/samba目录下,smb.conf,smbpasswd,smbusers,lmhosts和secrets.tdb,主要配置文件是:/etc/samba/smb.conf
  此配置文件中可分为四大部分:
    [global]    全局配置
    [homes]    
    [printer]  
    [constom]   用户自定义配置
 而且此文件中以#开头的是注释信息,以分号;开头的是可以使用的选项。

5)常用工具mount(smbmount)和smbclient:
    smbclient  -L  //ip地址或计算机名
    smbclient 是Samba 的Linux 客户端工具,在Linux主机上用来查看服务器上的共享资源,用户可以登录Samba服务器,也可以上传put和下载get文件。
 
    smbclient -L   //192.168.1.3  -U gentoo
    如果您的Samba服务器配置为user模式,就要加 “-U 用户名“

   mount -t cifs -o username=用户名   //ip地 址/共享文件夹名   挂载点
   mount 的用法,加载网络中的共享文件夹到本地机

6)图形界面管理
   yum install samba-swat  非独立守护进程,xinetd.d(超级守护进程)
   cd  /etc/xinetd.d/
   vim swat《----编辑此配置文件
   service xinetd start 《----启动

7)实例操作:
  例1:
    设置共享文件夹/share,系统有用户gentoo和centos,让gentoo有对共享文件读写的权限,centos只有读的权限。
     mkdir  /share
     cp  /etc/inittab  /share   《---拷贝一个文件做实验
     vim  /etc/samba/smb.conf
       增加如下内容:
         [tools] 自定义共享
           comment = My tools
           path  = /share
           browseable = yes
           guest ok = yes
           wrintable = yes   还要取决于文件系统权限
           write  list = gentoo,centos
      setfacl  -m  u:gentoo:rw-  /share   设置gentoo的权限
      smbpasswd  -a  gentoo    添加用户
      smbpasswd  -a  centos
      smbclient //HOST/share  -U  gentoo
         >lcd /etc
         >put  fstab     《------上传成功

实例很简单,您来试试吧!