• 【实战原创】Centos7下Samba服务器配置(实战)


    这篇文章主要介绍了Centos7Samba服务器配置(实战),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Samba概述

    Samba是在LinuxUNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMBServer Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。

    一,Samba共享服务的匿名访问

    1,安装Samba服务

    1

    [root@localhost ~]# yum install samba -y ##安装Samba服务

    2,配置Samba配置文件信息

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    [root@localhost ~]# cd /etc/samba/  ##切换到Samba配置文件目录

    [root@localhost samba]# mv smb.conf smb.conf.bak  ##备份

    [root@localhost samba]# grep -v "#" smb.conf.bak > smb.conf  ##重新创建一个配置文件(除去注释的)

    [root@localhost samba]# vim smb.conf  ##修改配置文件

     

    [global]                   ##全局

            workgroup = SAMBA

            security = user

     

            passdb backend = tdbsam

     

            printing = cups

            printcap name = cups

            load printers = yes

            cups options = raw

            map to guest = Bad User   ##添加此项,开启匿名用户访问

    ##G到末行添加下面的配置信息

    [myshare]                   ##添加的share文件

            path=/opt/abc            ##路径

            public=yes              ##公共访问

            browseable=yes          ##能够访问

            writable=yes             ##写权限

            create mask=0644        ##设置权限

            directory mask=0755

    3,创建myshare路径目录,并给权限

    1

    2

    3

    4

    5

    [root@localhost samba]# mkdir /opt/abc   ##创建目录

    [root@localhost samba]# chmod 777 /opt/abc  ##给全部权限

    [root@localhost samba]# systemctl stop firewalld.service  ##关闭防火墙

    [root@localhost samba]# setenforce 0  ##关闭增强功能

    [root@localhost samba]# systemctl start smb.service  ##开启Samba服务

    4,利用测试机访问

    利用测试机访问共享

    查看共享文件夹

    创建一个文件到共享文件夹中

    Linux中查看创建的文件

    1

    2

    3

    4

    5

    6

    [root@localhost samba]# cd /opt/abc/  ##查看共享文件目录,查看到创建的文本

    [root@localhost abc]# ls

    111.txt

    [root@localhost abc]# ls -l   ##Linux的匿名访问用户是nobody

    总用量 0

    -rw-r--r--. 1 nobody nobody 0 11 5 15:51 111.txt

    二,Samba共享服务的身份验证

    1,配置Samba配置文件信息

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    [root@localhost ~]# cd /etc/samba/  ##切换到Samba配置文件目录

    [root@localhost samba]# vim smb.conf  ##修改配置文件

     

    [global]

            workgroup = SAMBA

            security = user

     

            passdb backend = tdbsam

     

            printing = cups

            printcap name = cups

            load printers = yes

            cups options = raw  ##将匿名访问的一项删除

    ##G到末行添加下面的配置信息

    [test]

            path=/opt/test     ##共享文件目录路径

            browseable=yes   ##能够访问,将public项去除

            create mask=0644

            directory mask=0755

            valid users=zhangsan, lisi   ##允许访问的用户

            write list=zhangsan        ##允许写入的用户

    2,创建smb用户

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    [root@localhost samba]# useradd zhangsan   ##创建两个用户

    [root@localhost samba]# useradd lisi

    [root@localhost samba]# smbpasswd -a zhangsan  ##创建smb用户并设置密码

    New SMB password:    ##设置密码

    Retype new SMB password:   ##确认密码

    Added user zhangsan.

    [root@localhost samba]# smbpasswd -a lisi

    New SMB password:

    Retype new SMB password:

    Added user lisi.

    [root@localhost samba]# pdbedit -L  ##列出smb用户列表

    zhangsan:1001:

    lisi:1002:

    [root@localhost samba]# cd /opt/ 

    [root@localhost opt]# mkdir test  ##创建共享目录

    [root@localhost opt]# ls

    abc rh test

    [root@localhost opt]# chmod 777 test/  ##给最大权限

    [root@localhost opt]# systemctl restart smb.service  ##重启Samba服务

    3,用测试机访问共享

    为了避免错误可以先在测试上清除缓存

    利用测试机访问共享

    需要身份验证,输入用户名密码

    创建一个文件到test共享文件夹中

    Linux中查看创建的文件

    1

    2

    3

    [root@localhost opt]# cd /opt/test/

    [root@localhost test]# ls  ##创建成功

    222.txt

    4,因为在配置文件中只允许zhangsan写入权限,测试lisi能否写入

    lisi访问共享

    测试创建文件

    三,Samba共享服务的账户名映射(账户别名登录)

    1,配置映射文件和Samba配置文件

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    [root@localhost ~]# cd /etc/samba/

    [root@localhost samba]# vim smbusers  ##创建账户映射配置文件

     

    zhangsan = t01 t02  ##别名t01 t02 密码还是zhangsan用户的密码

     

    [root@localhost samba]# vim smb.conf  ##配置Samba配置文件

     

    [global]

            workgroup = SAMBA

            security = user

     

            passdb backend = tdbsam

     

            printing = cups

            printcap name = cups

            load printers = yes

            cups options = raw

            username map = /etc/samba/smbusers  ##添加别名的配置文件路径

     

    [root@localhost samba]# systemctl restart smb.service  ##重启Samba服务

    2,用测试机测试别名访问使用别名登录

    四,Samba共享服务的访问控制列表

    1,配置Samba配置文件信息

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    [root@localhost ~]# cd /etc/samba/  ##切换到Samba配置文件目录

    [root@localhost samba]# vim smb.conf  ##修改配置文件

     

    [test]

      path=/opt/test

      browseable=yes

      create mask=0644

      directory mask=0755

      valid users=zhangsan, lisi

      write list=zhangsan

      hosts deny=192.168.13.  ##添加拒绝192.168.13段访问test

    [root@localhost samba]# systemctl restart smb.service  ##重启Samba服务

    2,用测试机访问test共享文件夹

    五,通过Windows共享文件夹直接挂载到Linux中使用

    1,利用Linux访问Windows共享的文件

    1

    2

    [root@localhost ~]# smbclient -L //192.168.100.99/share  ##访问共享

    Enter SAMBA\root's password:                ##密码

    2,将共享的文件挂载到Linux中,直接访问文件

    1

    2

    3

    4

    5

    6

    7

    8

    [root@localhost ~]# mkdir -p /opt/share01  ##创建挂载点

    [root@localhost ~]# mount.cifs //192.168.100.99/share /opt/share01  ##将共享文件夹挂载到挂载点

    Password for root@//192.168.100.99/share:

    [root@localhost ~]# cd /opt/share01  ##切换到挂载点

    [root@localhost share01]# ls

    test.txt

    [root@localhost share01]# cat test.txt  ##查看共享文件夹的文件内容

    this is a test!!

  • 相关阅读:
    想要精通算法和SQL的成长之路 - 判断子序列问题
    乐鑫 ESP-Mesh-Lite在windows下的开发环境搭建
    华为---静态路由-浮动静态路由及负载均衡(二)
    《QDebug 2022年8月》
    LeetCode 1337. The K Weakest Rows in a Matrix【数组,二分,堆,快速选择,排序】1224
    辅助驾驶功能开发-功能对标篇(9)-NOA领航辅助系统-北汽极狐
    简陋的vue-cli项目改写成nuxt2项目
    vue3 电子签名实现
    Unity --- 虚拟轴的使用
    MySQL表单的修改与删除
  • 原文地址:https://blog.csdn.net/vippomelo/article/details/126260798