zoukankan      html  css  js  c++  java
  • samba 部署与实验

    一、本地用户登录
    1、本地用户验证(Samba服务器默认的安全级别,用户在访问共享资源之前必须提供用户名和密码进行验证)

    拓展:tdbsam:该方式是使用一个数据库文件来验证。数据库文件叫passdb.tdb。可以通过pdbedit -a 向数据库中添加新用户,不过要建立的Samba用户必须先是系统用户。也可以理解为我们使用pdbedit -a 将系统用户转化为了samba 用户。

    • pdbedit -a username:新建Samba账户(将系统用户转化为samba用户,并设置密码)
    • pdbedit -x username:删除Samba账户
    • pdbedit -L:列出Samba用户列表,读取passdb.tdb数据库文件。
    2、实验步骤
    1、安装samba
        yum install samba -y
    2、添加samba用户,samba默认使用系统用户,密码需要使用命令单独创建。
        useradd love1 -s /sbin/nologin
        pdbedit -a love1  #默认共享目录为love1家目录
    3、启动samba服务
        systemctl start smb
    4、客户机查看与登录
       smbclient -U love1 -L 100.100.100.110
       smbclient  -U love1  //100.100.100.110/love1
    
    二、自定义共享区域

    1、修改配置文件,增加自定义共享位置

    [root@centos7 ~]# vim /etc/samba/smb.conf
    [haha] 
        comment = the share is haha 
        path = /share/haha
        public = yes #允许guest用户访问
        browseable = yes 
        writable = yes 
    

    2、创建共享目录,并且修改权限

    1)创建共享目录
        [root@centos7 ~]# mkdir -p /share/haha
    2)修改权限(二选一,推荐使用acl权限)
        1、使用文件系统权限
            [root@centos7 ~]#chmod 777 /share/haha 
        2、使用acl权限
            [root@centos7 ~]#setfacl -m u:love1:rwx -R /share/haha     只对已经存在的文件生效   
            [root@centos7 ~]#setfacl -m d:u:love1:rwx -R /share/haha   只对以后新建的文件生效
    

    3、测试配置文件并重启服务

    [root@centos7 ~]# testparm  
    [root@centos7 ~]# systemctl restart smb
    

    4、客户机查看与登录

       [root@centos7 ~]# smbclient -U love1 -L 100.100.100.110
       [root@centos7 ~]# smbclient  -U love1  //100.100.100.110/haha
    

    4、上传一个文件,测试acl权限

    smb: > put test.sh 
    putting file test.sh as 	est.sh (19.9 kb/s) (average 19.9 kb/s)
    smb: > ls
      .                                   D        0  Fri Dec 27 14:51:43 2019
      ..                                  D        0  Fri Dec 27 14:33:20 2019
      test.sh                             A       61  Fri Dec 27 14:51:43 2019
    

    6、再创建一个用户love3,love3用户能否删除love1用户上传的文件

    [root@centos7 haha]# useradd love3 -s /sbin/nologin
    [root@centos7 haha]# pdbedit -a love3
    [root@centos7 ~]# smbclient  -U love3  //100.100.100.110/haha
    smb: > del test.sh   #无法删除,因为只针对love1用户设置了acl权限,love3用户只有rx权限,所以无法修改和上传,只有下载权限。
    NT_STATUS_ACCESS_DENIED deleting remote file 	est.sh
    NT_STATUS_ACCESS_DENIED listing 	est.sh
    
    
    三、访问控制

    上一个实验通过修改目录权限达到访问控制,这里通过修改配置文件达到访问控制。前提是将目录权限放到最大,chmod 777 /share/haha

    1)部分用户登录 samba 服务器
    valid users  仅允许部分用户访问共享区域 
    修改/etc/samba/smb.conf 中自定义的共享区域 
        valid users = 用户,@组(多个逗号分隔) 
    2)部分用户对共享区域有写权限 
    修改/etc/samba/smb.conf 中自定义的共享区域 
        read only = yes 
        write list = love1 
    3)设置上传文件的默认权限 
        create  mask    文件的默认权限 
        directory  mask  目录的默认权限 
    例如:
         create mask = 666 
         directory mask = 777 
    
    四、用户别名(虚拟用户,该用户具有原用户全部权限)

    1、添加别名(/etc/samba/smbusers)

    [root@centos7 samba]# vim /etc/samba/smbusers
    love1=lv 
    

    2、启用别名(修改主配置文件)

    vim /etc/samba/smb.conf 
    username map = /etc/samba/smbusers 
    

    3)测试

    [root@centos7 ~]# smbclient  -U lv  //100.100.100.110/haha
    
    五、共享目录挂载

    1、linux系统挂载

    Linux 下: 
    临时挂载: 
        mount -t cifs -o username=xxx,password=xxx  //服务器 ip/服务器共享 /本地挂载目录
        mount -t cifs -o user=love1,password=123456,sec=ntlmssp //100.100.100.110/haha/ /tmp/  (内核为3.10.0-1062.9.1.el7.x86_64,需要指定安全策略,sec=ntlmssp)
    永久挂载:/etc/fstab 
        //服务器 ip/服务器共享 /本地挂载目录 cifs  defaults,username=xxx,password=xxx,sec=ntlmssp 0 0 
    

    2、window下
    1)连接


    net use * /del #删除连接信息

    2)挂载


  • 相关阅读:
    为IIS启用ASP.NET 2.0
    使用css技术代替传统的frame技术
    So you want to replay an IIS web server log?
    令人疑惑的defaultValueAttribute
    关于 Web 测试中的 JavaScript 和 ActiveX 控件 【转载】
    如何控制浏览器打印效果
    Google Chart Api
    VSTS负载测试——如何:使用 SQL 创建结果存储区
    在windows service的代码中得到当前的目录
    CAN I WRITE AN ISAPI FILTER USING MANAGED CODE?
  • 原文地址:https://www.cnblogs.com/hjnzs/p/12107807.html
Copyright © 2011-2022 走看看