一直以来Windows主机之间都使用SMB/CIFS网络协议实现文件和打印资源的共享。由于SMB/CIFS网络协议是微软的私有协议,所以无法和UNIX系统进行通信,直到Samba的出现。  
      Samba它最初出现在大家面前的时间是1992年。Samba系统通过利用越来越多的开放源代码软件,获得了丰富多彩的性能,并且变得越来越稳定。在Linux(UNIX)系统中实现了SMB/CIFS网络协议,可以讲Linux系统中的目录和文件提供给Windows主机进行访问,很好的实现了Linux和Windows系统之间的文件互通。
      Samba服务器中包括两个服务程序。两个程序将同时运行,缺一不可。
1.samba服务程序为客户机提供了服务器中共享资源(目录和文件)的访问。
2.nmbd服务程序提供了NetBLOS主机名称的解析,为Windows网络中或者工作组内的主机进行主机名称解析。
   
 指令                       功能说明
comment = 指的是对改共享的备注<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

security = share/user     #访问不需要口令/访问需要用户名和口令
public = yes/no           #所有用户可访问/不是所有用户可访问
browseable = yes/no       #显示共享/隐藏共享
path = 共享物理路径       #共享的物理路径
writable = yes 写入权限   #所有能访问的用户都有写入权限
write list = 用户名 @组名 #指定的用户和组有读写权限
guest account = 用户名         #把来宾用户映射成一个SAMBA用户
read only = yes/no    #只读的权限/读写权限
allow hosts = host(subnet)  #一段可访问的IP地址范围
valid users = user(@group) #指定使用该共享目录的用户或组
invalid users = user(@group) #指定不能使用该共享资源的用户或者组
readwrite/admin list = user(@group) #指定只能读取(读取写入/管理)该共享资源的用户和组
create mode = 0755 指明建立的文件属性,一般为0755 

匿名访问:

Vi /etc/samba/smb.conf修改主配置文件
58  security = share (访问不需要口令)
匿名用户不需要口令即可访问samba服务器。
访问需要用户名和口令

建立samba用户。它不使用系统用户账号登陆,而是维护自己用户账号文件。Samba服务器的用户账号保存在“etc/samba”目录中。
#useradd 1

#smbpasswd –a 1

修改主配置文件:
Share = user
用户2没权限访问share  
允许访问共享的网段

hosts allow = 192.168.1.1 192.168.1.127  (不在范围内的主机不能访问 samba 服务器。)
 
每个用户可以访问自己的宿主目录,并且只有该用户能访问宿主目录,并具有完全的权限,而其他人不能访问你的宿主目录

创建samba用户3和用户4.并创建宿主目录。

 

Share = user 启用认证机制

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

[homes]     #共享名

comment = Home Directories #共享文件夹说明

browseable = no        #隐藏共享

writable = yes      #写入权限

valid users = %S        #只有本系统用户才能访问

create mode = 0664       #创建文件的默认权限

directory mode = 0775    #创建目录的默认权限