Samba服务器【Linux-shell】

Samba服务器:



    Samba服务器是一种应用于局域网之内,为安装有Windows、Linux等操作系统的主机之间提供文件和打印机共享服务的自由软件。Samba一词来自于对术语SMB服务信息块的扩展,即Samba是SMB的另一种表述。SMB协议是一种可用于实现文件与打印机共享的应用层网络协议。
        1)文件和打印机共享服务
        2)身份验证和授权服务
        3)名字解析服务
        4)浏览服务列表功能
        # http://www.samba.org/
    NetBIOS网络基本输入输出。---->发展成为运行在TCP/IP网络上的NBT协议。

    Samba服务器的守护进程:smbd和nmbd
        smbd进程:用于提供文件和打印机共享服务以及身份验证和授权服务。
        nmbd进程:维护NetBIOS与IP地址之间的映射,提供NetBIOS名字解析服务以及浏览服务列表功能。

    sudo service smb start
    sudo service nmb start
    netstat -lp | grep netbios
    netstat -lp | grep netbios
    # netbios-ssn:表示NetBIOS会话。
    # netbios-ns:表示NetBIOS名字服务。
    # netbios-dgm:表示NetBIOS数据包服务。


    rpm -qa | grep samba
    yum install samba
    #samba:Samba服务器软件以及基本的客户端软件
    #samba-client:增强型的Samba客户端软件
    #samba-common:为Samba服务器软件及客户软件提供一些公共文件
    #samba-winbind:守护进程
    #samba-winbind-clients:winbind服务的客户端软件
    #/etc/samba-->Samba服务器配置文件:  smb.conf主配置文件;lmhosts提供NetBIOS名称与IP地址之间的映射记录;smbusers:Samba用户列表

    smb.conf基本结构:
    【段名称】 
    #3个特别段:[global],[homes],[printers]
    #【global】:关于一些全局参数的设置,如安全级别、工作组等。
    #【homes】:当客户端以Samba用户的身份成功通过验证后,服务器将会根据该段的设置向用户提供共享服务。
    #【printers】:用于提供打印机共享的参数设置。 
    参数名=参数值
    【段名称】
    参数名=参数值
    ……
    ……



    smb.conf主要参数:
    security:表示安全级别,该参数是Samba服务器设置中最为重要的参数之一。
    workgroup:表示所在工作组,一般建议设置为与局域网中Windows主机所在的工作组相同。
    netbios name:表示Samba服务器的NetBIOS名称。
    共享设置方面的参数:  #可使用在共享段
        comment:关于该段的基本说明
        path:共享内容的所在目录
        browseable:是否在可用共享名称列表中显示该段,可设置为yesno
        writable:是否可以向共享目录写入内容,可设置为yesno
        valid users:可以访问共享内容的有效用户列表。
        guest ok:是否开放来宾账号,默认设置为no
    --------------------------------------------------------------------------------------------------------
    利用testparm检查smb.conf:
    testparm #命令行输入testparm
    ---------------------------------------------------------------------------------------------------------
    设置SELinux和防火墙:
    1)设置安全上下文类型为samba_share_t  #对于用户创建的需要共享的目录。如:
        mkdir share
        ls -Zd share
        chcon -t samba_share_t /home/share
        ls -Zd share
    2)SELinux布尔值的设置:
        samba_enable_home_dirs:允许共享用户主目录
        samba_export_all_rw:允许共享由系统创建的目录
        #如 setsebool -P samba_home_dirs on
    ---------------------------------------------------------------------------------------------------
    Samba用户管理:
        Samba用户是指 登录Samba服务器以获取服务的用户,默认情况下Linux用户并非Samba用户,但Samba用户一定首先是Linux用户。
    passdb backend=tdbsam  #Samba用户设置Samba密码,在sam.conf文件中的参数设置
    /var/lib/samba/private  #Samba用户的账号密码信息存储的数据库位置
    pdbedit 【选项】 【Samba用户名】:Samba用户管理
        -L:列出所有Samba用户
        -u:后加Samba用户名参数,指定所要操作的Samba用户
        -a:增加Samba用户,后加Samba用户
        -x:删除一个Samba用户,后加Samba用户参数
        -v:显示用户详细信息
    smbpasswd  【Samba用户】:修改Samba用户密码

    smbstatus 【选项】:查看Samba服务器的使用情况,报告当前Samba服务器的连接
    --------------------------------------------------------------------------------------------------------
    Windows中使用Samba服务:
    1)【Windows徽标键】->【控制面板】->【网络和共享中心】->【高级共享设置】开启
    2)【Windows徽标键】->【计算机】->【文件资源管理器】->【网络】->查看到其中的计算机名称(NetBIOS)->搜索和查看、使用Samba服务器
    3)【Windows徽标键】->【控制面板】->【用户账户】设置账号密码->进行针对特定用户特定目录以共享【选中目录或文件设置】
    4)取消远程连接Samba服务器()清空连接列表:net use * /del
    ----------------------------------------------------------------------------------------------------------
    Linux中使用Samba服务:
    1)使用图形界面工具:
        【桌面面板菜单“位置”】->【连接到服务器】->【服务类型:Windows共享】,【服务器:Windows主机IP或NetBIOS名称或Samba服务器的IP】等->【连接】
        【桌面面板菜单“位置”】->【网络】
    2)smbclient 【选项】 服务名称:访问Samba服务器并使用局域网共享资源
            -L:后加目标主机参数,根据服务名称列出目标主机的共享内容
            -U:后加Samba用户名以指定登录的Samba用户
    #smbclient 【选项】 服务名称 #服务名称:  //目标主机/共享名称
    smbclient -L //LINUX-A -U linux # LINUX-A 为NetBIOS名称。
    smbclient -U think  //think-pc/Documents
        smb:\>
            cd:切换服务主机中的目录
            lcd:切换本地主机中的目录
            del:删除文件
            ls:查看目录内容
            get:下载文件内容
            put:上传文件内容
            quit/exit:退出服务
    3)以挂载方式使用Samba服务:
        mount -t cifs  //主机IP地址/共享目录  挂载点  -o  username=用户名
    mkdir /mnt/think-docs
    mount -t cifs //192.168.126.128/Documents    /mnt/think-docs -o username=linux
    mount | grep think-docs
    cd /mnt/think-docs
    ls
    ---------------------------------------------------------------------------------------------------------------
    配置安全级别为share的Samba服务器:
    NetBIOS名称为LINUX-A的Samba服务器存放共享文件,LINUX-B主机发布共享文件给LINUX-A致使->其他局域网主机能访问LINUX-A上文件。
    echo 192.168.126.128 LINUX-B >> /etc/hosts #192.168.126.128为主机LINUX-B地址。加入到LINUX-A的IP映射中去/etc/hosts
    echo 192.168.126.126 LINUX-A >> /etc/hosts #同理


    workgroup=WORKGROUP
    netbios name=LINUX-A
    hosts allow=192.168.126.0/24
    security=share  #在LINUX-A中修改/etc/smb.conf。本段为【global】段内容

    {BShare]
        comment=share
        path=/home/LINUX-B-Share
        browseable=yes
        guest ok=yes
        writable=no  #加入的自定义共享段。另外,【homes】暂时被注释


    testparm # linux 命令行   #另外,为LINUX-A设置防火墙

    mkdir /home/LINUX-B-Share
    chcon /home/LINUX-B-Share  -t  samba_share_t
    ls -Zd /home/LINUX-B-Share
    useradd LINUX-B-USER
    passwd LINUX-B-USER
`   chcon LINUX-B-USER:LINUX-B-USER  /home/LINUX-B-Share/
    ls -ld /home/LINUX-B-Share  
    #LINUX-A的/home/LINUX-B-Share目录。LINUX-A上操作

    #重启LINUX-A的smb和nmb俩系统服务

    scp -r  /root/backup.d/LINUX-B-USER@LINUX-A:/home/LINUX-B-Share
    #远程复制上传文件
    #LINUX-B主机上操作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值