zoukankan      html  css  js  c++  java
  • 如来神掌第一式第十九招----Samba 详解

    ###############################################################################
    # Name : Mahavairocana                                                                                                                                           
    # Author : Mahavairocana                                                                                                                                         
    # QQ : 10353512                                                                                                                                                    
    # WeChat : shenlan-qianlan                                                                                                                                      
    # Blog : http://www.cnblogs.com/Mahavairocana/                                                                                                       
    # Description : You are welcome to reprint, or hyperlinks to indicate the                                                                        
    #                    source of the article, as well as author information.                                                                                ###############################################################################

    一、samba简介:(Server Messages Block,信息服务块)为了实现Windows主机与Linux服务器之间的资源共享,Linux操作系统提供了Samba服务,Samba服务为两种不同的操作系统架起了一座桥梁,使Linux系统和Windows系统之间能够实现互相通信,为广泛的Linux爱好者提供了极大方便。

    两个主要进程:
    1.nmbd :提供NETBIOS 名称解析的                         
    2.smdb : 提供文件共享的。

    由NETBIOS协议对于windows来讲监听TCP的139端口和UDP的137,138端口 ,所以nmbd在linux上模拟出了udp的137和138端口,以及tcp的139端口,smdb上模拟出 tcp的445端口。而SAMBA将在Linux上同时监听这4个端口。

    二、Samba客户端配置

    首先先记录下在linux客户端怎么用命令访问windows或者linux的共享文件夹

    第一步 smbclient -L //192.168.100.5 -U Mahavairocana (smbclient是命令 -L是列出服务器有哪些共享文件 -U后面跟着的是用户名)

    第二步 输入密码后会看到服务器共享的文件夹,然后用命令 smbclient //192.168.100.5/资源共享 -U Mahavairocana 进入服务器,输入密码后会看到如下(我登陆的是windows的共享文件)

    Password:
    Domain=[DC] OS=[Windows Server 2003 3790 Service Pack 2] Server=[Windows Server 2003 5.2]
    smb: >

    第三步 使用help可以查看命令使用方法,常用的有ls cd get put exit等

    第四步 VISTA和WIN7访问要 \www.google.com obody 或者 \www.google.comguest 这样

    第五步 WIN7如果还不能访问,修改注册表

    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa

    LmCompatibilityLevel  的值等于  1

    第六步 windows上访问修改删除不会及时刷新

    HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer

    NoSimpleNetIDList   的值等于  1


    -----------------------------------------------------------------------------------------------------------------

    Samba服务器配置部分

    第一步:
    
    进入 /etc/samba 目录,备份下smb.conf,然后删除这个文件,自己重新建立一个,输入如下内容
    
    [global]
    workgroup = WORKGROUP
    netbios name = www.test.com # 这里重点中的重点,这个名字最好和机器名一样,远程访问的时候就用这个名字
    server string = C2 is samba server
    security = share
    
    load printers = no            #不加载打印机
    disable spoolss = yes         #隐藏打印机
    cups options = raw            #打印机类型
    
    unix charset = utf8
    dos charset =GBK
    display charset = utf8
    client lanman auth = yes
    client plaintext auth = yes
    
    hosts deny = 192.168.0.55 #阻止这个IP访问SMB
    
    
    [Mahavairocana]
    path = /var/Mahavairocana
    writeable = yes
    browseable = yes
    guest ok = yes
    
    简单解释下上面的内容 [global]全局配置,必须有。前3行都是显示说什么的,security 如果是share就是不用帐号密码,如果是user就是要验证的。
    
    [Mahavairocana]这个是在客户端显示出来共享的目录,path 就是共享的路径了,guest ok 为yes就是不要身份验证。
    
     
    
    第二步:
    
    在 /var/目录建立个文件夹叫 Mahavairocana 用来做共享文件夹用
    
    [root@localhost ~]# id nobody
    uid=99(nobody) gid=99(nobody) groups=99(nobody)
    
    [root@localhost ~]# chown -R nobody:nobody /var/Mahavairocana
    
    OK,然后重启SMB服务器 service smb restart 和 service nmb start 一个简单不用验证的共享服务器就搞定了。
    
    ---------------------------------------------------------------------------------------
    
     
    
    第三步: 做一个需要帐号密码的共享服务器
    
    1. 先用命令 useradd Mahavairocana -s /sbin/nologin(系统建立一个叫Mahavairocana的帐号且不能登陆系统)
    
    2. 然后再用命令 smbpasswd -a Mahavairocana (用这个命令来添加一个SMB的帐户叫Mahavairocana)
    
    3. chown Mahavairocana:Mahavairocana /var/Mahavairocana (让Mahavairocana帐户可以有权限使用/var/Mahavairocana这个目录)
    
    4. 然后修改 /etc/samba/smb.conf 中:
    
    
    [global]
    workgroup = WORKGROUP                    // 用来指定你的机器上网络上所述的NT域名
    netbios name = www.google.com             //主机名,用来访问用的地址,重要
    server string = google is samba server      
    guest account = Mahavairocana                    //如果希望建立一个账号,再次填入用户名,同时在 /etc/passwd 中加入这个账号,否则使用默认的'nobody'作为账号
    security = user
    
    // 这是samba服务器的安全等级。默认为user等级。samba 一共有4种安全等级。
    
    1. share级,共享安全级,用户不需要输入账号和密码就可以登陆
    
    2. user级, 用户安全级,用户需要账号和密码才能登陆
    
    3. server级, 服务器安全级, 检查密码的工作可以指定另一台samba服务器完成
    
    4. domain域安全级, 需要指定一台XP等服务器验证用户密码
    
    
    unix charset = utf8
    dos charset = GBK
    display charset = utf8
    client lanman auth = yes
    client plaintext auth = yes
    
    [Mahavairocana]
    path = /var/Mahavairocana
    writeable = yes
    browseable = yes
    guest ok = no                    //用户需要密码,yes为不需要密码(需要配合上面的 security等级)
    comment = Mahavairocana
    valid users = Mahavairocana              //可访问的用户
    public = no                      //匿名用户看不到
    create mask = 0777
    
    
    主要就是把security改成user guest ok改成no
    
    5. 最后 service smb restart 和 service nmb start 这样就做了个带命令访问的共享文件服务器了
    
    6. 如果开了防火墙打开  
    
     iptables -A INPUT -p tcp --dport 139 -j ACCEPT
     iptables -A INPUT -p tcp --dport 445 -j ACCEPT
     iptables -A INPUT -p udp --dport 137 -j ACCEPT
     iptables -A INPUT -p udp --dport 138 -j ACCEPT
     iptables -A INPUT -i lo -j ACCEPT
  • 相关阅读:
    asp.net(C#)页面事件顺序
    C#多线程学习 之 线程池[ThreadPool]
    JS 获取浏览器窗口大小
    关于Json的那点事
    jquery 动态滚动
    Null,DBNull,String.Empty 区别 C# 转载
    js图片大小限制,设置
    mysql 自定义函数获取两点间距离
    KindleConverter:Word批量转换为6寸PDF
    在 Asp.NET MVC 中使用 SignalR 实现推送功能
  • 原文地址:https://www.cnblogs.com/Mahavairocana/p/8290059.html
Copyright © 2011-2022 走看看