功能介绍:

     Samba(SMB是Server Message Block其缩写) 是一个网络服务器,用于Linux和Windows共享文件之用.Samba即可以用于Windows和Linux之间的共享文件,也一样用于Linux和Linux之间的共享文件,不过对于Linux和Linux之间共享文件有更好的网络文件系统NFS,NFS也是需要架设服务器的.大家知道在Windows 网络中的每台机器即可以是文件共享的服务器.Samba 也一样能行,比如一台Linux的机器,如果架了Samba Server后,它能充当共享服务器,同时也能做为客户机来访问其它网络中的Windows共享文件系统,或其它Linux的Sabmba 服务器.我们在Windows网络中,看到共享文件功能知道,我们直接就可以把共享文件夹当做本地硬盘来使用.在Linux的中,就是通过Samba的向网络中的机器提供共享文件系统,也可以把网络中其它机器的共享挂载在本地机上使用.这在一定意义上说和FTP是不一样的,Samba是用的NETBIOS协议。

守护进程:

  SMB是Samba 的核心启动服务,主要负责建立 Linux Samba服务器与Samba客户机之间的对话, 验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听139 TCP端口。

       NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启 动,就只能通过IP来访问共享文件,监听137和138 UDP端口。

安装软件:

    yum -y install samba


配置文件:

 vi /etc/samba/smb.conf

    workgroup = WORKGROUP             //工作组

     server string = Samba Server %v        //备注信息

     netbios name = Samba Server         //NetBios名字

    interfaces = lo 192.168.1.128/24        //Samba服务IP

     hosts allow = 127. 192.168.1.       //白名单,允许访问的IP

     security = share             //运行级别:share,user,domain,server

    log file = /var/log/samba/log.%m      //日志文件存放处


共享参数:

#=====================================ShareDefinitions=====================================


[PlutoSamba]                  //共享名

comment = Pluto Samba Service         //备注信息

path = /Pluto                 //目录路径

browseable = yes/no               //读取

writable = yes               //写入

write list = @samba,kimi            //允许写入该共享的用户或组

available = yes/no            //执行

guest ok = yes/no               //匿名访问

public = yes/no                //意义同“public”

admin users = root,king          //该共享的管理者 

valid users = @samba           //允许访问该共享的用户或组

invalid users = @sale,@technology  //禁止访问该共享的用户或组   

   

Samba安装好后,使用testparm命令可以测试smb.conf配置是否正确。使用testparm –v命令可以详细的列出smb.conf支持的配置参数

==========================================实例===========================================

需求:1. 在系统分区时单独分一个Samba的区,在该区下有以下几个文件夹:HR、 FM和Share。在Share下又有以下几个文件夹:HR、FM和Tools。

           2. 各部门对应的文件夹由各部门自己管理,Tools文件夹由管理员维护。

           3. HR管理员账号:hrroot;普通用户账号:hruser。FM管理员账号:fmroot;普通用户账号:fmuser。

[root@pluto /]# useradd -s /sbin/nologin hrroot

[root@pluto /]# useradd -g hrroot -s /sbin/nologin hruser

[root@pluto /]# useradd -s /sbin/nologin fmroot

[root@pluto /]# useradd -g hrroot -s /sbin/nologin fmuser

[root@pluto /]# useradd -s /sbin/nologin smbroot

[root@pluto /]# smbpasswd -a hrroot

New SMB password:

Retype new SMB password:

Added user hrroot.

[root@pluto /]# smbpasswd -a hruser

New SMB password:

Retype new SMB password:

Added user hruser.

[root@pluto /]# smbpasswd -a fmroot

New SMB password:

Retype new SMB password:

Added user rom.

[root@pluto /]# smbpasswd -a fmuser

New SMB password:

Retype new SMB password:

Added user ram.

[root@pluto /]# smbpasswd -a smbroot

New SMB password:

Retype new SMB password:

Added user smbroot.

[root@pluto /]# mkdir /Samba/pluto

[root@pluto /]# cd /Samba/pluto

[root@pluto pluto]# mkdir HR FM Share

[root@pluto pluto]# cd Share/

[root@pluto Share]# mkdir HR FM Tools

[root@pluto ~]# vi /etc/samba/smb.conf

 security = user

  [HR]

  comment = This is a directory of HR.

  path = /Samba/pluto/HR

  public = no

  admin users = hrroot

  valid users = @hrroot

  writable = yes

  create mask = 0750

  directory mask = 0750

  [FM]

  comment = This is a directory of FM.

  path = /Samba/pluto/FM

  public = no

  admin users = fmroot

  valid users = @fmroot

  writable = yes

  create mask = 0750

  directory mask = 0750

  [Share]

  comment = This is a directory of Share.

  path = /Samba/pluto/Share

  public = no

  valid users = smbroot,@hrroot,@fmroot

  writable = yes

  create mask = 0755

  directory mask = 0755

:wq!