• Samba服务配置及配置文件说明


    前言

    1、配置Samba服务为什么要关闭防火墙(firewalld)和Selinux?

    在linux操作系统中默认开启了防火墙,Selinux也处于启动状态,一般状态为enforing;所以,在我们搭建任何服务(每个服务都有自己的端口),由于防火墙和Selinux的存在导致服务的端口被拦截了,虽然可以用命令查看服务的监听端口,任然会访问不到自己搭建的服务!

    2、关闭防火墙和Selinux

    [root@localhost ~]# systemctl stop firewalld
    [root@localhost ~]# systemctl disable firewalld
    Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
    Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
     //关闭防火墙开机自启
    
    [root@localhost ~]# vim /etc/selinux/config 
    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #     enforcing - SELinux security policy is enforced.
    #     permissive - SELinux prints warnings instead of enforcing.
    #     disabled - No SELinux policy is loaded.
    SELINUX=enforcing              //将enforcing换成disabled
    # SELINUXTYPE= can take one of these three values:
    #     targeted - Targeted processes are protected,
    #     minimum - Modification of targeted policy. Only selected processes are protected. 
    #     mls - Multi Level Security protection.
    SELINUXTYPE=targeted
     [root@localhost ~]# setenforce 0        //临时关闭selinux,也可以重启(永久生效)
    [root@localhost ~]# getenforce            //与setenforce是一对,这个是查看selinux是否生效
    Permissive

    一、Samba服务

    1、Samba服务介绍

    1️⃣:服务全称:Samba — SMB(Server Message Block服务器消息块--微软研发   CIFS)

    2️⃣:服务功能:为网络(局域网)中客户机(Linux/Windows)提供文件和目录资源共享

    3️⃣:服务模式:C/S 客户机服务器模式

    4️⃣:模式的特点:服务的提供就需要在服务器端运行服务端程序,服务的访问则需要在客户机端运行客户端程序

    5️⃣:服务客户端程序

      Linux:smbclient(查看共享、访问共享)    mount.cifs == mount -t cifs

      Windows:GUI-资源管理器(查看、访问)  映射网络驱动器

    2、Samba服务相关软件包

    1️⃣:服务软件包:samba

    2️⃣:服务进程名:smbd(核心) 和 nmbd

      smbd:提供文件和目录共享,以及身份验证(默认情况下,是基于IP地址的访问共享)

      nmbd:提供客户端通过服务器主机名的方式访问共享

    3️⃣:服务端口号:

      TCP:139和445(smbd)    tcp端口相对应的服务是smbd服务,其作用是提供对服务器中文件、打印资源的共享访问

      UDP:137和138(nmbd)   udp端口相对应的服务是nmbd服务,其作用是提供基于NetBIOS主机名称的解析

    3、Samba服务配置文件

    1️⃣:服务配置主文件:/etc/samba/smb.conf (包括全局配置、共享配置[用户目录及打印机共享、自定义共享])

    2️⃣:服务管理脚本文件:/etc/rc.d/init.d/smb  | nmb

    3️⃣:技术手册:/usr/share/doc/samba-版本号(直接Tab两下查看)

    4、Samba主配置文件中相关参数介绍

    1️⃣:SAMBA安全级别

      share:匿名访问,即客户端访问共享时不必输入用户名和密码,较为常用

      user:(默认)基于身份认证访问,即客户端访问共享时必须输入正确的用户名和密码,较为常用

      server:使用指定主机进行身份验证。即基于远程主机完成认证的访问

      domain:使用指定域控制器进行身份验证。即基于远程主机完成认证的访问

    2️⃣:配置文件中规则:

      #号开头的行为注释行

      ;号开头的行为备用设置参数,需要启用时,删除分号

      设置参数的方式为  参数 = 值 (等于号前后各有一个空格)

      可采用缩进功能,仅使文档清晰

    3️⃣:常用参数及意义

      workgroup = MYGROUP            //工作组名称  

      server string = qiangge Samba Server      //服务器描述

      netbios name = SMBSERVER1            //SAMBA服务NETBIOS名,可与hostname不同

      interfaces = lo eth0 192.168.12.2/24   192.168.13.2/24             //提供服务的接口,可写接口名,IP地址等

      hosts allow = 127. 192.168.12. 192.168.13.                   //允许访问服务的客户端,可写网络号,主机IP地址等

      log file = /var/log/samba/log.%m          //以每一个客户机建立一个独立的日志文件,%m代表以客户机主机名或IP地址为文件名的组成部分

      max log size = 50            //日志文件的大小,单位默认为KB

      security = user

        share:匿名访问,即客户端访问共享时不必输入用户名和密码,较为常用

        user:基于身份认证访问,即客户端访问共享时必须输入正确的用户名和密码,较为常用

        server:使用指定主机进行身份验证。即基于远程主机完成认证的访问

        domain:使用指定域控制器进行身份验证。即基于远程主机完成认证的访问

      passdb backend = tdbsam         //SAMBA用户密码数据库文件 

    5、关于共享目录的说明

    [shared_name]                                         [共享资源的共享名称]           //共享目录名称是客户端访问共享时所用的名称,建议与物理目录名称不同更安全

    comment = Comment String                    共享文件描述
    * path = /path/to/share_directory              共享文件的绝对路径
    allow hosts = host(subnet)                       允许访问此共享资源的主机列表
    deny hosts = host(subnet)                       禁止访问此共享资源的主机列表
    * writable = yes|no                                   是否有写权限
    * browseable = yes|no                             是否浏览权限(yes为可见共享,no为隐藏共享)
    user = user(@group)                               设置所有可能使用该共享资源的用户列表
    valid users = user(@group)                     指定能够使用该共享资源的用户和组列表
    invalid users = user(@group)                  指定不能够使用该共享资源的用户和组
    read list = user(@group)                         设置能够读取该共享资源的用户列表
    write list = user(@group)                         设置对该共享资源具有写权限的用户列表
    admin list = user(@group)                       设置对共享资源具有管理权限的用户列表
    * public = yes|no                                      指明该共享资源是否能给游客帐号访问
    guest ok = yes|no                                    与public相同
    hide dot files = yes|no                             是否隐藏以“.”号开头的文件
    create mode = 0755                                指明新建立的文件的属性,一般是0755
    directory mode = 0755                            指明新建立的目录的属性,一般是0755
    sync always = yes|no                              指明写操作后是否进行同步操作
    short preserve case = yes|no                  指明忽略文件名大小写
    preserve case = yes|no                           指明保持文件名大小写
    case sensitive = yes|no                           指明是否对大小写敏感
    mangle case = yes|no                             指明混合大小写
    default case = upper|lower                      指明缺省的文件名是全部大写还是小写
    force user = lt                                          强制指定建立文件的属主是谁
    wide links = yes|no                                  指明是否允许共享外符号连接
    max connections = 100                           设定同时连接数是n
    delete readonly = yes|no                         指明能否删除已经被定义为只读的文件

    root preexec = /bin/mount -t iso9660 /dev/cdrom /mnt/cdrom           自动挂光驱
    root postexec = /bin/umount /mnt/cdrom                                           自动

  • 相关阅读:
    二维码生成代码
    部署javaweb项目到阿里云ecs(centos7)
    mysql基础知识
    IDEA快捷键快速补齐类和对象名
    Redis和elasticsearch
    在asp.net 项目的bin目录中使用子目录
    MVC项目引用备注
    OAuth相关备注
    手动安装windows的磁盘清理工具
    在CentOS上安装 MongoDB
  • 原文地址:https://www.cnblogs.com/itwangqiang/p/13413414.html
Copyright © 2020-2023  润新知