Linux中Samba服务配置和管理

文章目录

  • 一、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 klibnetapi                                             x86_64                                4.20.1-1.el9                                     baseos                                145 ksamba-common-tools                                    x86_64                                4.20.1-1.el9                                     baseos                                482 ksamba-dcerpc                                          x86_64                                4.20.1-1.el9                                     baseos                                720 ksamba-ldb-ldap-modules                                x86_64                                4.20.1-1.el9                                     baseos                                 29 ksamba-libs                                            x86_64                                4.20.1-1.el9                                     baseos                                128 kTransaction Summary

2.3、启动Samba

[root@iZbp11ghgwglu1equx7sngZ ~]# systemctl start smb
[root@iZbp11ghgwglu1equx7sngZ ~]# systemctl status smb
● smb.service - Samba SMB DaemonLoaded: loaded (/usr/lib/systemd/system/smb.service; disabled; preset: disabled)Active: active (running) since Mon 2024-08-05 18:59:25 CST; 5s agoDocs: 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.0MCPU: 52msCGroup: /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-groupAug 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_STANDALONEPress enter to see a dump of your service definitions# Global parameters
[global]printcap name = cupssecurity = USERworkgroup = SAMBAidmap config * : backend = tdbcups options = raw[homes]browseable = Nocomment = Home Directoriesinherit acls = Yesread only = Novalid users = %S %D%w%S[printers]browseable = Nocomment = All Printerscreate mask = 0600path = /var/tmpprintable = Yes[print$]comment = Printer Driverscreate mask = 0664directory mask = 0775force group = @printadminpath = /var/lib/samba/driverswrite 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_STANDALONEPress enter to see a dump of your service definitions# Global parameters
[global]abort shutdown script = acl claims evaluation = AD DC onlyad dc functional level = 2008_R2add 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 = 604800afs username map = aio max threads = 100algorithmic rid base = 1000allow dcerpc auth level connect = Noallow dns updates = secure onlyallow insecure wide links = Noallow nt4 crypto = Noallow trusted domains = Yesallow unsafe cluster upgrade = Noapply 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_STANDALONEPress 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_STANDALONEPress 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/sbincomment = <注释>browseable = yeswritable = yescreate mask = 0755directory mask = 0755valid 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.rhkb.cn/news/460761.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MS01SF1 精准测距UWB模组助力露天采矿中的人车定位安全和作业效率提升

在当今矿业行业&#xff0c;随着全球对资源需求的不断增加和开采难度的逐步提升&#xff0c;传统的作业方式面临着越来越多的挑战。露天矿山开采&#xff0c;因其大规模的作业环境和复杂的地形特点&#xff0c;面临着作业人员的安全风险、设备调度的高难度以及资源利用率低下等…

Spring Security 门神中的战斗机

Spring Security 是 Spring 家族中的一个安全管理框架。相比与另外一个安全框架Shiro&#xff0c;它提供了更丰富的功能&#xff0c;社区资源也比Shiro丰富。 一般来说中大型的项目都是使用SpringSecurity 来做安全框架。 小项目有Shiro的比较多&#xff0c;因为相比与SpringS…

CentOS 7 下升级 OpenSSL

升级openssh,下载&#xff1a;https://download.csdn.net/download/weimeilayer/89935114 上传到服务器&#xff0c;然后执行命令 rpm -Uvh *.rpm --nodeps --force安装依赖 yum -y install gcc perl make zlib-devel perl-CPAN下载安装包&#xff1a;https://github.com/ope…

unordered_map、unordered_set 底层原理及其相关面试题

目录 unordered_map、unordered_set的底层原理 哈希表的实现 unordered_map 与map的区别&#xff1f;使用场景&#xff1f; unordered_map、unordered_set的常用函数 unordered_map map区别和联系 unordered_map、unordered_set的底层原理 unordered_map的底层是一个防冗余…

若依框架部署到服务器后头像资源访问404

排错过程 第一开始以为是代理出问题了 官网给出的解决方案 第一种是用代理后端接口&#xff0c;第二种是重写路径直接访问静态文件 接口通过捕获profile开头的路径/profile/avatar…&#xff0c;转为/home…/avatar找到我们在该路径下的文件 但是我想了一下&#xff0c;我ngin…

Linux——五种IO模型

目录 一IO基本理解 二五种IO模型 1五种IO模型示意图 2同步IO和异步IO 二非阻塞IO 1fcntl 2实现非阻塞IO 三多路复用 1select 1.1定位和作用 1.2介绍参数 1.3编写多路复用代码 1.4优缺点 2poll 2.1作用和定位 2.2介绍参数 2.3修改select代码 3epoll 3.1介绍…

【隐私计算篇】全同态加密应用场景案例(隐私云计算中的大模型推理、生物识别等)

1.题外话 最近因为奖项答辩&#xff0c;一直在忙材料准备&#xff0c;过程非常耗费时间和精力&#xff0c;很难有时间来分享。不过这段时间虽然很忙碌&#xff0c;但这期间有很多新的收获&#xff0c;特别是通过与领域内专家的深入交流和评审过程&#xff0c;对密码学和隐私计算…

【汇编语言】第一个程序(四)—— 谁在幕后启动程序 : 探讨可执行文件的装载与执行

文章目录 前言1. 可执行文件的加载与运行1.1 DOS中的程序加载过程1.2 问题1&#xff1a;谁加载了1.exe&#xff1f;1.3 问题2&#xff1a;程序运行结束后的返回过程1.4 操作系统的外壳1.5 回答问题1和问题21.6 汇编程序执行的完整历程 2. 使用Debug加载与跟踪1.exe2.1 Debug的加…

Unreal Engine 5 C++(C#)开发:使用蓝图库实现插件(一)认识和了解Build.cs

目录 引言 一、创建一个C插件TextureReader插件 二、Build.cs文件 三、ModuleRules 四、TextureReader插件的构造 4.1ReadOnlyTargetRules的作用 4.2TextureReaderd的构造调用 4.3设置当前类的预编译头文件的使用模式 4.4PublicIncludePaths.AddRange与PrivateInclude…

SELS-SSL/TLS

一、了解公钥加密&#xff08;非对称加密&#xff09; 非对称加密中&#xff0c;用于加密数据的密钥与用于解密数据的密钥不同。私钥仅所有者知晓&#xff0c;而公钥则可自由分发。发送方使用接收方的公钥对数据进行加密&#xff0c;数据仅能使用相应的私钥进行解密。 你可以将…

STM32FreeRTOS 使用QSPI驱动nandFlash

STM32FreeRTOS 使用QSPI驱动nandFlash 不清楚为什么STM32同时打开3个以上的音频文件时会出现播放问题&#xff0c;所以更换方案。因为SRAM的内存空间过小&#xff0c;用于存储音频文件不适合&#xff0c;所以使用大小为128MByte的nandFlash。 nandFlash使用华邦的W25N01GVZEI…

vscode的一些使用心得

问题1&#xff1a;/home目录空间有限 连接wsl或者remote的时候&#xff0c;会在另一端下载一个.vscode-server&#xff0c;vscode的插件都会安装进去&#xff0c;导致空间增加很多&#xff0c;可以选择更换这个文件的位置 参考&#xff1a;https://blog.csdn.net/weixin_4389…

1Panel应用商店开源软件累计下载突破200万次!

2024年10月23日&#xff0c;1Panel应用商店内开源软件累计下载突破200万次。 1Panel&#xff08;github.com/1Panel-dev/1Panel&#xff09;是一款现代化、开源的Linux服务器运维管理面板&#xff0c;它致力于通过开源的方式&#xff0c;帮助用户简化建站与运维管理流程。 为…

基于MATLAB多参数结合火焰识别系统

一、课题介绍 本设计为基于MATLAB的火焰烟雾火灾检测系统。传统的采用颜色的方法&#xff0c;误识别大&#xff0c;局限性强。结合火焰是实时动态跳跃的&#xff0c;采用面积增长率&#xff0c;角点和圆形度三个维度相结合的方式判断是否有火焰。该设计测试对象为视频&#xf…

利用摄像机实时接入分析平台LiteAIServer视频智能分析软件进行视频监控:过亮过暗检测算法详解

视频监控作为一种重要的安全和管理工具&#xff0c;广泛应用于各个领域&#xff0c;如安全监控、交通监管、员工监管、公共场所监控等。然而&#xff0c;在实际应用中&#xff0c;视频监控系统经常面临各种挑战&#xff0c;其中之一便是视频画面过亮或过暗的问题。过亮过暗检测…

python画图|坐标轴比例设置方法

【1】引言 在前序学习进程中&#xff0c;我们通过ax.set_box_aspect()函数掌握了坐标轴等比例设置方法。 担当我在回顾以前的学习文章时&#xff0c;发现ax.axis()函数也可以设置坐标轴比例&#xff0c;比如下述文章&#xff0c;文章可通过点击链接直达&#xff1a; python画…

[前端][基础]JavaScript

1&#xff0c;JavaScript简介 JavaScript 是一门跨平台、面向对象的脚本语言&#xff0c;而Java语言也是跨平台的、面向对象的语言&#xff0c;只不过Java是编译语言&#xff0c;是需要编译成字节码文件才能运行的&#xff1b;JavaScript是脚本语言&#xff0c;不需要编译&…

用于文档理解的局部特征

本文介绍了一种名为DocFormerv2的多模态Transformer模型&#xff0c;它专为视觉文档理解&#xff08;VDU&#xff09;而设计。该模型可以处理视觉、语言和空间特征&#xff0c;利用编码器-解码器架构&#xff0c;并通过不对称地使用新颖的无监督任务进行预训练&#xff0c;以促…

Chromium127编译指南 Linux篇 - 额外环境配置(五)

引言 在成功获取 Chromium 源代码后&#xff0c;接下来我们需要配置适当的编译环境&#xff0c;以便顺利完成开发工作。本文将详细介绍如何设置 Python 和相关的开发工具&#xff0c;以确保编译过程无碍进行。这些配置步骤是开发 Chromium 的必要准备&#xff0c;确保环境设置…