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

Windows及Linux系统加固

君衍.

  • 一、Windows加固
    • 1、配置简介
    • 2、账户配置
    • 3、本地配置
    • 4、安全设置
  • 二、Linux加固
    • 1、配置简介
    • 2、网络配置
    • 3、日志和审计配置
    • 4、访问认证和授权配置
    • 5、系统运维配置

一、Windows加固

1、配置简介

  • 通常在Windows安全配置中有两类对象

    • 一类是Windows Server,如win server 2012 、win server 2016、win server 2019
    • 一类是Windows Client,如win 7、 win 8 、win 10
  • Windows安全配置中,如果组织有条件,对Windows Client的安全配置我们可以借助微软的活动目录来实现自动化。

  • 而对Windows Server 通常为保障服务器稳定运行,我们倾向于的是手动配置。

  • Windows Server 2012 R2为例,进行加固讲解

Windows安全配置方法

  • 通常我们使用组策略对windows进行安全配置
  • 组策略中的安全配置与注册表也可以对应,但注册表可读性较差。组策略 有详细的说明,所以我们通常使用组策略
  • 在windows客户端系统中,HOME版本是没有组策略的的功能。
  • 打开组策略的方法是
右键开始-->运行-->gpedit.msc
WIN+R -->gpedit.msc

在这里插入图片描述
Windows 不论什么版本,进行安全配置均包含以下两个常用维度

  • 账户策略
  • 密码策略
  • 账户锁定策略
  • 本地策略
  • 审计策略
  • 用户权限策略
  • 安全选项

除了上述常用的配置,还会包含以下两个维度

  • 防火墙策略
  • 域配置文件
  • 私有网络配置文件
  • 高级审计策略
  • 账户登录
  • 账户管理
  • 详细跟踪
  • 登录/注销
  • 对象访问
  • 策略更改

2、账户配置

密码策略

  • 强制密码历史,建议设置为24个
  • 密码最长使用期限,建议设置60天
  • 密码最短使用期限,建议设置为1天或更多
  • 密码长度最小值,建议设置为14
  • 密码必需符合复杂性要求,建议设置为启用
  • 用可还原的加密码来存储密码,建议设置为禁用

在这里插入图片描述
账户锁定策略

  • 账户锁定阈值,建议设置为10次或更少
  • 账户锁定时间,建议设置为15分钟或更多
  • 重置账户锁定计数器,建议设置为15分钟或更多

在这里插入图片描述

3、本地配置

用户权限分配

  • 作为受信任的呼叫方访问凭据管理器,建议设置为空。默认为空
  • 从网络访问此计算机,建议设置为Administrator,Authenticated Users,ENTERPRISE DOMAIN CONTROLLERS(域控设置)
  • 以操作系统方式执行,建议设置为空,默认为空
  • 将工作站添加到域,建议设置为Administrators
  • 为进程调整内存配额,建议设置为Administrators, LOCAL SERVICE, NETWORK SERVICE
  • 允许本地登录,建议设置为Administrators
  • 允许通过远程桌面服务登录,建议设置为Administrators, Remote Desktop Users(客户端设置)
  • 备份文件和目录,建议设置为Administrators
  • 更改系统时间,建议设置为Administrators, LOCAL SERVICE
  • 更改时区,建议设置为Administrators, LOCAL SERVICE
  • 创建页面文件,建议设置为Administrators
  • 创建一个信息对象,建议设置为空
  • 创建全局对象,建议设置为Administrators, LOCAL SERVICE, NETWORK SERVICE,SERVICE
  • 创建永久共享对象,建议设置为空
  • 创建符号链接,建议设置为Administrators
  • 调试程序,建议设置为Administrators
  • 拒绝从网络访问这台计算机,建议设置为Guests, 本地的administrators中的其它用户或组。
  • 拒绝作为批处理作业登录,建议设置为Guest
  • 拒绝以服务身份登录,建议设置为Guest
  • 拒绝本地登录,建议设置为Guest
  • 拒绝通过远程桌面服务登录,建议设置为Guest和需要的本地用户
  • 信任计算机和用户账户可以执行委派,建议设置为空,域控设置为Administrators
  • 从远程系统强制关机,建议设置为Administrators
  • 生成安全审核,建议设置为LOCAL SERVICE, NETWORK SERVICE
  • 身份验证后模拟客户端,建议设置为Administrators, LOCAL SERVICE, NETWORK SERVICE, SERVICE
  • 提高计划优先级,建议设置为Administrators
  • 加载和卸载设备驱动程序,建议设置为Administrators
  • 锁定内存页,建议设置为空
  • 管理审核和安全日志,建议设置为Administrators,默认符合
  • 修改固件环境值,建议设置为Administrators,默认符合
  • 执行卷维护任务,建议设置为Administrators,默认符合
  • 配置文件单一进程,建议设置为Administrators,默认符合
  • 还原文件和目录,建议设置为Administrators
  • 关闭系统,建议设置为Administrators
  • 取得文件或其他对象所有权,建议设置为Administrators,默认设置

4、安全设置

1、账户

  • 账户:管理员账户状态,建议设置为禁用
  • 账户:阻止Microsoft账户,建议设置为用户不能添加Microsoft账户或使用 该账户登录
  • 账户:来宾账户状态,建议设置为已禁用,默认设置
  • 账户:使用空密码的本地账户只通话进行控制台登录,建议设置为启用,默认 设置
  • 账户:重命令系统管理员账户,建议重命名为非administrator
  • 账户:重命名来宾账户,建议重命名为非Guest

在这里插入图片描述
2、审核

  • 审核:如果无法记录安全审计则立即关闭系统,建议设置为禁用,默认设置
  • 审核:强制审核策略子类别设置,建议设置为启用

在这里插入图片描述
3、设备

  • 设备:允许对可移动媒体进行格式化并弹出,建议设置为Administrators
  • 设备:防止用户安装打印机驱动程序,建议设置为已启用,默认设置

在这里插入图片描述
4、交互式登录

  • 交互式登录:不显示最后的用户名,建议设置已启用
  • 交互式登录:无须按Ctrl+Alt+Del,建议设置已禁用,默认设置
  • 交互式登录:计算机不活动限制,建议设置为900,不要设成0。可以理解为 锁屏。
  • 交互式登录:试图登录的用户的消息文本,不要表现出任何信息,可以为空
  • 交互式登录:试图登录的用户的消息标题,不要表现出任何信息,可以为空
  • 交互式登录:之前登录到缓存的次数,建议设为4或更少
  • 交互式登录:提示用户在过期之前更改密码,建议5到14天
  • 交互式登录:需要域控制器身份验证以对工作站进行解锁,建议设置为启用

在这里插入图片描述
5、Microsoft网络客户端

  • Microsoft网络客户端:对通信进行数字签名(始终),建议设置为已启用
  • Microsoft网络客户端:对通信进行数字签名(如果服务器允许),建议设置为已启用,默认设置
  • Microsoft网络客户端:将未加密的密码发送到第三方SMB服务器,建议设置为已禁用,默认设置

6、Microsoft网络服务器

  • Microsoft网络服务器:暂停会话前所需空间的时间数量,建议设置15或更少
  • Microsoft网络服务器:对通信进行数字签名(始终),建议设置为已启用
  • Microsoft网络服务器:对通信进行数字签名(如果客户端允许),建议设置 为已启用
  • Microsoft网络服务器:登录时间过期后断开与客户端的连接,建议设置为已 启用,默认设置
  • Microsoft网络服务器:服务器SPN目标名称验证级别,建议设置为由客户端 提供时接受或更高

在这里插入图片描述
7、网络访问

  • 网络访问:不允许SAM和共享的匿名枚举,建议设置为已启用

  • 网络访问:不允许存储网络身份验证的密码和凭据,建议设置为已启用

  • 网络访问:可匿名访问的共享,建议根据实际情况设置

  • 网络访问:可远程访问的注册表路径,建议设置为

    System\CurrentControlSet\Control\ProductOptions System\CurrentControlSet\Control\Server Applications
    Software\Microsoft\Windows NT\CurrentVersion
    
  • 网络访问: 网络访问:可远程访问的注册表路径和子路径,建议设置为

System\CurrentControlSet\Control\Print\Printers  System\CurrentControlSet\Services\Eventlog Software\Microsoft\OLAPServer Software\Microsoft\Windows NT\CurrentVersion\Print  Software\Microsoft\Windows NT\CurrentVersion\Windows  System\CurrentControlSet\Control\ContentIndex

8、网络安全

  • 网络安全:允许本地系统将计算机标识用于NTLM,建议设置为已启用
  • 网络安全:允许LocalSystem NULL会话回退,建议设置为已禁用
  • 网络安全:允许对此计算机的PKU2U身份验证请求使用联机标识,建议设置为已禁用
  • 网络安全:配置Kerberos允许的加密类型,建议设置
    • AES128_HMAC_SHA1, AES256_HMAC_SHA1, 将来的加密类型
  • 网络安全:在超过登录时间后强制注销,建议设置为已启用
  • 网络安全:LNA管理器身份验证级别,建议设置为仅发送NTLMv2响应,拒绝LM和NTLM

在这里插入图片描述
9、用户账户控制

  • 用户账户控制:用于内置管理员账户的管理员批准模式,建议设置已启用
  • 用户账户控制:管理员批准模式中管理员的提升权限提示的行为,建议设置为 在安全桌面上提示凭据
  • 用户账户控制:标准用户的提升提示行为,建议设置为,自动拒绝提升请求
  • 用户账户控制:允许UIAccess应用程序在不使用安全桌面的情况下提升权限, 建议设置为已启用

在这里插入图片描述
10、高级防火墙配置

==11111==
在这里插入图片描述
11、高级审核策略配置–账户登录

  • 审核凭据验证,建议设置成功和失败

==11111==
配置为:
==11111==
12、高级审核策略配置–账户管理

  • 审核应用程序组管理,建议审核成功和失败
  • 审核安全组管理,建议审核成功
  • 审核用户账户管理,建议审核成功和失败

==11111==
13、高级审核策略配置–详细跟踪

  • 审核进程创建,建议审核成功

在这里插入图片描述
14、高级审核策略配置–登录/注销

  • 审核账户锁定,建议设置失败
  • 审核注销,建议设置成功
  • 审核登录,建议成功和失败
  • 审核其他登录/注销失败,建议成功和失败
  • 审核特殊登录,建议成功

==11111==
15、高级审核策略配置–对象访问

  • 审核详细的文件共享,建议失败
  • 审核文件共享,建议成功和失败
  • 审核其他对象访问事件,建议成功和失败
  • 审核可移动存储,建议成功和失败

在这里插入图片描述
16、高级审核策略配置–策略更改
在这里插入图片描述
17、高级审核策略配置–特权使用
==11111==
18、高级审核策略配置–系统
在这里插入图片描述

二、Linux加固

1、配置简介

  • Linux种类较多,常见的有Redhat、Ubuntu、Centos、SUSE等
  • 根据不同版本,其安全配置都不太相同,主要体现在以下三点
  • 配置文件所存放的路径
  • 操作系统的命令
  • 操作系统自身的安全特性或工具

以Centos 7 为例,进行安全配置讲解,其它版本Linux可能 存在安全配置方式不同,但整体配置的维度和原则是一致的。
Centos 安全配置维度

  • 安装配置(默认配置即可)
  • 服务配置(默认配置即可)
  • 网络配置
  • 日志和审计
  • 访问、授权和认证
  • 系统运维

Centos 安全配置原则

  • 最小安全(最小安装、最小权限)
  • 不影响业务可用(安全与业务的矛盾)
  • 职责分离
  • 审计记录

因为Centos安全配置较多,本文仅列举部分典型代表,更多具体配置,可以参照 相关国内或国际标准,如等保、CIS等。

2、网络配置

  • 禁用不适用的网络协议
  • 禁用IPV6,执行以下命令
sysctl	-w	net.ipv6.conf.all.disable_ipv6=1
sysctl	-w	net.ipv6.conf.default.disable_ipv6=1
sysctl	-w	net.ipv6.route.flush=1

在这里插入图片描述

//查看配置是否生效
sysctl net.ipv6.conf.all.disable_ipv6
  • 禁用不适用的无线设备,因为Linux作为服务器工作时,无需使用无线

  • 查看无线设备

iw list
  • 查看当前连接
ip link show up

在这里插入图片描述

  • 关闭网络连接
ip link set lo down

这里将环回口lo进行关闭
在这里插入图片描述

  • 当Linux作为独立主机使用时,配置网络
  • 关闭IP转发,默认即关闭
  • 查看IP转发配置
sysctl net.ipv4.ip_forward

==11111==

  • 关闭IP转发
sysctl -w net.ipv4.ip_forward=0
  • 关闭数据包重定向
  • 查看重定向设置
sysctl net.ipv4.conf.all.send_redirects
  • 关闭重定向设置
sysctl -w net.ipv4.conf.all.send_redirects=0

在这里插入图片描述

  • 开启TCP SYN Cookies功能
  • TCP SYN功能某种程度上可以防止TCP的SYN DDOS攻击。
  • 查看TCP SYN Cookies功能
sysctl net.ipv4.tcp_syncookies
  • 开启TCP SYN Cookies功能
sysctl -w net.ipv4.tcp_syncookies=1

在这里插入图片描述
防火墙配置

  • 在Centos 较新的版本中,引入了nftables内核取代传统netfilter内核
  • 通常nftables和netfilter只用安装一种即可。
  • 基于netfilter,又有两种前端操作工具,即firewalld和iptables

netfilter+firewalld进行操作讲解

  • 防火墙配置
  • 确定安装了firewalld以及iptables管理工具
rpm -q firewalld iptables
yum install firewalld iptables

在这里插入图片描述

  • 关闭iptables的服务管理(因为同时开启iptables与firewalld会冲突)
  • 查看iptables服务
rpm -q iptables-services

在这里插入图片描述

  • 如果已经安装,可以使用以下命令
systemctl stop iptables
yum remove iptables-services
  • 确保没有安装nftables
  • 查看安装nftables的状态
rpm -q nftables

==11111==

  • 如果安装,可以删除
yum remove nftables
  • 确保防火墙服务自动启动,并正在运行
  • 查看firewalld状态
systemctl status firewalld
firewall-cmd --state

在这里插入图片描述

  • 开启firewalld
systemctl start firewalld
systemctl enable firewalld

在这里插入图片描述

  • 开启防火墙,可能会导致网络中断,所以一定要分析清楚,当前网络连接 与网络配置,再来开启防火墙

  • 确定防火墙区域配置

  • 默认firewalld会创建一个名为public的区域

  • 区域代表防火墙中的信任等级,每一个接口都应该属于区域

  • 查看当前区域,默认是public

firewall-cmd --get-default-zone

==11111==

  • 防火墙默认区域配置
  • 设置默认区域为public
firewall-cmd --set-default-zone=public

在这里插入图片描述

  • 查看当前活动的区域和接口
firewall-cmd --get-active-zones

在这里插入图片描述
设置接口到区域

firewall-cmd --zone=public --change-interface=ens33

在这里插入图片描述

  • 查看当前允许的端口和服务
firewall-cmd --list-all --zone=public

在这里插入图片描述

  • 关闭不需要的端口与服务
  • 关闭端口
firewall-cmd --remove-port=<port-number>/<port-type>

如:firewall-cmd --remove-port=25/tcp

  • 关闭服务
firewall-cmd --remove-service=<service>

如:firewall-cmd --remove-service=smtp

  • 系统审核

  • 查看系统是否安装审核服务

rpm -q audit audit-libs

在这里插入图片描述

  • 如果没有安装,而进行安装
yum install audit audit-libs
  • 查看审核服务是否开启
systemctl status auditd

在这里插入图片描述

systemctl is-enabled auditd

在这里插入图片描述

3、日志和审计配置

  • 配置审计数据大小
  • 查看audit日志最大空间,默认单位为M
  • 如图,显示为8M
cat /etc/audit/auditd.conf | grep max

在这里插入图片描述

  • 审计用户和用户组的操作
  • 查看当前用户和用户组相关的操作记录
grep identity /etc/audit/rules.d/*.rules

在这里插入图片描述

  • 当前没有任何相关配置
  • 配置记录如下:
vi /etc/sudit/rules.d/identity.rules

在这里插入图片描述

  • 配置rsyslog日志
  • rsyslog是取代syslog的新版本。rsyslog有一些优秀的特性,比如使用tcp连接,可以将日志存储到数据库,可以加密传输日志等。
  • 确保系统安装了rsyslog
rpm -q rsyslog

==11111==

  • 查看rsyslog服务状态
systemctl is-enabled rsyslog

==11111==

  • 确保日志正常输入
  • 查看当前日志目录及日志权限,日志权限应该为600(仅root可读写)
ls -l /var/log

==11111==

  • 查看日志归档处理
  • Linux系统使用logrotate按定期或指定大小进行归档处理
  • 确保logrotate正常处理syslog日志
    • 查看是否存在文件
    • ls /etc/logrotate.d/syslog

在这里插入图片描述

4、访问认证和授权配置

  • 查看计划任务的访问授权
stat /etc/crontab

==11111==
如图展示了,仅root可以访问计划任务,且相关访问时间。
同理还应检查文件daily hourly monthly weekly
==11111==

  • 查看SSH配置文件权限
  • 因为SSH可以使用密钥直接登录,如果SSH配置文件权限限制不严格,则造成SSH提权
  • 检查/etc/ssh/sshd_config的权限

在这里插入图片描述

  • 配置允许通过SSH访问的用户

  • 使用以上命令查看当前允许SSH访问的用户

    • sshd -T | grep -E '^\s*(allow|deny)(users|groups)\s+\S+'
    • 如果输出为空,说明没有配置
    • 编辑文件/etc/ssh/sshd_config,配置仅允许fox用户访问
    • 在文件中加入以下行:allowusers fox
    • 保存退出,重启SSH生效
  • 配置SSH验证失败次数

  • 查看SSH验证失败次数

    • sshd -T | grep maxauthtries

      ==11111==

    • 默认为6次,建议改为4次或更低

    • 编辑SSH配置我呢见修改即可

    • vi /etc/ssh/sshd_config
      ==11111==

  • 禁止空密码登录SSH

    • sshd -T | grep permitemptypasswords

      ==11111==

    • 查看SSH支持的加密方式,确保不要出现如des md5这类已经不再安全的算法

    • sshd -T | grep ciphers
      ==11111==

  • PAM模块配置

  • PAM(Pluggable Authentication Modules)是Linux中的认证管理模块,所有认证相关可由PAM处理。

  • 密码要求

    • /etc/security/pwquality.conf管理
    • minlen = 14,最小密码长度
    • mincalss =4 ,密码复杂度,分别是是大写字母、小写字母、数字、符号
  • 用户账户和环境

  • 查看密码过期时间,建立设为60,加图为99999,显然不合适
    在这里插入图片描述

  • 查看用户的过期时间

    grep -E '^[^:]+:[^!*]' /etc/shadow | cut -d: -f1,5

在这里插入图片描述

  • 修改用户过期时间

  • 方法一,编辑默认文件中的PASS_MAX_DAYS值

    vi /etc/login.defs

  • 方法二

    chage --maxdays 365 <user>

    比如:chage --maxdays 365 fox

  • 查看密码最小天数(原理同windows密码最小天数),建议设为1

在这里插入图片描述

  • 提示密码过期时间,建议设置为7或更多

在这里插入图片描述

  • 自动禁用账号,建议设置为30天或更少
  • 当用户指定时间没有使用时,自动禁用用户
  • 查看
    在这里插入图片描述
  • 配置方法
useradd -D -f 30

5、系统运维配置

  • 检查文件/etc/passwd的权限,应为644,同理应检查/etc/group
  • 检查文件/etc/shadow的权限,应为0,同理应检查/etc/shadow

==11111==

相关文章:

Windows及Linux系统加固

君衍. 一、Windows加固1、配置简介2、账户配置3、本地配置4、安全设置 二、Linux加固1、配置简介2、网络配置3、日志和审计配置4、访问认证和授权配置5、系统运维配置 一、Windows加固 1、配置简介 通常在Windows安全配置中有两类对象 一类是Windows Server&#xff0c;如win …...

Postman安装使用教程(详解)

目录 一、Postman是什么 二、安装系统要求 三、下载Postman 四、注册和登录Postman 五、创建工作空间 六、创建请求 一、Postman是什么 在安装之前&#xff0c;让我们先来简单了解一下Postman。Postman是一个流行的API开发工具&#xff0c;它提供了友好的用户界面用于发送…...

【嵌入式开发之标准I/O】文件I/O的基本概念,打开、关闭、定位函数及实例

文件I/O和标准I/O 什么是文件I/O?什么是标准I/O? 文件I/O&#xff1a;文件I/O又称系统IO&#xff0c;系统调用&#xff0c;称之为不带缓存的IO&#xff08;unbuffered I/O)。是操作系统提供的API接口函数。不带缓存指的是每个read&#xff0c;write都调用内核中的一个系统调…...

C++文件操作-文本文件-读文件

第一种 #include<iostream>//1、包含头文件 fstream #include<fstream> using namespace std;void test01() {//2、创建流对象ifstream ifs;//3、打开文件 并且判断是否打开成功ifs.open("test.txt", ios::in);if (!ifs.is_open()){cout << "…...

二叉树精选面试题

&#x1f48e; 欢迎大家互三&#xff1a;2的n次方_ 1. 相同的树 100. 相同的树 同时遍历两棵树 判断结构相同&#xff1a;也就是在遍历的过程中&#xff0c;如果有一个节点为null&#xff0c;另一棵树的节点不为null&#xff0c;那么结构就不相同 判断值相同&#xff1a;只需…...

如何在 Android 中删除和恢复照片

对于智能手机用户来说&#xff0c;相机几乎已经成为一种条件反射&#xff1a;你看到值得注意的东西&#xff0c;就拍下来&#xff0c;然后永远保留这段记忆。但如果那张照片不值得永远保留怎么办&#xff1f;众所周知&#xff0c;纸质快照拿在手里很难舍弃&#xff0c;而 Andro…...

HarmonyOS Next原生应用开发-从TS到ArkTS的适配规则(六)

一、仅支持一个静态块 规则&#xff1a;arkts-no-multiple-static-blocks 级别&#xff1a;错误 ArkTS不允许类中有多个静态块&#xff0c;如果存在多个静态块语句&#xff0c;请合并到一个静态块中。 TypeScript class C {static s: stringstatic {C.s aa}static {C.s C.s …...

功能测试与APPSCAN自动化测试结合的提高效率测试策略

背景 手工探索性测试&#xff08;Manual Exploratory Testing&#xff0c;简称MET&#xff09;是一种软件测试方法&#xff0c;它依赖于测试人员的直觉、经验和即兴发挥来探索应用程序或系统。与传统的脚本化测试相比&#xff0c;手工探索性测试不遵循固定的测试脚本&#xff0…...

AVL树的理解和实现[C++]

文章目录 AVL树AVL树的规则或原理 AVL树的实现1.节点的定义2.功能和接口等的实现默认构造函数&#xff0c;析构函数拷贝构造函数插入搜索打印函数检查是否为平衡树&#xff0c;检查平衡因子旋转 AVL树 AVL树&#xff0c;全称Adelson-Velsky和Landis树&#xff0c;是一种自平衡…...

云计算遭遇的主要安全威胁

以下是详细说明云计算遭遇的所有主要安全威胁&#xff1a; 1. 数据泄露 描述&#xff1a;数据泄露是指未经授权的情况下访问和获取敏感数据。云计算环境中的数据泄露通常由于不安全的配置、软件漏洞或内部威胁造成。 案例&#xff1a; Capital One数据泄露&#xff1a;2019…...

[MySQL]02 存储引擎与索引,锁机制,SQL优化

Mysql存储引擎 可插拔式存储引擎 索引是在存储引擎底层上实现的 inno DB MySQL默认存储引擎: inno DB高可靠性和高性能的存储引擎 DML操作遵循ACID模型支持事务行级锁,提高并发访问性能支持外键 约束,保证数据完整性和可靠性 MySAM MySAM是MySQL的早期引擎 特点: 不支持事…...

ld,GNU 链接器介绍以及命令行参数详解

ld&#xff0c;GNU 链接器介绍以及命令行参数详解 当我们使用GCC编译源代码生成可执行程序&#xff0c;经过预处理、汇编、编译、链接四个阶段。 链接器&#xff08;Linker&#xff09;将多个目标文件和库文件链接起来&#xff0c;链接器还解决目标文件之间的符号引用&#xff…...

[web]-反序列化-base64

看到源码 <?php error_reporting(0); class A {public $contents "hello ctfer";function __toString(){if ((preg_match(/^[a-z]/i,$this->contents))) {system("echo $this->contents");return 111;}else{return "...";}} }functi…...

【医学影像】RK3588+FPGA:满足远程诊疗系统8K音视频编解码及高效传输需求

医学影像 提供基于Intel平台、NXP平台、Rockchip平台的核心板、Mini-ITX主板、PICO-ITX主板以及工业整机等计算机硬件。产品板载内存&#xff0c;集成超高清编码/解码视频引擎&#xff0c;具有出色的数据处理能力和图形处理能力&#xff0c;功能高集成&#xff0c;可应用于超声…...

昇思25天学习打卡营第16天|基于MindSpore通过GPT实现情感分类

文章目录 昇思MindSpore应用实践1、基于MindSpore通过GPT实现情感分类GPT 模型&#xff08;Generative Pre-Training&#xff09;简介imdb影评数据集情感分类 2、Tokenizer导入预训练好的GPT3、基于预训练的GPT微调实现情感分类 Reference 昇思MindSpore应用实践 本系列文章主…...

服务器借助笔记本热点WIFI上网

一、同一局域网环境 1、当前环境&#xff0c;已有交换机组网环境&#xff0c;服务器已配置IP信息。 设备ip服务器125.10.100.12交换机125.10.100.0/24笔记本125.10.100.39 2、拓扑图 #mermaid-svg-D4moqMym9i0eeRBm {font-family:"trebuchet ms",verdana,arial,sa…...

开发实战中Git的常用操作

Git基础操作 1.初始化仓库 git init解释&#xff1a;在当前目录中初始化一个新的Git仓库。 2.克隆远程仓库 git clone <repository-url>解释&#xff1a;从远程仓库克隆一个完整的Git仓库到本地。 3.检查当前状态 git status解释&#xff1a;查看当前工作目录的状态…...

python调用chrome浏览器自动化如何选择元素

功能描述&#xff1a;在对话框输入文字&#xff0c;并发送。 注意&#xff1a; # 定位到多行文本输入框并输入内容。在selenium 4版本中&#xff0c;元素定位需要填写父元素和子元素名。 textarea driver.find_element(By.CSS_SELECTOR,textarea.el-textarea__inner) from …...

深入理解JS中的排序

在JavaScript开发中,排序是一项基础而重要的操作。本文将探讨JavaScript中几种常见的排序算法,包括它们的原理、实现方式以及适用场景。 1、冒泡排序 1.1、原理 通过比较相邻两个数的大小,交换位置排序:如果后一个数比前一个数小,则交换两个数的位置,重复这个过程,直…...

Kafka之存储设计

文章目录 1. 分区和副本的存储结构1. 分区和副本的分布2. 存储目录结构3. 文件描述 2. 相关配置3. 数据文件类型4. 数据定位原理LogSegment 类UnifiedLog 类 5. 副本数据同步HW水位线LEO末端偏移量HW更新原理 6. 数据清除 1. 分区和副本的存储结构 在一个多 broker 的 Kafka 集…...

Python面试整理-Python中的函数定义和调用

在Python中,函数是一种封装代码的方式,使得代码模块化和复用性更强。定义和调用函数是Python编程中的基本技能。以下是关于如何在Python中定义和调用函数的详细介绍: 函数定义 函数在Python中使用def关键字进行定义。函数体开始前,通常有一个可选的文档字符串(docstring)…...

HTTP协议、Wireshark抓包工具、json解析、天气爬虫

HTTP超文本传输协议 HTTP&#xff08;Hyper Text Transfer Protocol&#xff09;&#xff1a; 全称超文本传输协议&#xff0c;是用于从万维网&#xff08;WWW:World Wide Web &#xff09;服务器传输超文本到本地浏览器的传送协议。 HTTP 协议的重要特点&#xff1a; 一发一收…...

electron项目中实现视频下载保存到本地

第一种方式&#xff1a;用户自定义选择下载地址位置 渲染进程 // 渲染进程// 引入 import { ipcRenderer } from "electron";// 列表行数据下载视频操作&#xff0c;diffVideoUrl 是视频请求地址 handleDownloadClick(row) {if (!row.diffVideoUrl) {this.$message…...

基于chrome插件的企业应用

一、chrome插件技术介绍 1、chrome插件组件介绍 名称 职责 访问权限 DOM访问情况 popup 弹窗页面。即打开形式是通过点击在浏览器右上方的icon&#xff0c;一个弹窗的形式。 注: 展示维度 browser_action:所有页面 page_action:指定页面 可访问绝大部分api 不可以 bac…...

unittest框架和pytest框架区别及示例

unittest框架和pytest框架区别及示例 类型unittest框架pytest框架unittest框架示例pytest框架示例安装python内置的一个单元测试框架,标准库&#xff0c;不需要安装第三方单元测试库&#xff0c;需要安装使用时直接引用 import unittest安装命令&#xff1a;pip3 install pyte…...

IDEA性能优化方法解决卡顿

文章目录 前言一、可以采取以下措施&#xff1a;二、VM Options的参数解释1. 内存设置2. 性能调优3. GC&#xff08;垃圾回收&#xff09;调优4. 调试和诊断5. 其它设置6.设置 VM Options 的步骤&#xff1a; 总结 前言 我们在使用 IntelliJ IDEA的时候有时候会觉得卡顿&#x…...

Mysql集合转多行

mysql 集合转多行 SELECT substring_index(substring_index(t1.group_ids, ,, n), ,, -1) AS group_id FROM (select 908,909 as group_ids ) t1, (SELECT rownum : rownum 1 AS n FROM ( SELECT rownum : 0 ) r, orders ) t2 WHERE n < ( LENGTH( t1.group_ids ) - LENGT…...

MFC:只允许产生一个应用程序实例的具体实现

在MFC&#xff08;Microsoft Foundation Class&#xff09;应用程序中&#xff0c;如果你想限制只允许产生一个应用程序实例&#xff0c;通常会使用互斥体&#xff08;Mutex&#xff09;来实现。这可以确保如果用户尝试启动第二个实例时&#xff0c;它会被阻止或将焦点返回到已…...

深入理解TCP/IP协议中的三次握手

&#x1f44d; 个人网站&#xff1a;【洛秋资源小站】 深入理解TCP/IP协议中的三次握手 在计算机网络中&#xff0c;TCP/IP协议是通信的基石。理解TCP/IP协议中的三次握手是掌握网络通信的关键步骤之一。本文将详细解释TCP/IP协议中的三次握手过程&#xff0c;探讨其工作原理&…...

【React】事件绑定、React组件、useState、基础样式

React 教程 目录 事件绑定 1.1. 基础实现 1.2. 使用事件参数 1.3. 传递自定义参数 1.4. 同时传递事件对象和自定义参数 React 组件 2.1. 组件是什么 2.2. 组件基础使用 useState&#xff1a;状态管理 3.1. 基础使用 3.2. 状态的修改规则 3.3. 修改对象状态 基础样式 4.1. 行…...

x264、x265、libaom 编码对比实验

介绍 x264 是一个开源的高性能 H.264/MPEG-4 AVC 编码器,它以其优秀的压缩比和广泛的适用性而闻名。x265 是一种用于将视频流编码成 H.265/MPEG-H HEVC 压缩格式的免费软件库和应用程序,以其下一代压缩能力和卓越的质量而闻名 。作为 x264 的继任者,x265 支持 HEVC 的 Main、…...

c++网络编程实战——开发基于ftp协议的文件传输模块(二) 配置ftp服务与手动执行ftp命令

配置FTP服务 一.前言 博主的环境是阿里云服务器&#xff0c;操作系统版本为 ubuntu20.04,一下所有操作都基于以上环境下进行的操作&#xff0c;同时为了简化操作我将开放同一个云服务器的不同端口&#xff0c;让它同时充当服务端和客户端&#xff0c;大家如果想测试效果更好且…...

Sphinx 安装相关指令解释

安装指令 pip3 install sphinx-autobuildpip3 install sphinx_rtd_themepip3 install sphinx_markdown_tablepip3 install sphinx_markdown_tables pip3 install sphinx-autobuild 功能&#xff1a;安装 sphinx-autobuild 包。作用&#xff1a;sphinx-autobuild 是一个工具&am…...

npm下载包-更改默认缓存目录

npm&#xff08;Node Package Manager&#xff09;的缓存目录是npm用于存储已下载包的本地位置&#xff0c;以便在后续安装相同包时能够快速复用&#xff0c;从而节省时间和带宽。npm缓存目录的具体位置会根据操作系统的不同而有所差异。 Windows系统 在Windows系统中&#x…...

PWM再理解(1)

前言 昨天过于劳累&#xff0c;十点睡觉&#xff0c;本来想梳理一下PWM&#xff0c;今天补上。 PWM内涵 PWM全称&#xff1a;Pulse Width Modulation&#xff0c;也就是脉宽调制的意思&#xff0c;字面意思理解就是对脉冲的宽度进行改变。准确就是通过数字输出对模拟电路进行…...

CSPVD 智慧工地安全帽安全背心检测开发包

CSPVD SDK适用于为各种智慧工地应用增加安全防护穿戴合规的检测能力&#xff0c;能够有效检测未戴安全帽和未穿 安全背心的人员&#xff0c;提供Web API和原生API。官方下载&#xff1a;CSPVD工地安全防护检测 1、目录组织 CSPVD开发包的目录组织说明如下&#xff1a; xlpr_…...

给常用Docker命令起别名,提高效率

在日常的开发和运维工作中&#xff0c;Docker是一款非常常用的工具。为了提高工作效率&#xff0c;我们可以为一些常用的Docker命令设置别名&#xff0c;这样可以更快速地执行这些命令。以下是如何给常用Docker命令起别名的详细步骤。 修改/root/.bashrc文件 首先&#xff0c…...

基于深度学习的草莓成熟度实时检测系统(UI界面+YOLOv8/v7/v6/v5模型+完整代码与数据集)

1. 引言 在农业领域&#xff0c;草莓的成熟度检测是保证果实品质的重要环节。传统的方法依赖于人工经验&#xff0c;不仅耗时费力&#xff0c;还容易出错。本文介绍如何使用YOLO&#xff08;You Only Look Once&#xff09;系列模型&#xff08;YOLOv8/v7/v6/v5&#xff09;构…...

【devops】ttyd 一个web版本的shell工具 | web版本shell工具 | web shell

一、什么是 TTYD ttyd是在web端一个简单的服务器命令行工具 类似我们在云厂商上直接ssh链接我们的服务器输入指令一样 二、安装ttyd 1、macOS Install with Homebrew: brew install ttydInstall with MacPorts: sudo port install ttyd 2、linux Binary version (recommend…...

Windows环境Apache配置解析PHP,以及配置虚拟主机详解

1. 安装 Apache 和 PHP 确保你已经安装了 Apache Web 服务器和 PHP。你可以从官方网站下载它们的 Windows 版本&#xff1a; Apache HTTP ServerPHP 2. 配置 Apache 配置 httpd.conf 文件 找到你的 Apache 安装目录下的 conf 文件夹中的 httpd.conf 文件&#xff0c;使用文…...

Redis高级篇—分布式缓存

目录 Redis持久化 RDB持久化 AOF持久化 RDB与AOF对比 Redis主从 全量同步 增量同步 Redis哨兵 RedisTemplate集成哨兵实现 Redis分片集群 散列插槽 集群伸缩 故障转移 自动故障转移 手动故障转移 RedisTemplate访问分片集群 Redis持久化 RDB持久化 RDB全称Re…...

c++端的类,作为组件在qml端使用

qml使用c端的类&#xff0c;作为组件在qml端使用 这个类必须继承QObject 这个类必须继承QObject #ifndef COLLISIONALARM_H #define COLLISIONALARM_H#include <QObject>class CollisionAlarm : public QObject {Q_OBJECT//这个宏就叫做反射机制&#xff0c;让qml端直接…...

Android 14 适配之 - 全屏 intent 通知

全屏 intent 通知 在 Android 11&#xff08;API 级别 30&#xff09;中&#xff0c;任何应用都可以在手机处于锁定状态时使用 Notification.Builder.setFullScreenIntent 发送全屏 intent。在 AndroidManifest 中声明 USE_FULL_SCREEN_INTENT 权限即可&#xff1b; 全屏 int…...

如何在 Vue 和 JavaScript 中截取视频任意帧图片

大家好&#xff01;今天我们来聊聊如何在 Vue 和 JavaScript 中截取视频的任意一帧图片。这个功能在很多场景下都非常有用&#xff0c;比如视频编辑、视频预览等。本文将带你一步步实现这个功能&#xff0c;并且会提供详细的代码示例。 准备工作 首先&#xff0c;我们需要一个…...

代码随想录学习 day54 图论 Bellman_ford 队列优化算法(又名SPFA) 学习

Bellman_ford 队列优化算法&#xff08;又名SPFA&#xff09; 卡码网&#xff1a;94. 城市间货物运输 I 题目描述 某国为促进城市间经济交流&#xff0c;决定对货物运输提供补贴。共有 n 个编号为 1 到 n 的城市&#xff0c;通过道路网络连接&#xff0c;网络中的道路仅允许从…...

递归遍历树结构,前端传入一整颗树,后端处理这个树,包括生成树的id和pid等信息,

递归逻辑 递归遍历树结构&#xff0c;将树结构转换list集合 并添加到 flowStepTree 集合 // 递归遍历树结构&#xff0c;将树结构转换list集合 并添加到 flowStepTree 集合private static void settingTree(ProductFlowStepVO node, Long parentId, String ancestors, List<…...

Nginx详解(超级详细)

目录 Nginx简介 1. 为什么使用Nginx 2. 安装Nginx Nginx的核心功能 1. Nginx反向代理功能 2. Nginx的负载均衡 3 Nginx动静分离 Nginx简介 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件&#xff08;IMAP/POP3&#xff09;代理服务器&#xff0c;在BSD-like 协…...

postman使用旧版本报错version mismatch detected

卸载 postman又重装了别的版本&#xff0c;打开后遇到了这个报错&#xff0c;解决办法如下&#xff1a; 删除缓存文件 C:\Users\Administrator\AppData\Roaming\Postman 下载PostMan 提取码&#xff1a;6k51...

探索数据的隐藏维度:使用Scikit-Learn进行特征交互性预测

探索数据的隐藏维度&#xff1a;使用Scikit-Learn进行特征交互性预测 在机器学习中&#xff0c;特征交互性是指不同特征之间可能存在的复杂关系&#xff0c;这些关系对预测结果有着重要影响。Scikit-Learn&#xff08;简称sklearn&#xff09;&#xff0c;作为Python中广受欢迎…...

首个WebAgent在线评测框架和流程数据管理平台来了,GPT-4、Qwen登顶闭源和开源榜首!

在当今科技迅速发展的时代&#xff0c;大型语言模型&#xff08;Large Language Model&#xff0c;LLM&#xff09;正以前所未有的速度改变着我们与数字世界的互动方式。基于LLM的智能代理&#xff08;LLM Agent&#xff09;&#xff0c;从简单的信息搜索到复杂的网页操作&…...