文章目录

  • 一、samba文件共享服务简介
  • 二、搭建及设置步骤

一、samba文件共享服务简介

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

CIFS: Common Internet File System通用网络文件系统,是windows主机之间共享的协议,samba实现了这个协议,所以可以实现wondows与linux之间的文件共享服务。

Samba服务程序logo:

二、搭建及设置步骤

实验环境:VMware Workstation 15.5 、X Shell、Windows 10 专业工作站版

1、首先,为服务器安装DHCP服务

[root@localhost ~]# yum -y install dhcp*

2、dhcp服务模板路径为/etc/dhcp/dhcpd.conf,但打开后提示你到/usr目录中去寻找模板,所以我们要将/usr中的模板复制一份到/etc目录中

[root@localhost ~]# cp /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖'/etc/dhcp/dhcpd.conf'? yes    ## 替换掉原先的空白文件

3、修改dhcp服务配置文件

option domain-name "test.com";    ## 修改DNS服务器域名
option domain-name-servers 192.168.50.133;    ## 修改DNS服务器IPsubnet 192.168.50.0 netmask 255.255.255.0 {   ## 设置网段及子网掩码range 192.168.50.140 192.168.50.200;     ## 设置可分配的IP地址池option routers 192.168.50.133;      ##  设置网关}
【注意】:每一行末必须有以分号结尾且最后以一个大括号结束

4、开启dhcp服务

[root@localhost ~]# systemctl start dhcpd

5、打开另一台win10客户端,尝试使用dhcp自动获取IP

首先设置网卡,将“自动获得IP复制“及”自动获得DNS服务器地址“两个选项勾上

在搜索框中输入cmd打开”命令提示符“,因为之前我为这台机器配置过IP,所以先释放一下原先IP地址

C:\Users\GYW>ipconfig /release

再获取一下新地址

C:\Users\GYW>ipconfig /renew

可以看出客户端已经成功获取到dhcp服务器提供的地址了,那我们再来测试一下客户机与服务器的连通性

Ping一下dhcp服务器ip,发现可以ping通,配置完成实验继续:

6、安装samba服务

[root@localhost ~]# yum -y install samba

7、查看并修改samba服务配置文件

[root@localhost samba]# cd /etc/samba | ll     ## 进入samba服务目录并查看该目录下所有内容
总用量 20
-rw-r--r--. 1 root root    20 4月  24 10:41 lmhosts
-rw-r--r--. 1 root root   706 4月  24 10:41 smb.conf    ## 这个就是配置文件
-rw-r--r--. 1 root root 11327 4月  24 10:41 smb.conf.example

因为配置文件模板中有很多注释内容用不到而且影响阅读,所以需要删选出来导入smb.conf文件中

[root@localhost samba]# grep -v "#" smb.conf.example.bak > smb.conf   ## 反向筛选出不带“#”的内容后输出到smb.conf中

编辑配置文件并修改内容

[root@localhost samba]# vi smb.conf ## 编辑配置文件修改并添加如下内容:
17         security = user   ## 修改为匿名身份验证
18         map to guest = Bad User【特别注意!】:在原先的samba3中的security=share在samba4中已经不再支持了,如果希望实现匿名访问必须调整参数!
如果你安装的是samba3,则可以继续使用security = share如果不知道版本的化可以使用以下命令进行查看:
[root@localhost opt]# rpm -qa samba
samba-4.11.2-13.el8.x86_64在文件末尾插入以下内容:[share]
path=/opt/abc            ## 指定文件路径
public=yes               ## 是否共享
browseable=yes           ## 是否能够访问
writable=yes             ## 是否能够写入
create mask=0644         ## 所有新建的文件权限都是644
directory mask=0755      ## 所有在该目录下新建的子目录的权限为777配置完成后保存退出

8、修改/opt/目录下在/abc目录权限

[root@localhost opt]# chmod 777 /opt/abc

9、关闭系统核心防护及防火墙功能

[root@localhost opt]# setenforce 0
[root@localhost opt]# systemctl stop firewalld

10、开启samba服务

[root@localhost opt]# systemctl start smb

11、查看服务是否启动(查看端口号是否开启)

[root@localhost opt]# netstat -antp | grep -E "139|445"tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      33985/smbd
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      33985/smbd
tcp6       0      0 :::445                  :::*                    LISTEN      33985/smbd
tcp6       0      0 :::139                  :::*                    LISTEN      33985/smbd
【PS】:samba服务的端口号为139和445grep -E :开启扩展(Extend)的正则表达式

12、从客户端进行远程访问服务器

在地址栏中输入服务器IP,回车即可访问

在目录中随便创建一个文件

回到服务端查看该文件的创建者,发现是nobody

[root@localhost opt]# cd /opt/abc/ | ll
总用量 0
-rw-r--r--. 1 nobody nobody 0 7月  18 00:10 test.txt[root@localhost abc]# id nobody
uid=65534(nobody) gid=65534(nobody) 组=65534(nobody)

13、众所周知,匿名就代表着谁都可以访问服务器进行文件的编辑,这是非常危险的,所以生产环境中需要开启身份验证,下面就来实操一下

编辑samba服务配置文件

[root@localhost abc]# vi /etc/samba/smb.conf参照之前创建的模板插入以下内容:[def]
path=/opt/def
browseable=yes
create mask=0644
directory mask=0755
valid users=tom, jerry   ## 允许tom和jerry用户进行访问
write list=tom    ## 仅允许tom用户进行写入编辑完成后保存退出

14、因系统中还没这两个用户,先来创建一下

[root@localhost abc]# useradd tom        ## 创建tom用户
[root@localhost abc]# useradd jerry      ## 创建jerry用户[root@localhost abc]# smbpasswd -a tom   ## 为tom用户创建密码
New SMB password:                        ## 输入密码
Retype new SMB password:                 ## 确认密码
Added user tom.                          ## 创建成功!jerry用户创建操作相同,这里就不再演示了创建完成后使用命令查看一下创建的用户:[root@localhost abc]# pdbedit -L
tom:1001:
jerry:1002:

15、因为/opt目录下还没有def这个目录,所以来创建一个

[root@localhost abc]# mkdir /opt/def         ## 创建def目录
[root@localhost abc]# chmod 777 /opt/def/    ## 设置目录权限为777

16、重启samba服务

[root@localhost abc]# systemctl restart smb

15、下面就可以使用win10客户机来尝试登陆访问了

注意:因为之前登陆过会有信息缓存,所以要先清空缓存

打开命令提示符输入一下命令:

C:\Users\GYW>net use * /d

16、登陆服务器,输入刚才创建的用户名及密码进行登陆

登陆成功!

尝试创建一个文件:

也是OK的

17、以上说明tom用户使用正常,现在来测试jerry用户

注意:在登录之前同样要清空缓存

尝试对刚才创建的文件进行改名

发现没有操作权限

18、samba中还可以设置别名登录

编辑配置文件

[root@localhost samba]# vi /etc/samba/smbusers
【注意】:在samba4中没有这个文件,所以可以使用vi命令可以自动创建一个添加如下内容:
tom = guest01 guest 02修改samba主配置文件,并增加一行内容:vi /etc/samba/smb.confsecurity = user
map to guest = Bad User
passdb backend = tdbsam
username map = /etc/samba/smbusers    ## 添加这一行内容修改完成后保存退出
别忘了重启samba服务:systemctl restart smb

19、回到客户端清空一下缓存,使用刚设置的用户别名重新进行登陆

登陆成功并可以创建文件

20、下面来设置一下访问控制列表,禁止某个(些)IP或网段访问samba服务

首先编辑配置文件

[root@localhost samba]# vi smb.conf[def]
path=/opt/def
browseable=yes
create mask=0644
directory mask=0755
valid users=tom, jerry
write list=tom
hosts deny=192.168.50.140 192.168.100.   ## 禁止.140的IP及100段IP访问修改完保存退出

21、重启samba服务并在客户机清除缓存重新尝试登录

这时候就会发现无论怎样访问都会提示权限拒绝!

22、最后我们来将windows中的目录挂载到Linux本地中

在L服务端根目录下创建一个data目录

[root@localhost ~]# mkdir /data

在客户端的E盘也创建一个文件夹

进入创建的文件夹,新建一个文件并随机往里面写入内容

23、因为想要实现的是从Linux访问客户端的文件,所以要在windows客户端进行设置

首先开启来宾用户

右击“我的电脑”选择“管理”,在计算机管理窗口中左侧选择“本地用户和组中的用户,在右侧就会显示”Guest“账户,默认是禁用的,现在我们将它启用

24、接着在搜索栏中输入“secpol.msc”打开“本地策略”,从“拒绝从网络访问这台计算机”中将Guest用户删除

25、在“安全选项”中的“网络访问:本地账户的共享和安全模型”中选择“仅来宾”项单击确定

26、在全部设置按成后记得要更新一下本地策略

C:\Users\GYW>gpupdate /force

27、更新完策略后右击需要共享的文件夹,选择“属性”,在“安全”选项卡中单击“共享”按钮,下拉列表中选择“Guest”后单击“共享“按钮即可

28、切换到“安全”选项卡,选择Guest账户,单击“编辑”按钮,选择Guest账户,并单击下面的“允许完全控制”按钮

29、从服务端查看共享文件夹

[root@localhost ~]# smbclient -L 192.168.50.140     ## 列出某个IP地址所提供的共享文件夹
Enter MYGROUP\root's password:      ## 因为是匿名,所以密码为空Sharename       Type      Comment---------       ----      -------ADMIN$          Disk      远程管理C$              Disk      默认共享D$              Disk      默认共享guazai          Disk                    ## 已经可以看到共享文件夹了IPC$            IPC       远程 IPC
SMB1 disabled -- no workgroup available

30、现在将客户端的guazai文件夹挂载到Linux的data目录中

[root@localhost ~]# mount.cifs //192.168.50.140/guazai /data     ## 将远程目录挂载到本地
Password for root@//192.168.50.140/guazai:    ## 密码为空,回车即可

查看磁盘挂载情况

[root@localhost ~]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs                   tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs                   tmpfs     1.9G   10M  1.9G    1% /run
tmpfs                   tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda3               xfs       295G  6.3G  289G    3% /
/dev/sda1               ext4      976M  189M  721M   21% /boot
tmpfs                   tmpfs     376M  1.2M  375M    1% /run/user/42
tmpfs                   tmpfs     376M  3.5M  372M    1% /run/user/0
/dev/sr0                iso9660   7.7G  7.7G     0  100% /run/media/root/CentOS-8-2-2004-x86_64-dvd
//192.168.50.140/guazai cifs      200G  6.3G  194G    4% /data       ## 已经挂载成功了!

挂载完成后就可以任意上传下载、修改其中的文件了

Centos 8 搭建samba文件共享服务(超详细)相关推荐

  1. 搭建samba文件共享服务

    文章目录 搭建samba文件共享服务 前言 搭建及设置步骤 实验环境 Win10文件共享到Linux里面 首先创建一个共享目录 GUEST账户启用 打开本地策略 将用户权限分配里面的拒绝从网络访问这台 ...

  2. Centos7 搭建Nginx图片服务超详细新手小白教程

    简介:以上文章讲述的是[Centos7超详细的安装与部署应用MySQL,Redis]接下来我总结一下[Centos7 搭建Nginx图片服务超详细教程].觉得我还可以的可以加群一起督促学习探讨技术.Q ...

  3. ubuntu18.4搭建samba文件共享服务

    今天比较有空就来玩玩怎么去在ubuntu上搭建samba服务器,通过win7 ip地址去访问共享文件,这也是个windos和ubuntu共享文件一种常用方法.这里只是做笔记用,既然其他网友已经写得很好 ...

  4. ubuntu 20.04搭建samba文件共享服务器,实现基于Linux和Windows的共享文件服务

    ubuntu 20.04搭建samba文件共享服务器,实现基于Linux和Windows的共享文件服务--超详细 一,samba的基本概念 二,samba的安装 三,samba的基本配置 创建文件夹 ...

  5. LinuxProbe 0x15 SAMBA文件共享服务、NFS网络文件系统、AutoFs自动挂载服务、DNS域名解析服务

    配置网络文件系统(Network File System,NFS)服务来简化Linux系统之间的文件共享工作, 通过部署NFS服务在多台Linux系统之间挂载并使用资源. 在管理设备挂载信息时,使用a ...

  6. Github + Hexo 搭建个人博客超详细教程

    Github + Hexo 搭建个人博客超详细教程 本文目录 generated with DocToc 网站搭建 本文目录 1.安装node.js 2.添加国内镜像 3.安装Git 4.注册Gith ...

  7. Linux搭建samba文件共享服务器,实现基于Linux和Windows的共享文件服务

    一,samba的基本概念 在早期的网络世界中,文件数据在不同主机之间的传输大多是使用**ftp,**但是使用ftp服务传输档案使得我们无法直接修改主机上面的档案数据.NFS服务可以实现在客户端的机器上 ...

  8. samba文件共享服务详解

    内容: 1.samba的作用以及由来 2.samba的特性 3.samba的工作过程 4.samba的安装以及配置 5.samba的搭建测试 一.samba的作用以及由来 SAMBA历史溯源(摘自百度 ...

  9. 手把手从零开始搭建k8s集群超详细教程

    本教程根据B站课程云原生Java架构师的第一课K8s+Docker+KubeSphere+DevOps同步所做笔记教程 k8s集群搭建超详细教程 1. 基本环境搭建 1. 创建私有网络 2. 创建服务 ...

最新文章

  1. Struts 2 标签库详解
  2. stl 基于哈希的map c++_【C++】一文带你入门 STL
  3. [CareerCup] 16.2 Measure Time in a Context Switch 测量上下文转换的时间
  4. 代理服务器https协议单站点开通注意事项
  5. MTK平台Android4.4 拍照默认图片格式修改
  6. 高校再陷版权纷争:MATLAB遭禁用后,又一基础软件严查盗版
  7. 案例展示自定义C函数的实现过程
  8. android 动态申请camera权限,GitHub - yinzhengwei/permissiongranted: Android动态权限检测和申请管理...
  9. 安装多个不同版本chrome浏览器
  10. STM32芯片包下载教程
  11. im即时通讯开发:万人群聊技术方案实践
  12. win10更新后D盘变成CD驱动器
  13. 《地球概论》(第3版)笔记 第三章 地球的运动
  14. 传感器与检测技术基础 复习提纲 考试不挂科专用版
  15. Java:IO流的概念、作用、分类
  16. Exemplar Fine-Tuning for 3D Human Model Fitting Towards In-the-Wild 3D Human Pose Estimation 2020阅读理
  17. Android“应用未安装”的解决办法
  18. HTTP协议 --HTTP协议详解
  19. cordova build android 出错问题汇总
  20. 【原创】车床操作点滴-不断更新

热门文章

  1. javafx label设置字体大小_如何把智能手机,设置成老年人模式?
  2. 用js实现加载本地图片并显示并将图片信息上传至服务端
  3. 巧用友盟UShare、ULink玩转裂变营销
  4. 如何在Windows server 2012配置DHCP服务器
  5. ​卧槽!这世上为什么要有乱码这个东西???
  6. 【面试】Python面试题库
  7. 触龙说赵太后原文及翻译
  8. 解决WPS或Word中“图片隐藏在文字下面”的问题
  9. Gentoo USE参数清单中文详解
  10. 理解计算 从根号2到AlphaGo 第3季神经网络的数学模型