Samba服务器的配置与使用
阅读原文时间:2021年04月20日阅读:1

一、简介

    Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,SMB(Server Message Block)服务器消息块

    Samba最大的功能是可以用于Linux与windows系统直接的文件共享和打印共享,既可以用于Windows与linux之间的文件共享也可以用于linux与linux之间的资源共享

    基于客户机/服务器的协议,因而一台Samba服务器既可以充当文件共享服务器,也可以充当一个Samba客户端

    Samba在windows下使用的是NetBIOS协议,要使用linux下共享出来的文件,要确认windows系统安装了NetBIOS协议

    组成Samba运行的有两个服务,一个是SMB,另一个是NMB;SMB是Samba 的核心启动服务,主要负责建立 Linux Samba服务器与Samba客户机之间的对话, 验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听139 TCP端口;而NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137和138 UDP端口。

   例如,某台Samba服务器的IP地址为192.168.126.15,对应的工作组名称为MYWORKGROUP,那么在Windows的IE浏览器输入下面两条指令都可以访问共享文件。其实这就是Windows下查看Linux Samba服务器共享文件的方法。

    \\192.168.126.15\共享目录名称

    \\MYWORKGROUP\共享目录名称

    Samba服务器可实现如下功能:WINS和DNS服务; 网络浏览服务; Linux和Windows域之间的认证和授权; UNICODE字符集和域名映射;满足CIFS协议的UNIX共享等。

二、系统环境的准备

    1、查看系统信息

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 

    2、查看yum源中SAMBA版本

[root@localhost ~]# yum list | grep samba

    3、查看IP地址

[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.5.108  netmask 255.255.255.0  broadcast 192.168.5.255
        inet6 fe80::b642:22:a8af:bf02  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:b4:4a:00  txqueuelen 1000  (Ethernet)
        RX packets 19103  bytes 1981791 (1.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 22619  bytes 31439354 (29.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 64  bytes 3840 (3.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 64  bytes 3840 (3.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    4、关闭防火墙及关闭防火墙开机自启

[root@localhost ~]# systemctl stop firewalld.service 
[root@localhost ~]# systemctl disable firewalld.service 
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.

    5、关闭SELINUX

        修改配置文件/etc/selinux/config,将SELINU置为disabled

        配置后如下

[root@localhost ~]# cat /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
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 

三、安装Samba服务

    yum install samba

    查看安装状态

        

        samba-common-libs-4.8.3-4.el7.x86_64              //主要提供samba服务器的设置文件与设置文件语法检验程序testparm

        samba-client-libs-4.8.3-4.el7.x86_64                    //客户端软件,主要提供linux主机作为客户端时,所需要的工具指令集

        samba-4.8.3-4.el7.x86_64                       //服务器端软件,主要提供samba服务器的守护程序,共享文档,日志的轮替,

    查看SMB服务状态 service smb status

    启动SMB服务 systemctl start smb

    开启后:

        

    设置开机启动

        systemctl enable smb

四、配置Samba服务

    主配置文件 /etc/samba/smb.conf

    主配置文件由两部分组成:

        Global Settings:与Samba服务整体运行环境有关的选项,它的设置项目是针对所有共享资源的

        Share Definition:针对共享目录个别的设置,只对当前的共享资源起作用

    pdbedit参数及功能

        

    简单配置:

        打开 /etc/samba/smb.conf

        在最后添加 示例:

[user1]&nbsp;&nbsp;&nbsp;&nbsp; #共享名称database

    comment = user1&nbsp; #描述信息

    path = /tmp/user1 #共享目录

    public = no #关闭所有人可见

    writable = yes #是否有写权限

       

       添加用户并设置密码:

        

       linux上的共享文件夹:

        

        windows上的共享文件夹:

        

    此时就可以在windows或者linux对文件夹进行操作

    删除用户