Linux中Samba服务配置和管理

news2024/11/22 16:07:07

文章目录

  • 一、Samba介绍
    • 1.1、Samba是什么
    • 1.2、Samba的核心功能
    • 1.3、Samba的主要组件
    • 1.4、Samba的工作流程
    • 1.5、Samba主要配置文件smb.conf
  • 二、Samba安装
    • 2.1、更新yum源
    • 2.2、安装Samba客户端和服务器软件包
    • 2.3、启动Samba
  • 三、Samba的使用
    • 3.1、设置Samba服务的全局选项
    • 3.2、testparm命令验证配置文件的正确性
    • 3.3、添加用户
    • 3.4、设置Samba用户映射
  • 四、安全级别


一、Samba介绍

1.1、Samba是什么

Samba是一种在Linux和UNIX系统上实现SMB协议的免费软件,能够让不同操作系统之间进行文件和打印机共享。

在这里插入图片描述

1.2、Samba的核心功能

  • 文件共享
    • 跨平台文件访问:Samba允许不同操作系统的计算机之间共享文件和目录,尤其是在混合网络环境中。这使得Windows、Linux和macOS系统之间能够无缝地共享文件。
    • 配置文件管理:通过配置文件smb.conf,Samba服务器可以灵活设置共享资源、身份验证和访问控制等选项。
  • 打印机共享
    • 共享打印服务:Samba不仅用于文件共享,还广泛应用于共享打印机。在网络上的多个计算机可以通过Samba访问同一个打印机,提高办公效率。
    • 无需额外驱动:由于Samba使用标准化的SMB协议,用户无需额外安装驱动程序,方便了打印机的共享和使用。
  • 用户验证与授权
    • 支持多种验证方式:Samba支持基于用户的、基于域的和Kerberos身份验证机制。这确保只有经过身份验证的用户才能访问共享资源,提高了安全性。
    • 访问控制:管理员可以精细控制每个用户的访问权限,包括只读、读写等。
  • 集成企业环境
    • 作为域控制器:Samba可以用作Windows域控制器的替代品,管理Windows域内的用户、组和计算机。这在没有Windows服务器的情况下非常实用。
    • 备份功能:Samba还可以用于将不同计算机的文件备份到中央存储位置,确保数据的可用性和冗余。
  • 网络浏览服务
    • NETBIOS名称解析:通过nmbd服务,Samba提供NETBIOS名称解析功能,使客户端能够在局域网内发现和访问共享资源。
    • WINS和DNS服务:Samba还支持WINS(Windows Internet Name Service)和DNS服务,进一步方便网络资源的查找和管理。

Samba的核心功能涵盖了从基本的文件和打印机共享到复杂的用户验证、企业环境集成以及网络浏览服务,使其成为跨平台网络环境中不可或缺的工具。这些功能共同构成了一个高效、灵活且安全的共享解决方案,适用于各种规模的网络环境。

1.3、Samba的主要组件

  • smbd(Samba Daemon)

smbd是Samba服务器的核心进程,负责处理所有的网络请求和文件共享。当用户从Windows、Linux或其他支持SMB/CIFS协议的客户端访问Samba服务器时,smbd进程将接收并处理这些请求,包括认证用户身份、文件和目录的访问控制等。

  • nmbd(NetBIOS Name Server)

nmbd进程是Samba服务器的另一个重要组成部分,它负责处理NetBIOS名称解析和广播。具体来说,nmbd通过NetBIOS协议提供资源的名称解析,使客户端能够通过名称找到Samba服务器上的共享资源。

  • winbindd

winbindd是用于与Windows域进行身份验证和用户登录的组件。它可以连接到Windows域控制器,并从中检索用户和域信息,处理Windows用户和组的身份验证,并提供与Windows域的集成。

  • smbstatus

smbstatus是一个用于显示当前Samba服务器状态和活动连接的命令。它会显示与Samba服务器相关的进程、连接信息和资源使用情况,帮助管理员监控服务器的活动。

  • smbcontrol

smbcontrol是用于与smbd进程进行通信和控制的命令行工具。它可以用来发送信号给smbd进程,以触发特定的操作,如重新加载配置文件、启动或停止特定的共享等。

1.4、Samba的工作流程

  • 配置共享资源
    • 编辑配置文件:管理员首先需要在Samba服务器上编辑主配置文件smb.conf,指定需要共享的目录和共享权限。
    • 设置日志文件:在配置文件中指定日志文件的名称和存放路径,以便记录访问信息。
    • 设定本地系统权限:设置共享目录的本地系统权限,以确保正确的文件和目录访问控制。
    • 重新加载配置文件:重新加载修改后的配置文件或重新启动SMB服务,使配置生效。
  • 客户端请求
    • 发起请求:当客户端(如Windows或Linux系统)尝试访问Samba服务器上的共项目录时,它会发送一个网络请求。
    • 查询配置文件:Samba服务器接收到请求后,会查询主配置文件smb.conf,以确认是否共享了请求的目录并检查客户端是否有权限访问。
  • 服务器处理请求
    • 验证用户身份:如果配置文件中定义了需要身份验证,则Samba服务器会验证客户端提供的用户名和密码,以确定是否允许访问。
    • 记录访问信息:Samba服务器会把本次访问信息记录在日志文件中,包括来访的主机名和访问时间等信息。
  • 访问控制
    • 读取配置文件规则:一旦认证通过,Samba服务器会根据配置文件中的规则和权限来控制客户端对共享文件和打印机的访问。
    • 执行操作:经过验证且符合访问控制策略的客户端可以进行读取、写入、执行文件等操作。
  • 文件传输或打印服务
    • 文件传输:客户端获得访问权限后,可以像访问本地文件系统一样访问Samba共享中的文件和目录,并由Samba服务负责在客户端和服务器之间传输文件数据。
    • 打印服务:对于共享的打印机,Samba服务允许客户端将打印作业发送到共享打印机,然后Samba服务器将打印作业传输给实际的打印机设备。

1.5、Samba主要配置文件smb.conf

smb.conf文件是Samba服务的核心,它负责存储所有共享资源和访问控制信息,是配置和管理Samba服务的关键。该文件大致可分为两部分:全局设置(Global Settings)和共享定义(Share Definitions)。全局设置影响整个Samba服务器的配置,而共享定义则指定具体的共享资源和访问权限。

  • 全局设置
    • workgroup:此选项设置了Samba服务器所属的工作组或域名,如workgroup = WORKGROUP。
    • server string:这是Samba服务器的简短描述,例如server string = %h server (Samba,Ubuntu)。
    • security:设置安全模式,常见的模式有share、user、server、domain和ads。例如security = user指定需要用户名和密码才能访问共享资源。
    • passdb backend:定义用户密码数据库的后端类型,如passdb backend = tdbsam表示使用TDB数据库来存储用户验证信息。
    • encrypt passwords:此选项控制是否对密码进行加密,为了与现代Windows系统兼容通常设置为yes。
  • 共享定义
    • comment:为共享资源添加描述性注释,如comment = Public Share。
    • path:指定共享资源的完整路径,如path = /home/public。
    • browseable:此选项设置共享是否可以在网络邻居中被浏览,如browseable = yes。
    • guest ok:设置是否允许匿名访问共享,如guest ok = no表示禁止匿名访问。
    • valid users:指定允许访问共享资源的用户或组,如valid users = @tech, manager。
    • read only:控制共享资源是否为只读,如read only = yes表示共享目录只能读取不可写入。

二、Samba安装

2.1、更新yum源

[root@iZbp11ghgwglu1equx7sngZ ~]# dnf update -y
Last metadata expiration check: 0:09:22 ago on Mon 05 Aug 2024 04:56:59 PM CST.
Dependencies resolved.
==========================================================================================================================================================================================
 Package                                                 Architecture                      Version                                             Repository                            Size

2.2、安装Samba客户端和服务器软件包

[root@iZbp11ghgwglu1equx7sngZ ~]# yum install samba
Last metadata expiration check: 2:01:58 ago on Mon 05 Aug 2024 04:56:59 PM CST.
Dependencies resolved.
==========================================================================================================================================================================================
 Package                                               Architecture                          Version                                          Repository                             Size
==========================================================================================================================================================================================
Installing:
 samba                                                 x86_64                                4.20.1-1.el9                                     baseos                                1.0 M
Installing dependencies:
 cups-libs                                             x86_64                                1:2.3.3op2-29.el9                                baseos                                262 k
 libnetapi                                             x86_64                                4.20.1-1.el9                                     baseos                                145 k
 samba-common-tools                                    x86_64                                4.20.1-1.el9                                     baseos                                482 k
 samba-dcerpc                                          x86_64                                4.20.1-1.el9                                     baseos                                720 k
 samba-ldb-ldap-modules                                x86_64                                4.20.1-1.el9                                     baseos                                 29 k
 samba-libs                                            x86_64                                4.20.1-1.el9                                     baseos                                128 k

Transaction Summary

2.3、启动Samba

[root@iZbp11ghgwglu1equx7sngZ ~]# systemctl start smb
[root@iZbp11ghgwglu1equx7sngZ ~]# systemctl status smb
● smb.service - Samba SMB Daemon
     Loaded: loaded (/usr/lib/systemd/system/smb.service; disabled; preset: disabled)
     Active: active (running) since Mon 2024-08-05 18:59:25 CST; 5s ago
       Docs: man:smbd(8)
             man:samba(7)
             man:smb.conf(5)
   Main PID: 85655 (smbd)
     Status: "smbd: ready to serve connections..."
      Tasks: 3 (limit: 22555)
     Memory: 21.0M
        CPU: 52ms
     CGroup: /system.slice/smb.service
             ├─85655 /usr/sbin/smbd --foreground --no-process-group
             ├─85659 /usr/sbin/smbd --foreground --no-process-group
             └─85660 /usr/sbin/smbd --foreground --no-process-group

Aug 05 18:59:25 iZbp11ghgwglu1equx7sngZ systemd[1]: Starting Samba SMB Daemon...
Aug 05 18:59:25 iZbp11ghgwglu1equx7sngZ smbd[85655]: [2024/08/05 18:59:25.382735,  0] ../../source3/smbd/server.c:1746(main)
Aug 05 18:59:25 iZbp11ghgwglu1equx7sngZ smbd[85655]:   smbd version 4.20.1 started.
Aug 05 18:59:25 iZbp11ghgwglu1equx7sngZ smbd[85655]:   Copyright Andrew Tridgell and the Samba Team 1992-2024
Aug 05 18:59:25 iZbp11ghgwglu1equx7sngZ systemd[1]: Started Samba SMB Daemon.

三、Samba的使用

3.1、设置Samba服务的全局选项

置Samba服务的全局选项,需要编辑Samba的主配置文件/etc/samba/smb.conf

  • 设置工作组名(workgroup)
[root@iZbp11ghgwglu1equx7sngZ /]# vi etc/samba/smb.conf
[global]
        workgroup = SAMBA
  • 设置服务器描述(description)
[global]
		server string = Samba Server on %h
  • 设置日志级别(log level)
[global]
		log level = 1
  • 设置主机名(netbios name)
[global]
		netbios name = SERVER_NAME
  • 设置安全模式(security mode)
[global]
		security = user
  • 设置共享目录(shared directory)
[global]
		path = /path/to/shared/directory
  • 设置匿名访问权限(guest ok)
[global]
		guest ok = yes
  • 设置允许的用户(valid users)
[global]
		valid users = user1 user2
  • 设置只读访问(read only)
[global]
		read only = yes
  • 设置文件系统缓存(file system cache)
[global]
		file system cache = yes

3.2、testparm命令验证配置文件的正确性

testparm命令是Samba套件的一部分,用于检查smbd配置文件(通常是smb.conf)的内部正确性。如果testparm命令的语法检查成功,那么可以确保Samba服务能够正确地加载配置文件。但是,这并不能保证加载后的操作会按照预期进行,因此还需要进行额外的操作确认。

testparm命令在大多数Linux发行版中都可以使用,包括Debian、Ubuntu、Alpine、Arch Linux、Kali Linux、RedHat/CentOS、Fedora、Raspbian等。如果在某些Linux发行版中无法使用,通常是因为Samba套件没有被安装。在这种情况下,可以通过相应的包管理器来安装Samba。

这个命令会检查/etc/samba/smb.conf文件的内部正确性

[root@iZbp11ghgwglu1equx7sngZ ~]# testparm /etc/samba/smb.conf
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed by GnuTLS (e.g. NTLM as a compatibility fallback)

WARNING: The 'netbios name' is too long (max. 15 chars).

Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
        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

这个命令会输出在smb.conf中未使用的所有选项,因此它们设置为默认值

[root@iZbp11ghgwglu1equx7sngZ ~]# testparm -v /etc/samba/smb.conf
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed by GnuTLS (e.g. NTLM as a compatibility fallback)

WARNING: The 'netbios name' is too long (max. 15 chars).

Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
        abort shutdown script = 
        acl claims evaluation = AD DC only
        ad dc functional level = 2008_R2
        add group script = 
        additional dns hostnames = 
        add machine script = 
        addport command = 
        addprinter command = 
        add share command = 
        add user script = 
        add user to group script = 
        afs token lifetime = 604800
        afs username map = 
        aio max threads = 100
        algorithmic rid base = 1000
        allow dcerpc auth level connect = No
        allow dns updates = secure only
        allow insecure wide links = No
        allow nt4 crypto = No
        allow trusted domains = Yes
        allow unsafe cluster upgrade = No
        apply group policies = No

这个命令会设置日志级别为3,然后检查smb.conf文件的内部正确性

[root@iZbp11ghgwglu1equx7sngZ ~]# testparm -d 3 /etc/samba/smb.conf
Load smb config files from /etc/samba/smb.conf
lp_load_ex: refreshing parameters
Initialising global parameters
Processing section "[global]"
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Loaded services file OK.
Weak crypto is allowed by GnuTLS (e.g. NTLM as a compatibility fallback)

WARNING: The 'netbios name' is too long (max. 15 chars).

Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

这个命令会设置日志级别为3,然后检查smb.conf文件的内部正确性

[root@iZbp11ghgwglu1equx7sngZ ~]# testparm -d 3 /etc/samba/smb.conf
Load smb config files from /etc/samba/smb.conf
lp_load_ex: refreshing parameters
Initialising global parameters
Processing section "[global]"
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Loaded services file OK.
Weak crypto is allowed by GnuTLS (e.g. NTLM as a compatibility fallback)

WARNING: The 'netbios name' is too long (max. 15 chars).

Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

3.3、添加用户

创建本地用户

[root@iZbp11ghgwglu1equx7sngZ ~]# useradd samba

设置Samba密码

[root@iZbp11ghgwglu1equx7sngZ ~]# smbpasswd  -a samba
New SMB password:
Retype new SMB password:
Added user samba.

创建共享目录

[root@iZbp11ghgwglu1equx7sngZ ~]# mkdir /home/samba/sbin

编辑配置文件

[root@iZbp11ghgwglu1equx7sngZ ~]# cat /etc/samba/smb.conf
[sbin]
        path = /home/samba/sbin
        comment = <注释>
        browseable = yes
        writable = yes
        create mask = 0755
        directory mask = 0755
        valid users = samba

重启Samba服务

3.4、设置Samba用户映射

创建用户映射文件

  • 编辑/etc/samba/smbusers文件:此文件用于存放共享账号的用户映射关系。
[root@iZbp11ghgwglu1equx7sngZ ~]# vi /etc/samba/smbuse
[root@iZbp11ghgwglu1equx7sngZ ~]# cat /etc/samba/smbuse
smbuser = samba

编辑配置文件

  • 修改/etc/samba/smb.conf文件:在配置文件的适当位置(通常是[global]部分或特定共享服务的段落),添加username map = /etc/samba/smbusers这一行,以指定用户映射文件的位置
  • 配置共享服务参数:在smb.conf文件中,为每个需要用户映射的共享服务配置相应的参数,如path, comment, browseable, writable, valid users等。这些参数定义了共享目录的路径、描述、可见性、可写性和允许访问的用户

添加共享账号用户映射

  • 在/etc/samba/smbusers文件中添加映射关系:例如,如果要让本地用户zhangsan和lisi都可以用共享账号smbuser登录,可以在smbusers文件中添加一行smbuser = zhangsan lisi。这样,不管是zhangsan还是lisi,他们都可以用自己的密码通过smbuser这个共享账号来访问Samba共享

重启Samba服务

四、安全级别

Samba的安全级别包括share、user、server和domain四个等级,用于控制用户访问共享资源的验证方式和权限

  • share安全级别
    • 特点:客户端不需要提供用户名和密码即可访问共享资源,属于匿名访问。
    • 适用场景:适用于对安全性要求不高的内部网络或者公共资源的共享,优点是方便和易于配置,但缺点是缺乏用户身份验证机制,安全性较低。
  • user安全级别
    • 特点:客户端需要提供用户名和密码,认证由Samba服务器本机负责。
    • 优点:提供了基于用户的访问控制,能够为每个用户设定权限,安全性较高。同时,可以通过编辑smbusers文件来映射不同用户,方便管理。
    • 适用场景:适用于需要身份验证和访问控制的企业或组织内部网络,确保只有授权用户才能访问敏感数据。
  • server安全级别
    • 特点:客户端需要提供用户名和密码,认证由另一台Samba服务器或Windows服务器负责。
    • 优点:可以将用户认证委托给专门的认证服务器,便于集中管理用户账号和密码。如果认证失败,会退到user安全级别。
    • 适用场景:适用于有多个服务器并且希望统一管理用户认证的复杂网络环境,可以减轻单个服务器的压力并提高安全性。
  • domain安全级别
    • 特点:要求网络上存在一台NT PDC(主域控制器),Samba把用户名和密码递交给NT PDC去验证。
    • 优点:适用于Windows网络域环境,可以实现与Windows AD(活动目录)的无缝集成,方便在大型网络中使用。
    • 适用场景:适用于需要高度集成的Windows网络域环境,例如企业中多个部门之间共享资源时,可以通过域控制器统一管理用户和权限。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1983271.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Simulink模型开发中的一些自动化方法

随着Simulink模型的产品化开发进程&#xff0c;许多模型开发人员会关心模型的建模自动化问题。比如如何对模型中的元素进行批量查找和修改&#xff1b;如何构建自己的建模规则对模型进行检查&#xff1b;如何实现测试自动化等。在这些使用场景中我们都需要了解一些Simulink函数…

Puppeteer-py:Python 中的无头浏览器自动化

1. 引言 在当今快速发展的互联网时代&#xff0c;自动化测试和数据抓取变得越来越重要。Puppeteer-py 作为一个 Python 库&#xff0c;提供了一种简单而强大的方法来控制无头浏览器&#xff0c;实现网页的自动化操作。无论是进行端到端的测试&#xff0c;还是抓取动态生成的数…

公司新来的两个Java后端,因题背太熟轻松过面试?

以前面试是背八股文&#xff0c;而2024年的后端面试都是流行问场景题&#xff01;建议大家把面试想简单一点&#xff0c;顺的场景题直接给有需要的人&#xff0c;希望能对大家有所帮助&#xff01; 由于平台篇幅原因&#xff0c;很多java面试资料内容展示不了&#xff0c;需要…

【HarmonyOS NEXT星河版开发学习】小型测试案例03-QQ音乐登录

个人主页→VON 收录专栏→鸿蒙开发小型案例总结​​​​​ 基础语法部分会发布于github 和 gitee上面&#xff08;暂未发布&#xff09; 前言 本案例使用的还是一些基础的语法&#xff0c;主要是知道如何去布局以及分析&#xff0c;Harmony的布局方式也是特别多&#xff0c;没必…

java基础 之 重写equals时为什么要重写hashCode

文章目录 前言回答了解哈希hashCode()总结 前言 了解equals戳这里→java基础 之 equals和的区别 请记住这句话&#xff1a;两个对象相同&#xff0c;哈希码一定相同。哈希码相同&#xff0c;两个对象不一定相同。 回答 只重写equals()方法&#xff0c;不重写hashCode()方法&…

【漏洞复现】致远互联FE协作办公平台 apprvaddNew.jsp SQL注入

文章目录 0x00 漏洞描述影响范围 0x01 测绘工具0x02 漏洞复现0x03 Nuclei检测脚本0x04 修复建议0x05 免责声明 0x00 漏洞描述 致远互联FE协作办公平台是一款为企业提供全方位协同办公解决方案的产品。 在受影响的版本中&#xff0c;攻击者可以未授权访问/witapprovemanage/app…

Animate软件动画类型简介

在Animate软件中&#xff0c;有三种基本的补间动画和一种逐帧动画&#xff0c;这里就简单讲一下这几种动画的概念。 FlashASer&#xff1a;AdobeAnimate2021软件零基础入门教程https://zhuanlan.zhihu.com/p/633230084 FlashASer&#xff1a;实用的各种Adobe Animate软件教程…

Java第一个程序的开发

开发三步骤 编写: a.创建一个文本文档,将后缀名改成.java,变成一个java文件 b.注意:我们需要将文件的后缀名显示出来 编译: a.命令:javac java文件名.java b.注意:javac会将java文件编译,生成一个.class文件(字节码文件),jvm运行只认class文件 运行: a.命令:java class文件名…

开发一个自己的VSCode插件

1、前言 对于一个前端开发者来说&#xff0c;开发工具&#xff0c;最常用的应该就是VSCode了&#xff0c;因为它免费&#xff0c;速度快&#xff0c;提供了丰富了插件等优点&#xff0c;使得越来越多的前端开发者都来使用它了&#xff0c;在开发的时候如果有丰富的插件提供支持…

Spring Cloud微服务项目集成MyBatis

在现代软件开发中&#xff0c;微服务架构已经成为一种流行的解决方案&#xff0c;它能够将应用程序拆分成多个小的、独立的服务。每个服务负责一个特定的业务功能&#xff0c;并可以独立部署和扩展。Spring Cloud是一个提供各种工具和框架以支持微服务开发的开源框架&#xff0…

【工具】Sublime配置Anaconda的Python环境的简单方法

1 背景 Sublime Text对Python特别友好&#xff0c;自带Python编译器。只需CtrlB就能编译并控制台输出&#xff0c;特别适合小脚本的调试。 在安装了Anaconda后&#xff0c;如何使用Sublime Text调用Anaconda的Python以及Anaconda附带的众多实用的库呢&#xff1f; 也很简单。…

一个全新低代码快速开发平台,基于Activiti7和Vue3全开放式流程,简洁且强大(附源码)

前言 在当今数字化时代&#xff0c;企业面临着快速变化的市场环境和日益复杂的业务需求。现有的软件开发模式往往存在开发周期长、成-本高、迭代速度慢等问题&#xff0c;难以满足企业对快速响应市场变化的需求。此外&#xff0c;传统的开发平台往往缺乏灵活性和扩展性&#x…

servlet内存马

参考视频&#xff1a;java内存马专题1-servlet内存马 创建javaweb项目&#xff0c;勾选servlet 我们可以将idea给的注释写法&#xff0c;改到web.xml里面 <?xml version"1.0" encoding"UTF-8"?> <web-app xmlns"http://xmlns.jcp.org/xm…

C++详解->函数模板+类模版

文章目录 前言1、反泛型编程2、函数模板(1)、函数模板概念(2)、函数模板定义格式(3)、函数模板实例化(4)函数模板参数匹配原则 3、类模版(1)类模板实例化(2)类模板实现Stack&#xff08;压/出栈函数&#xff09; 前言 此篇主要描述函数模板的概念、格式以及实例化等&#xff1b…

AppInventor做的APP支持安卓14吗?

目前MIT最新版本也是Android13&#xff0c;我们与mit同步更新。如果官方支持14我们会第一时间跟进。不过&#xff0c;根据用户反馈&#xff0c;蓝牙相关的好像不兼容~ 有关安卓 14 的补充&#xff1a;根据反馈&#xff0c;是支持14的&#xff0c;不过需要手动开启蓝牙权限 …

【HarmonyOS】鸿蒙应用实现截屏

【HarmonyOS】鸿蒙应用实现截屏 组件截屏 通过componentSnapshot的get函数&#xff0c;将需要截图的组件设置id传进去即可。 import { componentSnapshot } from kit.ArkUI; import { image } from kit.ImageKit;/*** 截图*/ Entry Component Preview struct SnapShotPage {S…

16.2 商品秒杀场景处理

16.2 商品秒杀场景处理 1. 秒杀业务流程解析2. 限速手段************************************************************************ 1. 秒杀业务流程解析 VIP秒杀 通过前端验证码限速 2. 限速手段 ********************************************************************…

VMware虚拟机Ubuntu20.04的安装和配置

Ubuntu20.04和VMware安装 Windows系统下Ubuntu20.04镜像源下载&#xff1a;Ubuntu20.04系统下载 VMware下载 百度网盘链接&#xff1a;https://pan.baidu.com/s/1Fp6GYPDFksEGCNZ0JikfAg 提取码: 8jhs 虚拟机配置Ubuntu 打开VMware点击创建新的虚拟机 - > 典型 - …

golang Goroutine协程和Channel管道

同步/并发/并行概念 在计算机科学和软件开发中&#xff0c;同步、并发和并行是三个重要的概念&#xff0c;它们描述了程序执行的不同方式 同步 (Synchronization) 定义&#xff1a;同步指的是一种操作或任务在进行时&#xff0c;调用者需要等待该操作或任务完成才能继续执行…

SD-WAN组网技术的九大应用场景

SD-WAN组网&#xff0c;即软件定义广域网&#xff0c;为企业提供了高效、灵活且安全的网络连接。这种新兴网络技术不仅改变了传统WAN的组网方式&#xff0c;更带来了诸多应用场景和解决方案。接下来&#xff0c;我们将深入探讨SD-WAN的主要应用场景。 1、首先&#xff0c;SD-WA…