samba 订阅
Samba
信息
操作系统
Windows
开发语言
C/C++
开源协议
GPLv3
Samba
Samba ,是种 自由软件 ,用来让UNIX系列的 操作系统 与 微软 Windows 操作系统的SMB/CIFS(Server Message Block/Common Internet File System)网络协定做连结。在目前的版本(v3),不仅可存取及分享SMB的资料夹及打印机,本身还可以整合入Windows Server的 网域 、扮演为网域控制站(Domain Controller)以及加入Active Directory成员。简而言之,此软件在Windows与UNIX系列OS之间搭起一座桥梁,让两者的资源可互通有无。 Samba是许多服务以及协议的实现,其包括 TCP/IP 上的 NetBIOS ( NBT )、SMB、 CIFS (SMB的增强版本)、 DCE/RPC 或者更具体来说 MSRPC (网络邻居协议套件)、一种 WINS服 务器(也被称作NetBIOS Name Server(NBNS))、NT 域协议套件(包括NT Domain Logons、Secure Accounts Manager(SAM)数据库、Local Security Authority(LSA)服务、NT-style打印服务(SPOOLSS)、 NTLM 以及近来出现的包括一种改进的Kerberos协议与改进的轻型目录访问协议( LDAP )在内的Active Directory Logon服务)。以上这些服务以及协议经常被错误地归类为NetBIOS或者SMB。Samba也能够用于共享打印机。 Samba能够为选定的Unix目录(包括所有子目录)建立网络共享。该功能使得Windows用户可以像访问普通Windows下的文件夹那样来通过网络访问这些Unix目录。
收起全文
精华内容
下载资源
问答
  • samba

    千次阅读 2019-06-29 11:25:10
    一、samba简介 Samba最大的功能可用于Linux与windows系统直接的文件共享和打印共享,Samba既可用于windows与Linux之间的文件共享,也可用于Linux与Linux之间的资源共享,由于NFS的出现,因而 Samba更多用在Linux与...

     

    一、samba简介

    Samba最大的功能可用于Linux与windows系统直接的文件共享和打印共享,Samba既可用于windows与Linux之间的文件共享,也可用于Linux与Linux之间的资源共享,由于NFS的出现,因而 Samba更多用在Linux与windows之间的数据共享上面。

      Samba服务器可实现如下功能:

    • WINS和DNS服务;
    • 网络浏览服务;
    • Linux和Windows域之间的认证和授权;
    • UNICODE字符集和域名映射;
    • 满足CIFS协议的UNIX共享等。

     

    二、samba服务的安装

    1、环境准备

    # uname -r
    2.6.32-642.11.1.el6.x86_64
    # uname -m
    x86_64
    # cat /etc/redhat-release 
    CentOS release 6.8 (Final)

    # getenforce 
    Disabled

    #/etc/init.d/iptables stop

    2、执行yum安装(需配置好yum源)

    yum install samba samba-client samba-swat -y

    3、检查是否安装成功

    #rpm -qa|grep samba

    samba-common-3.6.23-36.el6_8.x86_64
    samba-3.6.23-36.el6_8.x86_64
    samba-winbind-3.6.23-36.el6_8.x86_64
    samba-client-3.6.23-36.el6_8.x86_64
    samba-swat-3.6.23-36.el6_8.x86_64
    samba-winbind-clients-3.6.23-36.el6_8.x86_64

    4、启动samba服务并配置开机启动

    # /etc/init.d/smb start
    启动 SMB 服务: [确定]

    # netstat -lntup|grep smbd
    tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 25190/smbd 
    tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 25190/smbd 
    tcp 0 0 :::445 :::* LISTEN 25190/smbd 
    tcp 0 0 :::139 :::* LISTEN 25190/smbd

    将samba服务添加到系统自启动:

    # chkconfig --level 35 smb on

    # chkconfig --list | grep smb

    smb 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭

     

    三、samba服务的配置

    Samba服务配置主要是指/etc/samba/smb.conf文件的配置。

     

    1、公共匿名类共享目录的配置(即匿名账户访问共享目录或文件)

    #vim /etc/samba/smb.conf

      workgroup = WORKGROUP      //定义工作组,也就是windows下的工作组

      server string = Lmz Samba Server Version %v              //定义Samba服务器的简要说明  

      netbios name = LmzSamba                                         //定义windows中显示出来的计算机名称

       log file = /var/log/samba/log.%m        //定义Samba用户的日志文件,%m代表客户端主机名

       security = share                               //共享级别,用户不需要账号和密码即可访问

      [share]       //建立共享目录模块

        comment = share Stuff       //对共享目录说明,可自定义
        path = /share        //指定共享目录的路径
        public = yes              //所有人可查看,等效于guest ok =yes
        writable = yes      //有可写权限

    • 新建/share目录,并设置属组属主为nobody。

    #mkdir /share

    #chown -R nobody:nobody /share/

    #/etc/init.d/smb restart    //重启服务
    #/etc/init.d/nmb restart

    • 测试smb.conf配置是否正确:

    #testparm 
    Load smb config files from /etc/samba/smb.conf
    rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
    Processing section "[homes]"
    Processing section "[printers]"
    Processing section "[share]"
    WARNING: The security=share option is deprecated
    Loaded services file OK.
    ......................................

    • 访问samba服务器的共享文件:

    1)、centOS系统测试:

    [root@zhang share]# smbclient //127.0.0.1/share
    WARNING: The security=share option is deprecated
    Enter root's password:     //由于匿名访问不需要密码,可直接回车即可
    Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8]
    Server not using user level security and no password supplied.
    smb: \> ls
    . D 0 Mon Mar 27 10:35:40 2017
    .. DR 0 Mon Mar 27 10:34:42 2017
    a.txt 0 Mon Mar 27 10:35:33 2017
    aa.py 0 Mon Mar 27 10:35:40 2017

    46201 blocks of size 2097152. 40904 blocks available
    smb: \>q    //退出访问

    2)、windows系统下的共享访问

    \\172.172.0.10\share

     

    2、按权限对目录进行分组访问(配置用户名和密码访问的samba服务)

    # useradd -s /sbin/nologin renli     //先建立系统用户
    # passwd  renli    //设置密码

    # smbpasswd -a renli     //将用户添加到samba账户中

     

     smbpasswd:
             -a Sys_User: 添加系统用户为samba用户
             -d :禁用用户
             -e: 启用用户
             -x: 删除用户

     

    New SMB password:
    Retype new SMB password:
    Added user renli.

    pdbedit -a -u renli   //也可以创建samba账户

     

    smbpasswd:该方式是使用smb工具smbpasswd给系统用户(真实用户或者虚拟用户)设置一个Samba 密码,客户端就用此密码访问Samba资源。smbpasswd在/etc/samba中,有时需要手工创建该文件。
    tdbsam:使用数据库文件创建用户数据库。数据库文件叫passdb.tdb,在/etc/samba中。passdb.tdb用户数据库可使用smbpasswd –a创建Samba用户,要创建的Samba用户必须先是系统用户。也可使用pdbedit创建Samba账户。pdbedit参数很多,列出几个主要的:
    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、修改主配置文件

    # vi /etc/samba/smb.conf

    修改:

    security = user     //修改共享级别为用户访问

    hosts allow = 127.  172.172.0   //只允许127.0.0.0与172.172.0.0网段主机访问

    [renli]
    comment = renli share
    path = /share   //共享目录路径
    public = no    //不公开,受限浏览
    writable = yes
    directory mask = 0755   //创建目录的权限掩码
    create mask = 0644    //创建文件的权限掩码
    valid users = renli,root   //被许可访问该共享目录的用户账号
    write list = renli,root    //允许写入的用户账号,注意如果不能写入就是系统共享文件权限不足,修改即可。

     

     

    全局配置说明:

    netbios name = MYSERVER  # 设置出现在“网上邻居”中的主机名

    hosts allow = 127.  192.168.12.  192.168.13. # 用来设置允许的主机,如果在前面加”;”则表示允许所有主机

    log file = /var/log/samba/%m.log #定义samba的日志,这里的%m是上面的netbios name

    max log size = 50 # 指定日志的最大容量,单位是K

    自定义共享:

         [shared_name] #共享名称
    path = /path/to/share_directory #共享路径
    comment = Comment String # 注释信息
    guest ok = {yes|no} | public = {yes|no} # 是否启用来宾账号
    writable = {yes|no} |  read only = {yes|no} # 共享目录是否可写
    write list = +GROUP_NAME  # 允许可写的用户列表,前面有+是代表允许可写的组
    测试配置文件是否有语法错误,以及显示最终生效的配置:
         testparm

     

    重新加载samba服务:

    # service smb reload
    重新载入 smb.conf 文件: [确定]

    在windows系统下测试:

      打开我的电脑,在地址栏中输入\\IP,弹出用户登陆框,如图所示:

    输入用户名和密码即可访问。如不能新建文件或文件夹,写入数据,则是共享系统文件权限不够。

     

    3、设置用户映射及访问地址限制

    #vim /etc/samba/smbusers

    添加: 用户=别名1 别名2 别名3

    renli = u1 u2 u3

    #vim /etc/samba/smb.conf

    [global]

    添加:

    username map = /etc/samba/smbusers

    hosts allow = 192.168.1. 192.168.2. 127.     //允许访问的IP地址段

    hosts deny = 192.168.1. 192.168.2.       //拒绝访问的IP地址段

    重新加载服务:

    /etc/init.d/smb reload

    使用别名访问共享:

    smbclient -U u1 //172.172.0.10/renli

    使用mount挂载共享文件夹到本地:

    mount -o username=u1 //172.172.0.10/renli /media

    如报错:

    # mount -o username=u1 //172.172.0.10/renli /media
    mount: block device //172.172.0.10/renli is write-protected, mounting read-only
    mount: cannot mount block device //172.172.0.10/renli read-only   //不能加载块设备

    解决:

    yum install cifs-utils

    重新挂载读写模式:

    # mount -o username=u1,rw //172.172.0.10/renli /media
    Password:             //输入密码即可挂载成功

     

    samba原文

    展开全文
  • Samba

    2017-12-05 23:18:22
    Samba-common – Samba的支持文件 Samba-client – 客户端应用程序 Samba – 服务器应用程序 2.端口 通常使用TCP/445进行所有连接。 3.主配置文件及一些重要参数 /etc/samba/smb.conf 共享目录配置: ...

    最常见的文件共享系统
    1.组件
    Samba-common – Samba的支持文件
    Samba-client – 客户端应用程序
    Samba – 服务器应用程序
    2.端口
    通常使用TCP/445进行所有连接。
    3.主配置文件及一些重要参数
    /etc/samba/smb.conf
    共享目录配置:
    workgroup = WESTOS 工作组名称
    [HAHA] ##共享名
    comment = Public Stuff ##共享目录的描述
    path = /home/samba ##共享目录所在服务器的目录writable = yes ##除匿名用户外,所有人可写
    write list = +student ##指定用户组可以写入(多个用户用‘,’隔开)若去掉+号,就是表示student用户
    browseable = yes/no ##是否显示本共享目录
    admin users =westos ##拥有root权限的用户
    valid users = +student 只有student用户组才可以使用est
    map to guest = bad uesr 匿名用户获得guest用户身份
    guest ok = yes guest用户可以登录
    4.smb用户
    smbpasswd -h ##显示该命令的帮助信息
    -a ##添加指定的用户帐号
    -d ##禁用指定的用户帐号
    -e ##启用指定的用户帐号
    -x ##删除指定的用户帐号
    pdbedit -L ##用户查看samba用户

    5.安装/开启服务
    yum install samba-common samba.x86_64 samba-client -y
    systemctl start smb
    smbclient -L //172.25.254.111
    这里写图片描述

    6.添加smb用户
    这里写图片描述

    这里写图片描述

    7.登录smb
    setsebool -P samba_enable_home_dirs on
    smbclient -L //172.25.254.111 -U root
    这里写图片描述

    8.设置共享目录

    这里写图片描述

    这里写图片描述

    这里写图片描述

    测试:
    smb主机
    这里写图片描述

    测试机:
    这里写图片描述

    9.权利问题
    未设置前,是因为smb本身的原因而出现了权利问题
    这里写图片描述

    加入writable = yes后,改变smb主机上的文件的权限问题就可以访问
    这里写图片描述

    这里写图片描述

    10.匿名用户
    使匿名用户获得一个guest身份
    这里写图片描述

    允许guest登录
    这里写图片描述

    这里写图片描述

    11.多用户挂载
    在客户机上安装服务
    yum install -y cifs-utils

    vim /root/redhat
    uername=student
    password=redhat

    这里写图片描述

    切换到westos用户
    cifscreds add -u student 172.25.254.111
    cifscreds update -u student 172.25.254.111
    这里写图片描述

    展开全文
  • SAMBA

    2019-04-16 18:40:22
    samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。 SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同...

    samba简介

    Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。

    SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。

    SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源

    samba监听端口

    • TCP——139、445,tcp端口相对应的服务是smbd服务,其作用是提供服务器中文件、打印资源的共享访问;
    • UDP——137、138,udp端口相对应的服务是nmbd服务,起作用是提供基于NetBOIS主机名称的解析。

    samba进程:

    进程 对应
    nmbd 对应netbios
    smbd 对应cifs协议
    winbindd + ldap 对应Windows AD活动目录

    samba用户:

    帐号 密码
    都是系统用户/etc/passwd Samba服务自有密码文件通过smbpasswd -a USERNAME命令设置
    smbpasswd
     -L	本地模式(必须是第一选项)
       -h	打印此用法消息
       -s	使用stdin进行密码提示
       -c smb.conf	文件使用smb.conf文件的给定路径
       -D LEVEL	调试级别
       -r MACHINE	远程机器
       -U USER	远程用户名(例如SAM /用户)
    在root或本地模式下运行时的额外选项:
       -a	添加用户
       -d	禁用用户
       -e	启用用户
       -i	域间信任帐户
       -m	机器信托帐户
       -n	设置无密码
       -W	使用stdin ldap管理员密码
       -w PASSWORD 	ldap管理员密码
       -x	删除用户
       -R 	ORDER名称解析顺序
    

    Samba安全级别:

    Samba服务器的安全级别有三个,分别是user,server,domain

    安全级别 作用
    user 基于本地的验证
    server 由另一台指定的服务器对用户身份进行认证
    domain 由域控进行身份验证

    以前的samba版本支持的安全级别有四个,分别是share,user,server,domain
    share是用来设置匿名访问的,但现在的版本已经不支持share了,但是还是可以实现匿名访问的 只是配置方式变了

    samba配置文件:

    • /etc/samba/smb.conf(主配置文件)
    samba三大组成 作用
    [global] 全局配置,此处的设置项对整个samba服务器都有效
    [homes] 宿主目录共享设置,此处用来设置Linux用户的默认共享,对应用户的宿主目录。当用户访问服务器中与自己用户名同名的共享目录时,通过验证后将会自动映射到该用户的宿主目录中
    [printers] 打印机共享设置

    常用配置文件参数:

    参数 作用
    workgroup 表示设置工作组名称
    server string 表示描述samba服务器
    security 表示设置安全级别,其值可为share、user、server、domain
    passdb backend 表示设置共享帐户文件的类型,其值可为tdbsam(tdb数据库文件)、ldapsam(LDAP目录认证)、smbpasswd(兼容旧版本samba密码文件)
    comment 表示设置对应共享目录的注释,说明信息,即文件共享名
    browseable 表示设置共享是否可见
    writable 表示设置目录是否可写
    path 表示共享目录的路径
    guest ok 表示设置是否所有人均可访问共享目录
    public 表示设置是否允许匿名用户访问
    write list 表示设置允许写的用户和组,组要用@表示,例如 write list = root,@root
    valid users 设置可以访问的用户和组,例如 valid users = root,@root
    hosts deny 设置拒绝哪台主机访问,例如 hosts deny = 192.168.72.1
    hosts allow 设置允许哪台主机访问,例如 hosts allow = 192.168.72.2
    printable 表示设置是否为打印机

    测试配置文件是否有语法错误,以及显示最终生效的配置:使用testparm命令

    交互式数据访问
    smbclient -L HOST -U USERNAME
    smbclient //SERVER/shared_name -U USERNAME
    
    基于挂载的方式访问
    mount -t cifs //SERVER/shared_name /挂载到本地的什么目录 -o username=USERNAME,password=PASSWORD
    
    /etc/fstab写法
    //SERVER/shared_name /挂载到本地的什么目录	cifs	defaults,username=USERNAME,password=PASSWORD	0	0
    

    实验

    • 搭建匿名用户共享服务器
    • 搭建用户认证共享服务器
      要求:
      • 不论是匿名用户还是用户认证共享,均要在客户机验证结果
      • 用户认证共享需要映射系统用户为一个虚拟用户

    搭建环境

    • 本实验的linux跑在vm15虚拟机软件中,网卡模式为桥接
    • 服务器系统版本为centos 7.6版本,客户端有centos7.6和本机win10
    • 实验前关闭防火墙以及selinux
    • 实验所用地址如下:
    • 服务器[wenhs5479]地址为192.168.42.87/24
      在这里插入图片描述
    • 客户端[wenhs-docker-ce]地址为192.168.42.45/24
      在这里插入图片描述
    • 客户端win10地址192.168.42.46/24
      在这里插入图片描述
    • 注意系统版本;
    • 主配置文件/etc/samba/smb.conf
    • 用户映射文件/etc/ samba/smbusers
    • 请先检查地址能否相互ping通
      注意: 环境由于部分原因导致换了IP,不影响最终实验,看得懂就看,看不懂请从最基础的学起,实验初始IP是手打的字,后来改成了图片里面的IP,下面实验,一定要弄清楚谁是服务器,谁是客户端

    搭建步骤

    • 搭建匿名用户共享服务器

    首先在服务器端安装samba服务

    yum -y install samba-*
    

    在服务器端创建共享目录

    mkdir -p /samba/test
    

    在服务器端修改/etc/samba/smb.conf配置文件,添加以下内容

    [globol]
    		map to guest = Bad User #设置匿名用户
    [test]
            comment = test 		#共享目录的注释
            path = /samba/test 	#共享目录的路径
            browseable = yes 		#共享目录可见
            public = yes 			#允许匿名用户访问
            writable = yes 		#允许用户在目录下写
            guest ok = yes 		#允许所有人访问共享目录
    

    在服务器端修改权限,将/samba/test目录的其他人权限设置成rw,才能在客户端进行写操作,

    chmod o+w /samba/test
    

    测试配置文件是否有语法错误

    [root@wenhs5479 samba]# testparm 
    Load smb config files from /etc/samba/smb.conf
    rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
    Processing section "[homes]"
    Processing section "[printers]"
    Processing section "[print$]"
    Processing section "[test]"
    Loaded services file OK.
    Server role: ROLE_STANDALONE
    
    Press enter to see a dump of your service definitions
    
    # Global parameters
    [global]
    	map to guest = Bad User
    	printcap name = cups
    	security = USER
    	workgroup = SAMBA
    	idmap config * : backend = tdb
    	cups options = raw
    
    
    [homes]
    	browseable = No
    	comment = Home Directories
    	inherit acls = Yes
    	read only = No
    	valid users = %S %D%w%S
    
    
    [printers]
    	browseable = No
    	comment = All Printers
    	create mask = 0600
    	path = /var/tmp
    	printable = Yes
    
    
    [print$]
    	comment = Printer Drivers
    	create mask = 0664
    	directory mask = 0775
    	force group = @printadmin
    	path = /var/lib/samba/drivers
    	write list = @printadmin root
    
    
    [test]
    	comment = test
    	guest ok = Yes
    	path = /samba/test
    	read only = No
    
    • 重新启动samba服务
    systemctl restart smb nmb
    
    • 查看端口是否开启
    [root@wenhs5479 samba]# ss -anltup|grep smb
    tcp    LISTEN     0      50        *:139                   *:*                   users:(("smbd",pid=22277,fd=36))
    tcp    LISTEN     0      50        *:445                   *:*                   users:(("smbd",pid=22277,fd=35))
    tcp    LISTEN     0      50       :::139                  :::*                   users:(("smbd",pid=22277,fd=34))
    tcp    LISTEN     0      50       :::445                  :::*                   users:(("smbd",pid=22277,fd=33))
    
    • 在客户端上安装samba-client,然后在客户端上进行验证
    yum -y install samba-client 
    
    • 交互式验证查看:
    [root@wenhs-docker-ce ~]# smbclient -L 192.168.42.87 -U 'Bad User'
    Enter SAMBA\Bad User's password: 		#这里直接回车即可,并没有密码
    
    	Sharename       Type      Comment
    	---------       ----      -------
    	print$          Disk      Printer Drivers
    	test            Disk      test
    	IPC$            IPC       IPC Service (Samba 4.8.3)
    Reconnecting with SMB1 for workgroup listing.
    
    	Server               Comment
    	---------            -------
    
    	Workgroup            Master
    	---------            -------
    	SAMBA                WENHS5479
    
    • 交互式访问共享:(远程主机地址后接共享目录的名字,一般不用)
    [root@wenhs-docker-ce ~]# smbclient //192.168.42.87/test -U 'Bad User'
    Enter SAMBA\Bad User's password: 		#这里直接回车即可,并没有密码
    Try "help" to get a list of possible commands.
    smb: \> mkdir centosclient
    smb: \> ls
      .                                   D        0  Tue Apr 16 15:21:55 2019
      ..                                  D        0  Tue Apr 16 14:53:46 2019
      centosclient                        D        0  Tue Apr 16 15:21:55 2019
    
    		13092864 blocks of size 1024. 7008284 blocks available
    
    smb: \> q		#quit退出
    [root@wenhs-docker-ce ~]#
    

    在这里插入图片描述
    在这里插入图片描述

    • 在服务器上查看创建的文件和目录
    [root@wenhs5479 ~]# ls -al /samba/test/
    总用量 0
    drwxr-xrwx. 4 root   root   45 4月  16 15:24 .
    drwxr-xr-x. 3 root   root   18 4月  16 14:53 ..
    drwxr-xr-x. 2 nobody nobody  6 4月  16 15:21 centosclient
    drwxr-xr-x. 2 nobody nobody  6 4月  16 15:24 win10client
    
    
    • 挂载式访问共享:(远程主机地址后接共享目录的名字)
    [root@wenhs-docker-ce ~]# mkdir /samba				#创建挂载目录
    [root@wenhs-docker-ce ~]# mount -t cifs //192.168.42.87/test /samba -o username='Bad User'
    Password for Bad User@//192.168.42.87/test:  		#直接回车确认
    [root@wenhs-docker-ce ~]# df -Th
    文件系统                类型      容量  已用  可用 已用% 挂载点
    /dev/mapper/centos-root xfs        36G  6.4G   30G   18% /
    devtmpfs                devtmpfs  1.9G     0  1.9G    0% /dev
    tmpfs                   tmpfs     1.9G     0  1.9G    0% /dev/shm
    tmpfs                   tmpfs     1.9G   13M  1.9G    1% /run
    tmpfs                   tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
    /dev/sda1               xfs      1014M  233M  782M   23% /boot
    /dev/mapper/centos-home xfs        18G   37M   18G    1% /home
    tmpfs                   tmpfs     378M  4.0K  378M    1% /run/user/42
    tmpfs                   tmpfs     378M   20K  378M    1% /run/user/0
    /dev/sr0                iso9660    11G   11G     0  100% /run/media/root/CentOS 7 x86_64
    //192.168.42.87/test    cifs       13G  5.9G  6.7G   47% /samba
    [root@wenhs-docker-ce ~]#
    

    win10映射网络驱动器:\192.168.42.87\test,确认即可
    在这里插入图片描述

    搭建用户共享服务器

    • 创建用户,将用户设置为samba专用用户,并设置专用密码
    [root@wenhs5479 ~]# useradd wenhs
    [root@wenhs5479 ~]# smbpasswd -a wenhs
    New SMB password:
    Retype new SMB password:
    Added user wenhs.
    
    • 创建/samba/wenhs共享目录,并将权限改为757。
    [root@wenhs5479 ~]# mkdir /samba/wenhs
    [root@wenhs5479 ~]# chmod 757 /samba/wenhs/
    
    • 假设将wenhs用户映射为share用户,修改/etc/samba/smbusers文件添加如下内容:
    [root@wenhs5479 ~]# echo 'wenhs = share' >/etc/samba/smbusers
    
    • 在服务器端修改配置文件/etc/samba/smb.conf内容
    [global]
            username map = /etc/samba/smbusers		#指定本地用户映射成虚拟用户的文件存放位置
    [wenhs]
            comment = wenhs
            path = /samba/wenhs
            browseable = yes
            write list = wenhs	#指定wenhs用户进行读写访问,不管这个共享是否是只读文件
            guest ok = yes
            public = yes
    
    • 检查配置文件
    [root@wenhs5479 ~]# testparm 
    Load smb config files from /etc/samba/smb.conf
    rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
    Processing section "[homes]"
    Processing section "[printers]"
    Processing section "[print$]"
    Processing section "[test]"
    Processing section "[wenhs]"
    Loaded services file OK.
    Server role: ROLE_STANDALONE
    
    Press enter to see a dump of your service definitions
    
    # Global parameters
    [global]
    	map to guest = Bad User
    	printcap name = cups
    	security = USER
    	username map = /etc/samba/smbusers
    	workgroup = SAMBA
    	idmap config * : backend = tdb
    	cups options = raw
    
    
    [homes]
    	browseable = No
    	comment = Home Directories
    	inherit acls = Yes
    	read only = No
    	valid users = %S %D%w%S
    
    
    [printers]
    	browseable = No
    	comment = All Printers
    	create mask = 0600
    	path = /var/tmp
    	printable = Yes
    
    
    [print$]
    	comment = Printer Drivers
    	create mask = 0664
    	directory mask = 0775
    	force group = @printadmin
    	path = /var/lib/samba/drivers
    	write list = @printadmin root
    
    
    [test]
    	comment = test
    	guest ok = Yes
    	path = /samba/test
    	read only = No
    
    
    [wenhs]
    	comment = wenhs
    	guest ok = Yes
    	path = /samba/wenhs
    	write list = wenhs
    
    • 重启服务
    systemctl restart smb nmb
    
    • 在客户端进行验证:
    • 交互式验证查看
    [root@wenhs-docker-ce ~]# smbclient -L 192.168.42.87 -U share
    Enter SAMBA\share's password: 
    
    	Sharename       Type      Comment
    	---------       ----      -------
    	print$          Disk      Printer Drivers
    	test            Disk      test
    	wenhs           Disk      wenhs
    	IPC$            IPC       IPC Service (Samba 4.8.3)
    Reconnecting with SMB1 for workgroup listing.
    
    	Server               Comment
    	---------            -------
    
    	Workgroup            Master
    	---------            -------
    	SAMBA                WENHS5479
    
    • 交互式访问共享目录,(一般不用)
    [root@wenhs-docker-ce ~]# smbclient //192.168.42.87/wenhs -U share
    Enter SAMBA\share's password: 
    Try "help" to get a list of possible commands.
    smb: \> mkdir centosclient
    smb: \> ls
      .                                   D        0  Tue Apr 16 16:12:36 2019
      ..                                  D        0  Tue Apr 16 15:55:47 2019
      centosclient                        D        0  Tue Apr 16 16:12:36 2019
    
    		13092864 blocks of size 1024. 7007108 blocks available
    smb: \> q
    [root@wenhs-docker-ce ~]#
    注:用户名用映射用户登录,密码还是wenhs的密码
    

    在这里插入图片描述
    在这里插入图片描述

    • 挂载式访问共享目录
    [root@wenhs-docker-ce ~]# mkdir /wenhs
    [root@wenhs-docker-ce ~]# mount -t cifs //192.168.42.87/wenhs /wenhs -o username=share,password=123456
    [root@wenhs-docker-ce ~]# df -Th
    文件系统                类型      容量  已用  可用 已用% 挂载点
    /dev/mapper/centos-root xfs        36G  6.4G   30G   18% /
    devtmpfs                devtmpfs  1.9G     0  1.9G    0% /dev
    tmpfs                   tmpfs     1.9G     0  1.9G    0% /dev/shm
    tmpfs                   tmpfs     1.9G   13M  1.9G    1% /run
    tmpfs                   tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
    /dev/sda1               xfs      1014M  233M  782M   23% /boot
    /dev/mapper/centos-home xfs        18G   37M   18G    1% /home
    tmpfs                   tmpfs     378M  4.0K  378M    1% /run/user/42
    tmpfs                   tmpfs     378M   20K  378M    1% /run/user/0
    /dev/sr0                iso9660    11G   11G     0  100% /run/media/root/CentOS 7 x86_64
    //192.168.42.87/test    cifs       13G  5.9G  6.7G   47% /samba
    //192.168.42.87/wenhs   cifs       13G  5.9G  6.7G   47% /wenhs
    

    在这里插入图片描述
    创建目录进行查看效果:

    • 挂载式共享创建 [客户端] 目录
    [root@wenhs-docker-ce wenhs]# mkdir centos222
    [root@wenhs-docker-ce wenhs]# ls -al
    总用量 0
    drwxr-xr-x   2 root root   0 4月  16 16:53 .
    dr-xr-xr-x. 20 root root 261 4月  16 16:47 ..
    drwxr-xr-x   2 root root   0 4月  16 16:53 centos222
    drwxr-xr-x   2 root root   0 4月  16 16:12 centosclient
    drwxr-xr-x   2 root root   0 4月  16 16:31 win10client
    

    在这里插入图片描述

    • 服务端进行查看
    [root@wenhs5479 ~]# ls -al /samba/wenhs/
    总用量 0
    drwxr-xrwx. 6 root  root  78 4月  16 16:56 .
    drwxr-xr-x. 4 root  root  31 4月  16 15:55 ..
    drwxr-xr-x. 2 wenhs wenhs  6 4月  16 16:53 centos222
    drwxr-xr-x. 2 wenhs wenhs  6 4月  16 16:12 centosclient
    drwxr-xr-x. 2 wenhs wenhs  6 4月  16 16:56 win10222
    drwxr-xr-x. 2 wenhs wenhs  6 4月  16 16:31 win10client
    

    设置指定用户访问共享文件夹

    • 创建一个samba用户
    [root@wenhs5479 ~]# useradd -M whs
    [root@wenhs5479 ~]# smbpasswd -a whs
    New SMB password:
    Retype new SMB password:
    Added user whs.
    
    • 在etc/samba/smb.conf配置文件中加入“vaild users = wenhs”
    [wenhs]
            comment = wenhs
            path = /samba/wenhs
            browseable = yes
            write list = wenhs
            guest ok = yes
            public = yes
            valid users = wenhs		#允许wenhs用户进行访问,其他用户不允许访问(添加到配置文件)
    
    • 重新启动服务
    systemctl restart smb nmb
    
    • 测试
      在这里插入图片描述
    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 28,174
精华内容 11,269
关键字:

samba