与smaba服务器相关的协议: 
  
 
  

    CIFS:Common Internet File System(通用互联网文件系统) 
  
 
  

    SMB:Server Message Block(服务信息块) 
  
 
  

    NETBIOS:Network Basic Input Output System(网络基本输入输出系统,主要用于在windows上解析主机名) 
  
 
  

    windows中通过UNC (Universal Naming Convention,通用命名规则),访问服务器共享文件,格式为: 
   
 
   \\IP\sharefile_name 
   
  

     在服务器端如果想要共享多个文件,需要使用不同的共享名称 
   
 smaba使用的端口号: 
   
137/udp,138/udp,139/tcp主要用于netbios服务(nmbd) 
   
445/tcp主要用于共享文件(smbd) 
   
samba受selinux控制,因此运行此服务时,最好先将selinux关闭 
   
samba server 配置为需要验证账号和密码时,账号是系统上的用户,密码是将该用户加入samba用户列表中时设定的密码 
   
文件共享权限:取决于共享权限和文件系统权限 
   
  

    samba配置和安装 
  
 
  

    yum install samba3x-client samba3x-common samba3x sambax-swat 
  
 
  

    samba3x-client:客户端工具 
  
 
  

    samba3x-common:客户端和服务器端通用软件 
  
 
  

    samba3x:服务器端 
   
samba3x-swat:可通过浏览器图形界面配置samba 
   
  

    服务启动脚本 
   
/etc/rc.d/init.d/smb 该脚本控制nmbd smbd两个服务 
   
/etc/samba/smb.conf    smaba主配置文件 
   
/etc/samba/smbusers:将linux上用户映射为windows用户 
   
  

    共享文件时,在配置文件中添加以下内容即可: 
   
[shared_name] 共享名称 
   
comment = 注释 
   
path = 共享文件路径 
   
browseable = 是否可以被浏览 
   
public = 是否允许匿名访问(相当于guest ok) 
   
read only | writable = 是否只读 
   
  

    write list = user1, 
   user2,@group, +group允许具有写权限的用户或组 
   
valid users = 白名单 
   
invalid users = 黑名单 
   
  

      
   
testparm 测试配置文件是否有错误 
   
service smb start 启动服务 
   
smbpasswd 
   
 -a 添加系统用户为smaba上的用户 
   
 -x 删除smaba上的用户 
   
  

     -d 禁用smaba上的用户 
   
 -e 启用smaba上禁用的用户 
   
 smbpasswd -a hadoop添加系统账号为samba账号 
   
 setfacl -m u:hadoop:rwx /share/test 设定hadoop用户对共享文件具有读写可执行权限 
   
  

      
  
 
  

    客户端命令 
   
smbclient 
   
 -L NetBIOS_Name 指定访问的主机 
   
 -U username指定用户名 
   
  

    用法示例: 
  
 
  

    smbclient -L 192.168.0.6 匿名访问192.168.0.6主机上的共享文件 
  
 
  

    smbclient -L 192.168.0.6 -U hadoop 以hadoop用户的身份访问共享文件 
   
smbclient //192.168.0.66/test -U usrname 
   
 lcd 切换到本地目录(!cd) 
   
  

    pwd:显示共享文件路径 
  
 
  

    !pwd:显示本地路径 
   
 将共享文件挂载到本地 
   
 mount -t cifs //192.168.0.66/tools /mnt -o username=hadoop 
   
  

                 -t指定文件系统                          -o指定用户 
   
 开机自动挂载 
   
  

    编辑/etc/fstab,添加一项内容 
   
 //192.168.0.66/tools /mnt cifs credentials=/etc/samba/passwd 0 0 
   
创建文件/etc/samba/passwd,写入用户名和密码,如下所示 
   
  

     username=hadoop 
   
 password=redhat 
   
  

    修改文件权限 
   
 chmod og=--- /etc/samba/cred.passwd 
   
 即可实现自动挂载 
   
  
   
samba的访问控制 
   
  

    基于iptables的访问控制 
  
 
  

    根据实际需要开放或关闭137、138、139、445端口即可  
   
修改samba配置文件,实现访问控制 
   
  

    hosts allow = 
  
 
  

    samba-swat 基于web的图形配置界面 
   
守护进程: 
   
 standalone独立守护进程 
   
 transient,短暂(瞬时守护进程 
   
 xinetd 超级守护进程 
   
  

    启用swat服务(配置文件/etc/xinetd.d/swat): 
   
chconfig swat on 
   
service xinetd restart 
   
配置文件/etc/xinetd.d/swat



等过浏览器登录 http://IP:901即可实现图形界面配置samba

https://blog.51cto.com/linuxgfc/1052656