zoukankan      html  css  js  c++  java
  • SAMBA服务简介

    SAMBA是解决Windows和Linux的互通。

    相关包

    Samba 提供smb服务
    Samba-client 客户端软件
    samba-common 通用软件
    cifs-utils smb客户端工具
    samba-winbind 和AD相关
    

    相关服务进程

    smbd 提供smb(cifs)服务 TCP:139,445
    nmbd NetBIOS名称解析 UDP:137,138
    

    配置文件

    主配置文件/etc/samba/smb.conf
    语法检查: testparm [-v] [/etc/samba/smb.conf]
    客户端工具:smbclient,mount.cifs
    内核:
        [root@centos7 ~]# locate cifs.ko
        /root/linux-4.16.8/fs/cifs/.cifs.ko.cmd
        /root/linux-4.16.8/fs/cifs/cifs.ko
        /usr/lib/modules/3.10.0-693.el7.x86_64/kernel/fs/cifs/cifs.ko.xz
        /usr/lib/modules/4.16.8-4.4-lianglinux/kernel/fs/cifs/cifs.ko
    

    安装方法

    yum install samba
    查看各安装包:
    rpm -ql samba-client
    rpm -ql samba
    

    smbclient使用

    1. 在windows上共享一目录
    2. 在windows cmd下建立一用户net user test 123 /add
    3. 在windows上查看共享的资源net share;  net share testdir=d:
    fs(把d盘下的nfs文件夹共享为testdir)
    4. 在同网段的Linux上,执行smbclient -L 172.20.107.222 -U test%123查看共享资源
    5. 访问共享资源 smbclient //172.20.107.222/testdir -U test%123
    6. smb: > get liang.txt (下载)
    7. smb:> put test (上传)
    8. mount -o username=test,password=123 //172.20.107.222/testdir /mnt/win (临时挂载到Linux服务器上) 
    9. vim /etc/fstab
        //172.20.107.222/testdir /mnt/win    cifs    username=test,password=123 0 0 
        /etc/fstab的权限为-rw-r--r--,系统默认的权限最好保留,因此把username和password放在/etc/fstab是很不安全的
    10. 更安全的永久挂载
        /172.20.107.222/testdir /mnt/win    cifs  credentials=/etc/user.txt 0 0 
        vim /etc/user.txt
        username=test
        password=123
        chmod 600 user.txt
    

    SMB服务器端

    启动:systemctl start smb
    

    建立SMB账号,SMB的账号必须首先是Linux账号:

        useradd -s /sbin/nologin smb1
        smbpasswd  -a smb1(把linux账号smb1加为smb账号)
        smbpasswd smb1(更改smb1的口令)
    SMB账号存储在/var/lib/samba/private/passdb.tdb
    

    /etc/samba/smb.conf(#指说明 ;表是指令,同时注释)

    1.  netbios name = smbsrv7 (配合systemctl status nmb服务使用)
        客户端验证:smbclient -L //smbsrv7 -U smb1%verimatrix
    2.  hosts allow = 网段名字如192.168.12.
    3. log设置
        log file = /var/log/samba/log.%m
        log level = 2
        max log size = 50
    4. 家目录共享
        [homes]
        comment = Home Directories
        valid users = %S, %D%w%S
        browseable = No (yes表示隐藏,类似windows里共享加$)
        read only = No
        inherit acls = Yes
    5. 共享目录 
        [share]  (共享文件夹名)
        comment=tools share
        path=/data/tools (实际共享的文件夹)
        writable = yes (/data/tools也要对smb用户对应的linux用户有写权限)
        read only = no
        public = yes (可以匿名访问,文件权限映射为Linux用户nobody)
        valid user = smb1
        write list =  +staff(在staff组里的可以写,不在此组的只读)
        valid user = smb1 smb2 (只允许smb1, smb2用户访问)
        valid user =+staff (staff组的用户可以访问)
    

    实验

    不同的用户访问同样的SAMBA共享文件夹,访问的资源不同

    SAMBA服务器:
        mkdir /data/smb1
        mkdir /data/smb2
        vim /etc/samba/smb.conf
        config file = /etc/samba/conf.d/%U
        /etc/samba/conf.d
        vim smb1
            [share]
            path=/data/smb1
            writeable = yes
        vim smb2
            [share]
            path=/data/smb2
            writeable = yes
        SAMBA客户端:smb1和smb2访问是同一共享share,但是访问的资源不一。
        smbclient //172.20.42.201/share -U smb2%verimatrix
        smbclient //172.20.42.201/share -U smb1%verimatrix
    

    多用户挂载(CentOS7支持)

    客户端:
        建立和服务器同名的账户:
            useradd smb1
            useradd smb2
            useradd smb3
            mount -o username=smb3,password=verimatrix,multiuser //172.20.42.201/share /mnt/test
            su - smb1
            cifscreds add -u smb1 172.20.42.201 (输入密码是服务器smb1用户的密码)
            cd /mnt/test
            touch test.txt
            su - smb2
            cifscreds add -u smb2 172.20.42.201 
            cd /mnt/test
            touch test2.txt (失败,因为smb2不属于staff组)
    服务器:
    [share]
        path=/data/tools
        writable = no
        write list = +staff
    创建smb1, smb2, smb3用户,同时smb1,smb3属于staff组。同时用smbpasswd –s把三个用户加入到smb用户数据库里。
  • 相关阅读:
    Sqli-labs Less-28a 绕过unions+select过滤 union注入
    eclipse安装freemarker-ide插件
    Eclipse调试时出现source not found的问题
    POJ 1509 Glass Beads 后缀自动机 模板 字符串的最小表示
    1028/3/7 被踩爆的省选模拟赛 30分
    字符串的模板 Manacher kmp ac自动机 后缀数组 后缀自动机
    2018/3/6 省选模拟赛 60分
    埃及分数 a* 搜索 知识点mark
    UOJ #35. 后缀排序 后缀数组 模板
    BZOJ 4566 JZYZOJ 1547 [haoi2016T5]找相同子串 后缀数组 并查集
  • 原文地址:https://www.cnblogs.com/liangjindong/p/9238047.html
Copyright © 2011-2022 走看看