zoukankan      html  css  js  c++  java
  • Samba服务器的配置与使用

    第一章 Samba简介

    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共享等。
    

    第二章 安装Samba服务

    # yum install -y samba
    # rpm -qa |grep samba
    samba-4.10.4-11.el7_8.x86_64 //服务器端软件,主要提供samba服务器的守护程序,共享文档,日志的轮替
    samba-libs-4.10.4-11.el7_8.x86_64
    samba-common-tools-4.10.4-11.el7_8.x86_64
    samba-common-libs-4.10.4-11.el7_8.x86_64 //主要提供samba服务器的设置文件与设置文件语法检验程序testparm
    samba-client-libs-4.10.4-11.el7_8.x86_64 //客户端软件,主要提供linux主机作为客户端时,所需要的工具指令集
    samba-common-4.10.4-11.el7_8.noarch
    
    # systemctl enable smb
    

    第三章 配置Samba服务

    3.1 配置文件介绍

    主配置文件 /etc/samba/smb.conf
    主配置文件由两部分组成:
    Global Settings:与Samba服务整体运行环境有关的选项,它的设置项目是针对所有共享资源的
    Share Definition:针对共享目录个别的设置,只对当前的共享资源起作用

    3.2 pdbedit用法

    pdbedit用于在samba服务器中创建用户:

    它的用法包括

    pdbedit -a username:新建Samba账户。
    
    pdbedit -x username:删除Samba账户。
    
    pdbedit -L:列出Samba用户列表,读取passdb.tdb数据库文件。
    
    pdbedit -Lv:列出Samba用户列表详细信息。
    
    pdbedit -c “[D]” -u username:暂停该Samba用户账号。
    
    pdbedit -c “[]” -u username:恢复该Samba用户账号。
    
    

    3.3 简单用法示例

    # 编辑配置文件
    # vim /etc/samba/smb.conf
    
    #在最后添加 示例:
    
    [user1]     #共享名称database
     
        comment = 共享目录  #描述信息
     
        path = /data #共享目录
     
        public = no #关闭所有人可见
     
        writable = yes #是否有写权限
    
    
    # mkdir /data
    # chmod -Rf 777 /data
    
    
    
    #添加用户并设置密码:
    # groupadd user1 -g 6000
    # useradd user1 -u 6000 -g 6000 -s /sbin/nologin -d /dev/null
    # pdbedit -a user1
    
    #删除用户:
    # pdbedit -x user1
    # pdbedit -L
    
    

    测试结果:

    //10.0.0.7
    

    第四章 定时备份Samba目录

    samba服务器:

    echo "backup@123" >/etc/rsync.password
    chmod 600 /etc/rsync.password
    
    # 备份脚本:
    # vim /server/scripts/samba_backup.sh
    #!/bin/bash
    cd /data
    find ./ -type f -mtime -1 ! -name "finger*"|xargs md5sum >./finger.txt
    rsync -aqrtopg --delete  /data/ rsync_backup@10.0.0.241::samba --password-file=/etc/rsync.password
    
    # 定时任务:
    crontab -e
    * 1 * * * /bin/bash /server/scripts/samba_backup.sh &>/dev/null
    

    备份服务器:

    # mkdir -p /server/scripts/
    # chown -R rsync:rsync /data/samba_bak
    
    # vim /server/scripts/samba_bak_ser.sh
    
    #!bin/bash
    Backup_dir="/data/samba_bak"
    cd $Backup_dir
    # check backup data ,md5sum -c根据已生成的md5值,对文件进行校验,MD5文件与待验证的文件在同一个目录中 
    find ./ -type f -name "finger.txt"|xargs md5sum -c >/tmp/check.txt  
    
    # send check mail 
    
    mail -s "check backup info for $(date +%F -d -"1day") data" nishi1281@163.com </tmp/check.txt
    
    # 定时任务:
    crontab -e
    * 1 * * * /bin/bash /server/scripts/samba_bak_ser.sh &>/dev/null
    
  • 相关阅读:
    Linux文件编辑器 vi
    Sudo 和 Root 帐号
    Linux基本命令篇的习题解答
    Linux应用篇
    VMware中虚拟机网卡的四种模式
    Ubuntu游戏集合
    Linux与Window文件共享
    Linux知识点滴II
    [转载][翻译]jQuery Mobile教程创建一个订餐web应用(下)
    在WPF中创建带有刻度线的滑动条
  • 原文地址:https://www.cnblogs.com/nsthink-666/p/13190705.html
Copyright © 2011-2022 走看看