• 网络服务-SAMBA(文件服务共享)


    一、和ftp区别

      ftp 的 优缺点 :

    优点:文件传输、应用层协议、可跨平台

    缺点:只能实现文件传输,无法实现文件系统挂载;无法直接修改服务器端文件

      Samba 的特性 :

        使用 smb/cifs 协议、可跨平台、可实现文件系统挂载、可实现服务器端修改文件

    二、Samba 服务详解

      协议:SMB / CIFS

      服务:smb 实现资源共享、权限验证  端口:TCP 139 445

      配置文件:( /etc/samba/ )

    Smb.conf  主配置文件

    Smbusers  别名配置文件

      登陆验证模式(安全级别)

    (1) share 匿名验证

    (2) user 本地用户验证。

      使用本地用户的账号,单独设置Samba密码

      pdbedit -a username  新建samba用户(相当于将系统用户转化为Samba用户)

      pdbedit -x username  删除用户

      pdbedit -L  列出Samba用户列表,读取passdb.tdb 数据库文件

    (3) 别名用户访问(虚拟用户)

      常见配置参数解释

    [global]用于定义Samba服务器的总体特性,其配置项对所有共享资源生效
      workgroup = WORKGROUP
      #设定 Samba Server 所要加入的工作组或者域。
      server string = Samba Server Version %v
      #设定 Samba Server 的注释,可以是任何字符串,也可以不填。宏%v表示显示Samba的版本号。
      interfaces = lo eth0 192.168.12.2/24
      #设置Samba Server监听哪些网卡,可以写网卡名,也可以写该网卡的IP地址。
      hosts allow = 127. 192.168.1. 192.168.10.1
      #表示允许连接到Samba Server的客户端,多个参数以空格隔开。可以用一个IP表示,也可以用一个网段表示。
      hosts deny 与hosts allow 刚好相反(二选一)。
      例如:
      hosts allow=172.17.2. EXCEPT172.17.2.50
      表示容许来自172.17.2.*.*的主机连接,但排除172.17.2.50
      hosts allow=172.17.2.0/255.255.0.0
      表示容许来自172.17.2.0/255.255.0.0子网中的所有主机连接
      log file = /var/log/samba/log.%m
      #设置Samba Server日志文件的存储位置以及日志文件名称。在文件名后加个宏%m(主机名),表示对每台访问
      Samba Server的机器都单独记录一个日志文件。
      max log size = 50
      #设置Samba Server日志文件的最大容量,单位为kB,0代表不限制
      security = user
      #设置用户访问Samba Server的验证方式。
      passdb backend = tdbsam
      load printers = yes/no
      #设置是否在启动Samba时就共享打印机
    [homes]用于设置用户宿主目录的共享属性(特殊共享) [homes] #共享名(特殊共享,泛指每个用户对应的家目录)   comment
    = Home Directories #共享描述   browseable = no #共享是否可被查看   writable = yes #共享是否可写   ;valid users = %S #允许访问该共享的用户   例如:valid users = bob,@bob(多个用户或者组中间用逗号隔开,如果要加入一个组就用“@组名”表示。)
    [printers]用于设置打印机共享资源的属性(特殊共享,共享打印设备,现在基本不用) [printers] #共享名   comment
    = All Printers #共享描述   path = /var/spool/samba #共享路径   browseable = no #共享是否可被查看   guest ok = no #是否可以匿名访问,类似于public   writable = no #是否可写   printable = yes #是否可以打印
    [自定义]自定义共享区域 [自定义] #共享名   comment
    = the share is xbz #共享描述   path = /share/zdy #共享路径   public = yes #是否可以匿名访问,类似于guest ok   browseable = yes #共享是否可被查看   writable = yes #是否可写(同时设置目录的W) 配置文件检查工具   testparm :若显示"Loaded services file OK."信息表示配置文件的语法是正确的   -v:显示samba所支持的所有选项

      访问控制

      写入权限的控制方式(类似于vsftp的限制方式):

      ◆ 配置文件开启,文件系统严格控制(尽量采用这种)

        writable = yes

        setfacl 或 chmod 777

      ◆ 文件系统开启,配置文件严格控制

        chmod 777 /dir

        read only = yes

        write list = 用户,@组

      客户端登录方式

    Linux 端:

      smbclient -U 用户名 -L //服务器 IP #查看服务器共享

      smbclient -U 用户名 //服务器 ip/共享名 #登录服务器共享

    Window 端

      \服务器 ip共享名

      net use * /del #清空登录缓存

    三、Samba部署实验

    注:先关闭服务器和客户机上的防火墙和 SELinux

    部署流程:

    1. 服务器端安装 samba

      yum -y install samba

    2. 确认客户端和相关命令软件包是否安装(默认是安装的)

      rpm -q samba-client

      rpm -q samba-common

    3. 创建共享区域

      备份主配置文件

      创建独立的共享区间(仿照模板编写)

    4. 启动 smb 服务并查看默认共享区域

      a、service smb start

      b、smbclient -U 用户名 -L smbserverIP

    本地验证(登录、上传、下载)

      a、 修改配置文件(添加自定义共享)

      [自定义]

      comment = the share is xbz

      path = /share/zdy

      public = yes

      browseable = yes

      writable = yes

      b、 创建共享目录并给定相应权限

        mkdir /share/zdy

        chmod 777 /share/zdy #最好使用 ACL 权限

      c、 测试配置文件并重启服务

        testparm

        service smb restart

      d、 首先,创建 Linux 用户

        useradd -s /sbin/nologin zhangsan

        passwd zhangsan #不需要创建系统密码

      e、 转换为 samba 用户

        pdbedit -a zhangsan

      f、 客户端查看共享文件夹并登录测试

        smbclient -U zhangsan –L IP 地址

        smbclient –U zhangsan //IP 地址/共享名

    注:由于未设置上传文件的默认权限,指定用户上传的文件只有自己能修改和覆盖。

    访问控制 - 通过配置限制

      valid users 仅允许部分用户访问共享区域

      注:前提条件是指定目录权限给到最大,通过修改配置文件来实现实验结果

    部分用户登录 samba 服务器

      修改/etc/samba/smb.conf 中自定义的共享区域

      添加:设置合法用户列表

        valid users = 用户,@组(多个逗号分隔)

    部分用户对共享区域有写权限

      修改/etc/samba/smb.conf 中自定义的共享区域

      添加:开启只读,设置可写列表

        read only = yes

        write list = lisi

    设置上传文件的默认权限

      create mask 文件的默认权限

      directory mask 目录的默认权限

    修改配置文件自定义的共享区域

      添加:

        create mask = 666

        directory mask = 777

    用户别名 虚拟用户)

      1) 添加别名(/etc/samba/smbusers)

        添加:zhangsan = zs

      2) 启用别名(修改主配置文件)

        vim /etc/samba/smb.conf

        添加:username map = /etc/samba/smbusers

      3)测试

        smbclient -U 别名 //服务器 ip/共享名

    映射网络驱动器 挂载)

    Linux 下:

      临时挂载:

        mount -t cifs -o username=xxx,password=xxx //服务器 ip/服务器共享 /本地挂载目录

      永久挂载:/etc/fstab

        //服务器 ip/服务器共享 /本地挂载目录 cifs defaults,username=xxx,password=xxx 0 0

    Window 下:

      我的电脑、计算机、此电脑、这台电脑等右键映射网络驱动器【注意是反斜杠

  • 相关阅读:
    The Tower of Hanoi
    POJ 3259:Wormholes
    第二数学归纳法
    Josephus Problem
    想成为Java高手的25个学习目标
    How to find a cycle of length 4?
    Fabonacci Numbers
    通过参数离线安装SharePoint 2010[转]
    Sharepoint2010文档库权限问题
    BizTalk 2010 学习笔记——第一章 BizTalk 2010 概述
  • 原文地址:https://www.cnblogs.com/yellowzunzhi/p/12613103.html
Copyright © 2020-2023  润新知