• linux搭建smb、挂载smb、Windows共享


    实现Linux系统之间共享文件资源以及在Linux系统与Windows系统之间共享文件

    Samba软件包的构成

    • 服务端:samba
    • 客户端:samba-client
    • 公共组件:samba-common
    • Smbd:负责为客户机提供服务器中共享资源(目录和文件)的访问,监听139端口(smb协议),445端口(cifs协议)
    • Nmbd:负责提供基于netblos协议的主机名称解析,以便为windows网络中的主机进行查询服务,监听137-138端口(netblos协议)

    Samba服务的程序组件

    主配置文件路径

    /etc/samba/smb.conf 

    配置文件参数解释

    [global]

    #全局参数。

    workgroup = MYGROUP

    #工作组名称

    server string = Samba Server Version %v

    #服务器介绍信息,参数%v为显示

    SMB版本号

    log file = /var/log/samba/log.%m

    #定义日志文件的存放位置与名称,

    参数%m为来访的主机名

    max log size = 50

    #定义日志文件的最大容量为50KB

    security = user

    #安全验证的方式,总共有4种

    #share:来访主机无需验证口令;比较方便,但安全性很差,7.0以上系统不支持share,

    使用user模式,map to guest=bad user代替

    #user:需验证来访主机提供的口令后才可以访问;提升了安全性

    #server:使用独立的远程主机验证来访主机提供的口令(集中管理账户)

    #domain:使用域控制器进行身份验证

    passdb backend = tdbsam

    #定义用户后台的类型,共有3种

    #smbpasswd:使用smbpasswd命令为系统用户设置Samba服务程序的密码

    #tdbsam:创建数据库文件并使用pdbedit命令建立Samba服务程序的用户

    #ldapsam:基于LDAP服务进行账户验证

    load printers = yes

    #设置在Samba服务启动时是否共享

    打印机设备

    cups options = raw

    #打印机的选项

    [homes]

    #共享参数

    comment = Home Directories

    #描述信息

    browseable = no

    #指定共享信息是否在“网上邻居”中可见

    writable = yes

    #定义是否可以执行写入操作,

    与“read only”相反

    [printers]

    #打印机共享参数

    comment = All Printers

    path = /var/spool/samba

    #共享文件的实际路径(重要)。

    browseable = no

    #网络发现是否可见

    guest ok = no

    #是否所有人可见,等同于"public"参数。

    writable = no

    #是否允许写入

    printable = yes

    u  部署samba服务

    匿名方式访问

    准备环境

    setenforce 0                      //关闭selinux
    systemctl stop firewalld          //关闭防火墙

    1.搭建本地yum源。

    2.使用yum方式安装samba服务程序

    yum install -y samba*             //yum方式安装samba服务
    1. 创建共享的目录
    2. 编辑主配置文件设置匿名共享,设置共享目录
    3. 重启服务,使用windos访问验证,无法访问请检查iptable 防火墙
    mkdir -p /var/public              //创建要共享目录
    vim /etc/samba/smb.conf                   //编辑samba主配置文件
    ------------------添加或者修改红色部分的参数-----------------
    [global]
            workgroup = SAMBA
            security = user            //7.0以下系统将user改为share
            passdb backend = tdbsam
            map to guest = bad user            //7.0以上匿名访问必加
    [public]                                  //共享目录名称
            comment = public                  //共享描述
            path = /var/public                //共享目录路径
            guest ok = yes                     //共享目录是否所有人可见
            read only = yes                    //是否只读
            browseable = yes                   //网络发现是否可见
    systemctl restart smb                     //重启samba服务
    用户验证的共享

    案例:创建一个共享目录/var/yonghu/,只有zhangsan和lisi可以访问共享,只有zhangsan有可以写入的权限

    注意:创建共享用户前需要有对应的系统用户

    1. 创建共享用户zhangsan、lisi,创建共享的目录
    2. 修改smb配置文件,设置共享目录
    Useradd zhangsan          //创建系统用户zhangsan
    Useradd lisi              //创建系统用户lisi
    Pdbedit -a -u zhangsan     //创建共享用户zhangsan,-a添加-u指定用户
    Pdbedit -a -u lisi         //创建共享用户lisi,-a添加-u指定用户
    Mkdir /var/yonghu         //创建共享目录
    vim /etc/samba/smb.conf           //编辑samba主配置文件
    ------------------添加或修改红色部分参数-------------------
    [global]
            workgroup = MYGROUP
            security = user
            passdb backend = tdbsam
            map to guest = bad user    //匿名访问必加,否则需要密码
    [public]
            comment = public
            path = /var/public
            guest ok = yes
    [yonghu]                          //共享目录名称
            comment = yonghu           //描述
            path = /var/yonghu         //共享目录路径
            public = no        //是否所有人可见
            read only = yes            //是否只读
            valid users = zhangsan,lisi       //哪些用户可以访问
            write list = zhangsan      //哪些用户可以写入,组加“@组名”
            directory mask = 0755      //用户上传目录权限为755
            create mask = 0644         //用户上传文件权限为644

    3.给予共享目录777权限

    Chmod -R 777 /var/yonghu          //更改共享目录的权限为777

    4.重启smb服务验证权限

    systemctl restart smb             //重启samba服务

    windows清除smb的连接会话

    net use                           //查看连接会话
    net use * /del                    //清除连接会话
    用户映射的共享(安全性高)

    正常情况下,一个共享账号都有一个同名的系统账号很不安全,可以使用映射的方式,将一个共享用户映射为多个不同的名称(别名),只需要通过共享用户的别名和密码就能访问资源了,而不需要知道真正的共享用户(系统用户)名称

    默认的共享账号映射文件位于:/etc/samba/smbusers

    启用映射功能,需要修改主配置文件,在全局配置加入:

    username map=/etc/samba/smbusers

    重启服务即可生效

    访问地址限制

    在global或者配置里面添加hosts allow或者hosts deny即可

    Hosts allow = 192.168.2.  172.16.      //允许192.168.2.0,172.16.0.0网段访问
    Hosts deny = 192.168.3.  172.14.      //拒绝192.168.3.0,172.14.0.0网段访问
    使用smbclient访问共享

    查询共享资源列表

    smbclient -L 192.168.2.162 -U administrator

    匿名访问共享文件夹

    smbclient //192.168.2.223/public

    使用用户名、别名访问共享

    smbclient -U ls //192.168.2.223/zhangsan
    挂载共享目录

    Linux下挂载samba共享目录

    1.使用yum安装cifs-utils工具
    yum install -y cifs-utils                 //yum安装cifs-utils工具
    2.使用smbclient工具查询共享目录
    smbclient -L 192.168.2.224                //查询2.224的共享目录
    匿名挂载方法
    mount.cifs //192.168.2.223/public /ceshi
                              //将public目录挂载到本地ceshi目录
    指定用户挂载
    mount.cifs //192.168.2.223/yonghu /ceshi/ -o username=zhangsan,password=aaa
               //将yonghu目录挂载到本地ceshi目录,指定用户名zhangsan

    Linux下挂载windos共享目录

    1.使用smbclient工具查询共享目录
    smbclient -L 192.168.2.224                //查询2.224的共享目录
    2.挂载windos共享目录
      ①mount -t cifs -o username=administrator,password=123 //192.168.2.162/d /ceshi/                 //将d盘挂载到本地的ceshi目录
      ②mount -t cifs -o username=administrator,password=666,vers=2.0 //192.168.9.1/test /media/windows
    smb常见故障

    注意:如果windows无法访问,先使用其他客户端或者linux测试是否能访问,然后在排除故障

    1.win7访问Linux Samba的共享目录提示“登录失败:用户名或密码错误”解决方法:

    单击”开始“-“运行”,输入secpol.msc,打开“本地安全策略”,在本地安全策略窗口中依次打开“本地策略”-->“安全选项”,然后再右侧的列表中找到“网络安全:LAN管理器身份验证级别”,把这个选项的值改为“发送 LM 和 NTLM – 如果已协商,则使用 NTLMv2会话安全”,最后应用确定,然后重新连接测试
  • 相关阅读:
    NSURLRequest 使用(网络文摘)
    plist字段列表,很全
    版本控制的发展历史
    UIApplication深入研究
    centos下vi 命令用法
    Oracle Business Intelligence Downloads
    为什么要学习Python语言
    BeginInvoke方法
    利用fsutil命令生成指定大小的文件
    彻底清除Windows共享登录的用户名和密码
  • 原文地址:https://www.cnblogs.com/-xuan/p/10293859.html
Copyright © 2020-2023  润新知