当前位置: 首页 > article >正文

centOS 7.9 65bit 修复Openssh漏洞

一、背景:

在使用centos 7.9 64bit版本操作系统时有扫描出如下的漏洞:

二、修复openssh漏洞操作 

升级注意事项 (一下所有的操作默认都是root或者管理员权限,如果遇到权限问题每个指令以及指令组合都要在前面加sudo)

1、查看CentOS操作系统信息:

(1)cat /etc/issue 查看版本    

[root@ecs-ab49 ~]# cat /etc/issue
\S
Kernel \r on an \m

(2)cat /etc/redhat-release 查看版本(推荐) 

[root@ecs-ab49 ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

 (3)cat /proc/version  查看内核

[root@ecs-ab49 ~]# cat /proc/version
Linux version 3.10.0-1160.119.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Tue Jun 4 14:43:51 UTC 2024

2、环境依赖准备:

(1)OpenSSL版本:目前OpenSSH8.0不支持OpenSSH1.1.x以上。否则编译的时候会报错。

[root@ecs-ab49 ~]# openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017
[root@ecs-ab49 ~]# rpm -qa|grep openssl
openssl-libs-1.0.2k-26.el7_9.x86_64
openssl-1.0.2k-26.el7_9.x86_64

 没有openssl 服务可以安装openssl openssl-devel

[root@ecs-ab49 ~]# yum install openssl-devel openssl

(2)zlib和zlib-devel服务依赖:
Zlib1.1.4或1.2.1.2或更高版本

[root@ecs-ab49 ~]# rpm -q zlib  rpm -q zlib-devel
zlib-1.2.7-21.el7_9.x86_64
package  rpm is not installed
package zlib-devel is not installed

注:这里没有zlib-devel服务 

[root@ecs-ab49 ~]# yum install zlib-devel
Loaded plugins: fastestmirror
Determining fastest mirrors
base                                                                                                                                                                               | 3.6 kB  00:00:00     
epel                                                                                                                                                                               | 4.3 kB  00:00:00     
extras                                                                                                                                                                             | 2.9 kB  00:00:00     
updates                                                                                                                                                                            | 2.9 kB  00:00:00     
(1/7): epel/x86_64/group                                                                                                                                                           | 399 kB  00:00:00     
(2/7): epel/x86_64/updateinfo                                                                                                                                                      | 1.0 MB  00:00:00     
(3/7): base/7/x86_64/group_gz                                                                                                                                                      | 153 kB  00:00:00     
(4/7): base/7/x86_64/primary_db                                                                                                                                                    | 6.1 MB  00:00:00     
(5/7): epel/x86_64/primary_db                                                                                                                                                      | 8.7 MB  00:00:00     
(6/7): updates/7/x86_64/primary_db                                                                                                                                                 |  27 MB  00:00:00     
(7/7): extras/7/x86_64/primary_db                                                                                                                                                  | 253 kB  00:00:00     
Resolving Dependencies
--> Running transaction check
---> Package zlib-devel.x86_64 0:1.2.7-21.el7_9 will be installed
--> Finished Dependency ResolutionDependencies Resolved==========================================================================================================================================================================================================Package                                          Arch                                         Version                                                Repository                                     Size
==========================================================================================================================================================================================================
Installing:zlib-devel                                       x86_64                                       1.2.7-21.el7_9                                         updates                                        50 kTransaction Summary
==========================================================================================================================================================================================================
Install  1 PackageTotal download size: 50 k
Installed size: 132 k
Is this ok [y/d/N]: y
Downloading packages:
zlib-devel-1.2.7-21.el7_9.x86_64.rpm                                                                                                                                               |  50 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.Installing : zlib-devel-1.2.7-21.el7_9.x86_64                                                                                                                                                       1/1 Verifying  : zlib-devel-1.2.7-21.el7_9.x86_64                                                                                                                                                       1/1 Installed:zlib-devel.x86_64 0:1.2.7-21.el7_9                                                                                                                                                                      Complete!

再次检查zlib和zlib-devel依赖服务:

[root@ecs-ab49 ~]# rpm -q zlib zlib-devel
zlib-1.2.7-21.el7_9.x86_64
zlib-devel-1.2.7-21.el7_9.x86_64

(3)GCC依赖:

查看gcc版本

[root@ecs-ab49 ~]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 

 没有gcc 直接安装

[root@ecs-ab49 ~]# yum install gcc

(4)安装pam-devel

[root@ecs-ab49 ~]# yum install -y pam-devel

 

3、安装telnet和xinetd服务:

升级过程未防止升级失败,需要先开启telnet服务,防止升级失败连接不上远程主机。

(1) 安装telnet服务:

[root@ecs-ab49 ~]# rpm -qa | grep telnet
[root@ecs-ab49 ~]# yum list |grep telnet 
dcap-tunnel-telnet.x86_64                2.47.14-1.el7                 epel     
libguac-client-telnet.x86_64             1:1.5.5-1.el7                 epel     
libtelnet.x86_64                         0.23-1.el7                    epel     
libtelnet-devel.x86_64                   0.23-1.el7                    epel     
libtelnet-utils.x86_64                   0.23-1.el7                    epel     
telnet.x86_64                            1:0.17-66.el7                 updates  
telnet-server.x86_64                     1:0.17-66.el7                 updates  
[root@ecs-ab49 ~]# yum install telnet-server.x86_64
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package telnet-server.x86_64 1:0.17-66.el7 will be installed
--> Finished Dependency ResolutionDependencies Resolved==========================================================================================================================================================================================================Package                                             Arch                                         Version                                             Repository                                     Size
==========================================================================================================================================================================================================
Installing:telnet-server                                       x86_64                                       1:0.17-66.el7                                       updates                                        41 kTransaction Summary
==========================================================================================================================================================================================================
Install  1 PackageTotal download size: 41 k
Installed size: 55 k
Is this ok [y/d/N]: y
Downloading packages:
telnet-server-0.17-66.el7.x86_64.rpm                                                                                                                                               |  41 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transactionInstalling : 1:telnet-server-0.17-66.el7.x86_64                                                                                                                                                     1/1 Verifying  : 1:telnet-server-0.17-66.el7.x86_64                                                                                                                                                     1/1 Installed:telnet-server.x86_64 1:0.17-66.el7                                                                                                                                                                      Complete!

(2)安装xinetd服务:

[root@ecs-ab49 ~]# rpm -qa | grep xinetd
[root@ecs-ab49 ~]# yum list |grep xinetd
xinetd.x86_64                            2:2.3.15-14.el7               base  
[root@ecs-ab49 ~]# yum install xinetd.x86_64
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package xinetd.x86_64 2:2.3.15-14.el7 will be installed
--> Finished Dependency ResolutionDependencies Resolved==========================================================================================================================================================================================================Package                                        Arch                                           Version                                                 Repository                                    Size
==========================================================================================================================================================================================================
Installing:xinetd                                         x86_64                                         2:2.3.15-14.el7                                         base                                         128 kTransaction Summary
==========================================================================================================================================================================================================
Install  1 PackageTotal download size: 128 k
Installed size: 261 k
Is this ok [y/d/N]: y
Downloading packages:
xinetd-2.3.15-14.el7.x86_64.rpm                                                                                                                                                    | 128 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transactionInstalling : 2:xinetd-2.3.15-14.el7.x86_64                                                                                                                                                          1/1 Verifying  : 2:xinetd-2.3.15-14.el7.x86_64                                                                                                                                                          1/1 Installed:xinetd.x86_64 2:2.3.15-14.el7                                                                                                                                                                           Complete!

 启动telnet服务和xinetd服务,并验证登入:

[root@ecs-ab49 ~]# systemctl enable telnet.socket 
Created symlink from /etc/systemd/system/sockets.target.wants/telnet.socket to /usr/lib/systemd/system/telnet.socket.
[root@ecs-ab49 ~]# systemctl start telnet.socket 
[root@ecs-ab49 ~]# systemctl status telnet.socket 
● telnet.socket - Telnet Server Activation SocketLoaded: loaded (/usr/lib/systemd/system/telnet.socket; enabled; vendor preset: disabled)Active: active (listening) since Thu 2025-03-27 11:33:22 CST; 8s agoDocs: man:telnetd(8)Listen: [::]:23 (Stream)Accepted: 0; Connected: 0Mar 27 11:33:22 ecs-ab49 systemd[1]: Listening on Telnet Server Activation Socket.
[root@ecs-ab49 ~]# systemctl enable xinetd 
[root@ecs-ab49 ~]# systemctl start xinetd
[root@ecs-ab49 ~]# systemctl status xinetd
● xinetd.service - Xinetd A Powerful Replacement For InetdLoaded: loaded (/usr/lib/systemd/system/xinetd.service; enabled; vendor preset: enabled)Active: active (running) since Thu 2025-03-27 11:33:45 CST; 4s agoProcess: 10174 ExecStart=/usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid $EXTRAOPTIONS (code=exited, status=0/SUCCESS)Main PID: 10175 (xinetd)CGroup: /system.slice/xinetd.service└─10175 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pidMar 27 11:33:45 ecs-ab49 xinetd[10175]: removing discard
Mar 27 11:33:45 ecs-ab49 xinetd[10175]: removing discard
Mar 27 11:33:45 ecs-ab49 xinetd[10175]: removing echo
Mar 27 11:33:45 ecs-ab49 xinetd[10175]: removing echo
Mar 27 11:33:45 ecs-ab49 xinetd[10175]: removing tcpmux
Mar 27 11:33:45 ecs-ab49 xinetd[10175]: removing time
Mar 27 11:33:45 ecs-ab49 xinetd[10175]: removing time
Mar 27 11:33:45 ecs-ab49 xinetd[10175]: xinetd Version 2.3.15 started with libwrap loadavg labeled-networking options compiled in.
Mar 27 11:33:45 ecs-ab49 xinetd[10175]: Started working: 0 available services
Mar 27 11:33:45 ecs-ab49 systemd[1]: Started Xinetd A Powerful Replacement For Inetd.

登入验证:

4、升级openssh版本:

(1)对原来的openssh相关的文件进行备份

[root@ecs-ab49 ~]# cp -r -a /etc/ssh/ /etc/ssh.bak
[root@ecs-ab49 ~]# cp -r -a /etc/pam.d/ /etc/pam.d.bak
[root@ecs-ab49 ~]# mv /usr/sbin/sshd /usr/sbin/sshd.bak
[root@ecs-ab49 ~]# mv /usr/bin/ssh /usr/bin/ssh.bak
[root@ecs-ab49 ~]# mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak

 (2)下载openssh-8.0p1源码包:

[root@ecs-ab49 ~]# wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.0p1.tar.gz
--2025-03-27 11:42:18--  https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.0p1.tar.gz
Resolving cdn.openbsd.org (cdn.openbsd.org)... 151.101.91.52
Connecting to cdn.openbsd.org (cdn.openbsd.org)|151.101.91.52|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1597697 (1.5M) [application/octet-stream]
Saving to: ‘openssh-8.0p1.tar.gz’100%[================================================================================================================================================================>] 1,597,697   1.53MB/s   in 1.0s   2025-03-27 11:42:22 (1.53 MB/s) - ‘openssh-8.0p1.tar.gz’ saved [1597697/1597697]

解压openssh-8.0p1包:

[root@ecs-ab49 ~]# tar -zxvf  openssh-8.0p1.tar.gz

(3)卸载原系统的openssh包

rpm方式卸载命令

[root@ecs-ab49 ~]# rpm -e --nodeps `rpm -qa | grep openssh`

yum方式卸载

[root@ecs-ab49 ~]# yum remove openssh

(4)源码编译:

[root@ecs-ab49 ~]# cd openssh-8.0p1
[root@ecs-ab49 openssh-8.0p1]# ./configure --prefix=/usr/local/openssh8p1 --sysconfdir=/etc/ssh --with-pam --with-zlib

结果:

 (5)安装make 和make install :

[root@ecs-ab49 openssh-8.0p1]# make &&sudo make install

(6)配置openssh文件

[root@ecs-ab49 openssh-8.0p1]# cp /usr/local/openssh8p1/etc/sshd_config /etc/ssh/sshd_config
[root@ecs-ab49 openssh-8.0p1]# cp /usr/local/openssh8p1/sbin/sshd /usr/sbin/sshd
[root@ecs-ab49 openssh-8.0p1]# cp /usr/local/openssh8p1/bin/ssh /usr/bin/ssh
[root@ecs-ab49 openssh-8.0p1]# cp /usr/local/openssh8p1/bin/ssh-keygen /usr/bin/ssh-keygen
[root@ecs-ab49 openssh-8.0p1]# cp -p contrib/redhat/sshd.init /etc/init.d/sshd

(7)文件授权

[root@ecs-ab49 openssh-8.0p1]# chmod +x /etc/init.d/sshd


(8)配置文件更改(根据需要)

[root@ecs-ab49 openssh-8.0p1]# vi /etc/ssh/sshd_config

添加以下内容:

PermitRootLogin yes
PubkeyAuthentication yes
PasswordAuthentication yes

注释以下内容:

# .#TCPKeepAlive yes 

(9)设置开机启动

[root@ecs-ab49 openssh-8.0p1]# systemctl enable sshd

(10)重启服务

[root@ecs-ab49 openssh-8.0p1]# systemctl restart sshd

(11)验证ssh版本:

[root@ecs-ab49 ssh]# ssh -V
OpenSSH_8.0p1, OpenSSL 1.0.2k-fips  26 Jan 2017

验证openssh漏洞是否修复了,结果是修复了的

5、卸载telnet服务和xinetd服务:

(1)查看相关的telnet和xinetd版本

[root@ecs-ab49 ssh]# rpm -qa |grep telnet
[root@ecs-ab49 ssh]# yum remove -y telnet-server-0.17-48.el6.x86_64[root@ecs-ab49 ssh]# yum remove -y rpm  –e  telnet-server.x86_64

(2)将修改后的securetty的文件修改过来

[root@ecs-ab49 ssh]# mv  /etc/securetty.bak  /etc/securetty

到此,centos 7.9 64bit的penssh漏洞就修复完成了。

相关文章:

centOS 7.9 65bit 修复Openssh漏洞

一、背景: 在使用centos 7.9 64bit版本操作系统时有扫描出如下的漏洞: 二、修复openssh漏洞操作 升级注意事项 (一下所有的操作默认都是root或者管理员权限,如果遇到权限问题每个指令以及指令组合都要在前面加sudo) 1、查看CentOS操作系统信…...

金融级密码管理器——生物特征密钥绑定方案

目录 金融级密码管理器 —— 生物特征密钥绑定方案一、模块概述与设计目标1.1 模块背景与意义1.2 设计目标二、系统架构设计2.1 系统模块划分2.2 系统架构图(Mermaid示意图)三、核心算法与安全原理3.1 生物特征数据预处理3.2 密钥生成算法3.3 安全认证与密钥绑定验证3.4 密钥…...

JDBC-添加数据

文章目录 准备数据库添加数据引入数据库依赖包 准备数据库 自行安装软件,利用小皮内嵌的数据 添加数据 引入数据库依赖包 结构 drivercom.mysql.cj.jdbc.Driver urljdbc:mysql://127.0.0.1:3308/yanyuuserroot passwordrootpackage com.yanyu;import java.sql.*;…...

衡石科技HENGSHI SENSE异构数据关联技术深度解析:揭秘5-8倍性能提升背后的“异构过滤“架构

引言:多源数据关联的行业痛点 在大数据时代,企业数据通常分散在多个异构系统中——关系型数据库、NoSQL、数据仓库、湖仓一体平台等。根据Forrester调研,超过78%的企业需要同时访问5种以上不同类型的数据源进行分析,但传统ETL和跨…...

基于Netlify + Localtunnel 实现本地项目“无服务器”部署上线

基于Netlify Localtunnel 实现本地项目“无服务器”部署上线 1. 先看效果图2. 实现步骤2.1 分两步走2.2 netlify 部署前端资源2.3 Localtunnel 映射 localhost 服务 3. 其它工具内网穿透工具对比4. 总结5. 参考资料 1. 先看效果图 地址:zqchat 2. 实现步骤 2.1 …...

C#从入门到精通(3)

目录 第九章 窗体 (1)From窗体 (2)MDI窗体 (3)继承窗体 第十章 控件 (1)控件常用操作 (2)Label控件 (3)Button控件 &…...

设计模式之创建型5种

设计模式 为什么设计模式是23种创建型 对象创建为什么设计模式是23种 设计模式之所以被归纳为23种,而非其他数量,源于GoF(Gang of Four)在1994年的系统性总结和分类。这一数量的确定并非偶然,而是基于以下核心原因: 他们遵循“大三律”(Rule of Three),即只有经过三个…...

Java + LangChain 实战入门,开发大语言模型应用!

在 Baeldung 上看到了一篇介绍基于 Java LangChain 开发大语言模型应用的基础入门文章,写的非常不错,非常适合初学者。于是,我抽空翻译了一下。 原文地址:https://www.baeldung.com/java-langchain-basics翻译: Java…...

el-date-picker时间范围 编辑回显后不能修改问题

el-date-picker daterange时间范围 编辑回显后不能修改 <el-form-item:label"LABELS.gplanRecordDateLabel"prop"gplanRecordDate"><el-date-pickerstyle"width: 300px"v-model"formData.gplanRecordDate"type"daterang…...

Java多线程与高并发专题—— CyclicBarrier 和 CountDownLatch 有什么异同?

引入 上一篇我们了解CountDownLatch的原理和常见用法&#xff0c;在CountDownLatch的源码注释中&#xff0c;有提到&#xff1a; 另一种典型用法是将一个问题分解为 N 个部分&#xff0c;用一个Runnable描述每个部分&#xff0c;该Runnable执行相应部分的任务并对闭锁进行倒计…...

leetcode543.二叉树的直径

当前顶点作为拐点时&#xff0c;求左子树加上右子树的高度可以求出该通过该顶点的直径大小&#xff0c;再对该顶点和左右子节点作为拐点时直径大小进行比对&#xff0c;返回最大值 缺点是递归了多次 /*** Definition for a binary tree node.* public class TreeNode {* …...

Java EE 进阶:MyBatis案例练习

表白墙 首先我们先准备一下数据库的数据 创建一个信息表 DROP TABLE IF EXISTS message_info;CREATE TABLE message_info (id INT ( 11 ) NOT NULL AUTO_INCREMENT,from VARCHAR ( 127 ) NOT NULL,to VARCHAR ( 127 ) NOT NULL,message VARCHAR ( 256 ) NOT NULL,delete_fla…...

Dubbo 全面解析:从 RPC 核心到服务治理实践

一、分布式系统与 RPC 框架概述 在当今互联网时代&#xff0c;随着业务规模的不断扩大&#xff0c;单体架构已经无法满足高并发、高可用的需求&#xff0c;分布式系统架构成为主流选择。而在分布式系统中&#xff0c;远程服务调用&#xff08;Remote Procedure Call&#xff0…...

路由选型终极对决:直连/静态/动态三大类型+华为华三思科配置差异,一张表彻底讲透!

路由选型终极对决&#xff1a;直连/静态/动态三大类型华为华三思科配置差异&#xff0c;一张表彻底讲透&#xff01; 一、路由&#xff1a;互联网世界的导航系统二、路由类型深度解析三者的本质区别 三、 解密路由表——网络设备的GPS华为&#xff08;Huawei&#xff09;华三&a…...

[微信小程序]对接sse接口

[微信小程序]对接sse接口 在uni开发中&#xff0c;在微信小程序中实现sse接口请求 相关连接 微信小程序对接SSE接口记录 uni中实现sse代码 注意的坑点 接收的并不是字符串&#xff0c;而是ArrayBuffer模拟流推送并不是流推送&#xff0c;会有data:字符扰乱推送并不是完全按照…...

01 相机标定与相机模型介绍

学完本文,您将了解不同相机模型分类、内参意义,及对应的应用代码模型 标定的意义 建模三维世界点投影到二维图像平面的过程。标定输出的是相机模型。 相机模型 相机模型可以解理解为投影模型 +...

【商城实战(72)】解锁用户评价与晒单功能开发秘籍

【商城实战】专栏重磅来袭&#xff01;这是一份专为开发者与电商从业者打造的超详细指南。从项目基础搭建&#xff0c;运用 uniapp、Element Plus、SpringBoot 搭建商城框架&#xff0c;到用户、商品、订单等核心模块开发&#xff0c;再到性能优化、安全加固、多端适配&#xf…...

2025.03.27【基因分析新工具】| MAST:解锁基因表达差异分析与网络构建

文章目录 1. MAST工具简介&#xff1a;探索生物信息分析的新利器1.1 什么是MAST工具&#xff1f;1.2 MAST工具的优势1.3 MAST工具的应用场景 2. MAST的安装方法&#xff1a;轻松入门的第一步2.1 安装R语言环境2.2 安装MAST包2.3 安装依赖库 3. MAST常用命令&#xff1a;掌握数据…...

浅谈WebSocket-FLV

FLV是一种视频数据封装格式&#xff0c;这种封装被标准通信协议HTTP-FLV和RTMP协议应用。 而WebSocket-FLV是一种非标的FLV封装数据从后端发送到前端的一种方式。 在WebSocket的url请求中&#xff0c;包含了需要请求设备的视频相关信息&#xff0c;在视频数据到达时&#xff0c…...

SICAR标准 汽车焊装生产线触摸屏操作说明

目录 SIMATIC HMI 是西门子工业自动化解决方案的核心组件&#xff0c;支持实时设备监控与交互&#xff0c;文档中展示了其在焊装生产线中以SICAR标准为基础的具体应用&#xff0c;包括车型切换&#xff08;如 AY2/A26&#xff09;、KMC 夹具配置及能源效率分析&#xff0c;适用…...

CentOS 7 磁盘及分区管理笔记

一、查看磁盘信息 1. lsblk 命令 作用&#xff1a;列出系统中所有的块设备&#xff08;包括磁盘、分区等&#xff09;及其相关信息&#xff0c;如设备名称、大小、类型等。 命令格式&#xff1a;lsblk 示例&#xff1a; lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sd…...

Unity Standard Shader 解析(一)之ForwardBase(标准版)

一、ForwardBase // Base forward pass (directional light, emission, lightmaps, ...)Pass{Name "FORWARD"Tags { "LightMode" "ForwardBase" }Blend [_SrcBlend] [_DstBlend]ZWrite [_ZWrite]CGPROGRAM#pragma target 3.0// --------------…...

关于bug总结记录

1、vs中出现bug error C1083:无法打开文件 链接&#xff1a;vs中出现bug error C1083:无法打开文件_vs20151083错误解决方法-CSDN博客 2、 VS小技巧&#xff1a;系统却提示&#xff1a;示msvcp120.dll丢失 链接&#xff1a;VS小技巧&#xff1a;系统却提示&#xff1a;示msvc…...

go - grpc入门

前期准备 工具安装及使用 grpc开发 编写proto文件 proto文件是符合Protocol Buffers语言规范的数据交换协议文件&#xff0c;就像以前WebService定义服务时使用的XML文件。现在一般都是用proto3了&#xff0c;这里创建一个名为 hello.proto 的文件&#xff0c;放到项目的pr…...

Selenium Web自动化如何快速又准确的定位元素路径,强调一遍是元素路径

如果文章对你有用&#xff0c;请给个赞&#xff01; 匹配的ChromeDriver和浏览器版本是更好完成自动化的基础&#xff0c;可以从这里去下载驱动程序&#xff1a; 最全ChromeDriver下载含win linux mac 最新版本134.0.6998.165 持续更新..._chromedriver 134-CSDN博客 如果你问…...

鸿蒙-全屏播放页面(使用相对布局)---持续更新中

最终实现效果图&#xff1a; 实现步骤 创建FullScreenPlay.ets全品播放页面 并将其修改为启动页面。 全屏播放&#xff0c;屏幕必然横过来&#xff0c;所以要将窗口横过来。 编辑 src/main/ets/entryability/EntryAbility.ets 若写在/EntryAbility.ets中&#xff0c;则所有…...

全面讲解python的uiautomation包

在常规的模拟鼠标和键盘操作&#xff0c;我们一般使用pyautogui&#xff0c;uiautomation模块不仅能直接支持这些操作&#xff0c;还能通过控件定位方式直接定位到目标控件的位置&#xff0c;而不需要自己去获取对应坐标位置。uiautomation模块不仅支持任意坐标位置截图&#x…...

CentOS 7 源码安装libjsoncpp-1.9.5库

安装依赖工具 sudo yum install cmake make gcc cmake 需要升级至 3.8.0 以上可参考&#xff1a;CentOS安装CMakegcc 需要升级至9.0 以上可参考&#xff1a;CentOS 7升级gcc版本 下载源码 wget https://github.com/open-source-parsers/jsoncpp/archive/refs/tags/1.9.5.…...

备赛蓝桥杯之第十六届模拟赛第1期职业院校组第五题:回忆画廊

提示&#xff1a;本篇文章仅仅是作者自己目前在备赛蓝桥杯中&#xff0c;自己学习与刷题的学习笔记&#xff0c;写的不好&#xff0c;欢迎大家批评与建议 由于个别题目代码量与题目量偏大&#xff0c;请大家自己去蓝桥杯官网【连接高校和企业 - 蓝桥云课】去寻找原题&#xff0…...

闭包、装饰器学习笔记(第二次学习)

以下是整理后的笔记格式&#xff1a; --- # 闭包与装饰器 ## 一、闭包的概念&#xff0c;作用&#xff0c;条件### 作用&#xff1a; 1. **保存外部函数的变量**&#xff1a;可以让一个变量常驻于内存。 python def func():a 10def inner():print(a)return areturn inne…...