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

RHCE第七章:SElinux

一、SElinux

SELinux 是一套安全策略系统

1.作用:

(1)SELinux 域限制:对服务程序的功能进行限制,以确保服务程序做不了出格的事

(2)SELinux 安全上下文:对文件资源的访问限制,确保文件资源只能被其所属的服务程序访问

2.配置文件

[root@Server ~]# vim /etc/selinux/config        #查看/编辑SELinux的配置文件
  3 # SELINUX= can take one of these three values:
  4 #     enforcing - SELinux security policy is enforced.      #SELinux安全策略强制执行,强制模式
  5 #     permissive - SELinux prints warnings instead of enforcing.        #宽松模式,日志模式
  6 #     disabled - No SELinux policy is loaded.        #禁用模式
 22 SELINUX=enforcing        #SELinux的启动模式类型 
 23 # SELINUXTYPE= can take one of these three values:
 24 #     targeted - Targeted processes are protected,        #默认策略,用于限制网络服务
 25 #     minimum - Modification of targeted policy. Only selected processes are     protected. 
 26 #     mls - Multi Level Security protection.        #多级安全网络策略,限制更严格
 27 SELINUXTYPE=targeted        #策略类型

[root@Server ~]# ll /etc/selinux/config /etc/sysconfig/selinux
-rw-r--r--. 1 root root 1263  3月 20 21:52 /etc/selinux/config
lrwxrwxrwx. 1 root root   17  3月 20 21:52 /etc/sysconfig/selinux -> ../selinux/config        #/etc/sysconfig/selinux 和 /etc/selinux/config 指向同一个配置文件,/etc/sysconfig/selinux 是 /etc/selinux/config 的软链接

3.安全上下文(Security Context)

所有进程、文件和目录都有自己的安全上下文

进程能否访问文件或目录,要与其安全上下文是否能匹配

[root@Server ~]# dnf install selinux-policy -y        #安装SELinux策略

4.永久修改SELinux的模式

[root@Server ~]# vim /etc/selinux/config
 22 SELINUX=permissive        #修改为宽松模式

[root@Server ~]# touch /.autorelabel        #让SELinux根据策略信息重建系统安全上下文

[root@Server ~]# reboot        #reboot——重启,poweroff——关机

5.查看安全上下文

[root@Server ~]# ls -Z anaconda-ks.cfg        #ls——查看文件,-Z——查看安全上下文
system_u:object_r:admin_home_t:s0 anaconda-ks.cfg

#用户:system_u系统用户身份;unconfined_u未联系的用户身份

#角色:object_r表示文件或目录;system_r表示进程

#admin_home_t表示该文件/目录/进程 所使用的策略规则(策略规则有很多,不用记)

#安全级别:s0(数字越小,安全级别越低)

[root@Server ~]# ps -ef |grep ssh        #ps——查看进程;查看ssh的进程
root        2241    1050  0 15:41 ?        00:00:00 sshd: root [priv]
root        2249    1050  0 15:41 ?        00:00:00 sshd: root [priv]
······
[root@Server ~]# ps aux |grep ssh        #查看ssh的进程
root        2241  0.0  0.3  19336 12428 ?        Ss   15:41   0:00 sshd: root [priv]
root        2249  0.0  0.3  19304 12476 ?        Ss   15:41   0:00 sshd: root [priv]
······
[root@Server ~]# ps auZ |grep ssh        #auZ——查看安全上下文;查看ssh进程的安全上下文
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 root 2360 0.0  0.0 221680 2360 pts/0 S+ 15:45   0:00 grep --color=auto ssh

[root@Server ~]# dnf install setools-console -y        #安装seinfo服务,用于查看进程信息

[root@Server ~]# seinfo -u        #查看SELinux的用户信息

Users: 8
   root
   unconfined_u
   user_u
······

[root@Server ~]# seinfo -r        #查看SELinux的角色信息

Roles: 15
   auditadm_r
   unconfined_r
   user_r
······
[root@Server ~]# seinfo -t |grep ssh        #查看ssh的策略类型
   NetworkManager_ssh_t
   sge_job_ssh_t
   ssh_agent_exec_t
······

二、修改安全上下文

[root@Server ~]# vim /etc/nginx/nginx.conf
         38     server {
         39         listen       80;
         40         listen       [::]:80;
         41         server_name  _;
         42         root         /usr/share/nginx/html;        #访问本机IP地址(192.168.153.100)时,默认打开/usr/share/nginx/html/index.html文件/网页
[root@Server ~]# systemctl stop firewalld.service        #关闭网络防火墙
[root@Server ~]# setenforce 1        #开启内核防火墙,即安全上下文
[root@Server ~]# systemctl restart nginx.service        #重启nginx服务

[root@Server ~]# vim /etc/nginx/nginx.conf        #再次编辑nginx的配置文件
 38     server {
 39         listen       80;
 40         listen       [::]:80;
 41         server_name  _;
 42         #root         /usr/share/nginx/html;        #注释掉web默认目录
 43         root        /myweb;        #创建web访问的目录位置
 44         index       web1.html;        #创建默认访问文件

[root@Server ~]# mkdir /myweb        #创建目录
[root@Server ~]# echo "web1!" > /myweb/web1.html        #创建web1.html文件,并写入'web1!'
[root@Server ~]# nginx -s reload        #重新加载nginx服务

因为我们打开的/myweb/web1.html 的安全上下文与nginx进程的安全上下文不匹配,所以打不开网页;然后一开始nginx默认的/usr/share/nginx/html/index.html 与nginx进程的安全上下文匹配,能打开网页,所以把/myweb/web1.html 的安全上下文修改成和/usr/share/nginx/html/index.html 的安全上下文一样就能打开了

[root@Server ~]# ls -Z /usr/share/nginx/html/index.html /myweb/web1.html        #同时查看两个文件的安全上下文
      unconfined_u:object_r:default_t:s0 /myweb/web1.html
system_u:object_r:httpd_sys_content_t:s0 /usr/share/nginx/html/index.html

(1)临时(chcon)修改安全按上下文

chcon 修改的是文件上已经部署好的策略(文件系统),并不是修改SELinux的策略配置(策略系统)。重启也并不会触发重启上下文,即不会触发策略系统给文件系统重新部署策略

[root@Server ~]# chcon -R --reference=/usr/share/nginx/html /myweb        #复制目标目录的安全上下文到指定目录上     
[root@Server ~]# ls -Z /usr/share/nginx/html/index.html /myweb/web1.html        #再次查看两个文件的安全上下文
system_u:object_r:httpd_sys_content_t:s0 /myweb/web1.html
system_u:object_r:httpd_sys_content_t:s0 /usr/share/nginx/html/index.html

[root@Server ~]# vim /etc/nginx/nginx.conf        #编辑nginx配置文件
         38     server {
         39         listen       80;
         40         listen       [::]:80;
         41         server_name  _;
         42         #root         /usr/share/nginx/html;
         43         root        /myweb2;        #指定web访问目录/myweb2

[root@Server ~]# mkdir /myweb2        #创建/myweb2
[root@Server ~]# echo "web2222" > /myweb2/index.html     #写入'web2222'到默认文件index.html
[root@Server ~]# nginx -s reload        #重新加载

[root@Server ~]# ls -dZ /usr/share/nginx/html /myweb2        #-d查看目录,查看目录的安全上下文
      unconfined_u:object_r:default_t:s0 /myweb2
system_u:object_r:httpd_sys_content_t:s0 /usr/share/nginx/html
[root@Server ~]# chcon -R -t httpd_sys_content_t /myweb2        #-t指定策略类型,将策略类型复制到指定目录下
[root@Server ~]# ls -dZ /usr/share/nginx/html /myweb2
unconfined_u:object_r:httpd_sys_content_t:s0 /myweb2
    system_u:object_r:httpd_sys_content_t:s0 /usr/share/nginx/html

因为unconfined_u用户的权限比system_u用户的权限大,所以即使安全上下文不完全相同也能访问到网页

[root@Server ~]# chcon -R -u system_u /myweb2        #-u——将用户类型复制到指定目录下;-r——角色类型复制到指定目录下
[root@Server ~]# ls -dZ /usr/share/nginx/html/ /myweb2        #查看目录安全上下文
system_u:object_r:httpd_sys_content_t:s0 /myweb2
system_u:object_r:httpd_sys_content_t:s0 /usr/share/nginx/html/

(2)永久修改策略semanage

semanage修改策略本身

[root@Server ~]# ls -Z /myweb2 -D        #查看目录下文件的原安全上下文
unconfined_u:object_r:default_t:s0 index.html

[root@Server ~]# restorecon -RvvF /myweb2        #恢复默认的SELinux策略,'F'表示显示详情
Relabeled /myweb2 from system_u:object_r:httpd_sys_content_t:s0 to system_u:object_r:default_t:s0
Relabeled /myweb2/index.html from system_u:object_r:httpd_sys_content_t:s0 to system_u:object_r:default_t:s0

[root@Server ~]# semanage fcontext -l | grep ssh        #-l——查看,fcontext——上下文;查看ssh服务下的文件或目录使用哪些安全上下文
/etc/rc\.d/init\.d/sshd                            regular file       system_u:object_r:sshd_initrc_exec_t:s0
/etc/ssh/primes                                    regular file       system_u:object_r:sshd_key_t:s0
······

[root@Server ~]# ls -Z /usr/share/nginx/html/ /myweb2        #查看目录下文件的安全上下文
/myweb2:
system_u:object_r:default_t:s0 index.html

/usr/share/nginx/html/:
system_u:object_r:httpd_sys_content_t:s0 404.html
system_u:object_r:httpd_sys_content_t:s0 50x.html
system_u:object_r:httpd_sys_content_t:s0 icons
system_u:object_r:httpd_sys_content_t:s0 index.html
······
[root@Server ~]# semanage fcontext -a -t httpd_sys_content_t "/myweb2(/.*)?"        #-a添加,-t策略类型,"/myweb2(/.*)?"——正则表达式,将策略复制到目录以及目录下的文件
[root@Server ~]# ls -Z /myweb2        #查看目录的安全上下文,因为semanage修改的是策略本身(策略系统),所以需要重新下发SELinux策略
system_u:object_r:default_t:s0 index.html
[root@Server ~]# restorecon -RvvF /myweb2        #重新给/myweb 下发策略,('F')并显示详情
Relabeled /myweb2 from system_u:object_r:default_t:s0 to system_u:object_r:httpd_sys_content_t:s0
Relabeled /myweb2/index.html from system_u:object_r:default_t:s0 to system_u:object_r:httpd_sys_content_t:s0

三、修改端口

[root@Server ~]# semanage port -l |grep http        #查看http下有哪些端口
http_cache_port_t              tcp      8080, 8118, 8123, 10001-10010
http_cache_port_t              udp      3130
http_port_t                    tcp      80, 81, 443, 488, 8008, 8009, 8443, 9000
·····

[root@Server ~]# semanage port -a -t http_port_t -p tcp 7777        #-a添加,-d删除,-t指定策略,-p指定协议及端口;添加端口号
[root@Server ~]# semanage port -l |grep http
http_cache_port_t              tcp      8080, 8118, 8123, 10001-10010
http_cache_port_t              udp      3130
http_port_t                    tcp      7777, 80, 81, 443, 488, 8008, 8009, 8443, 9000
······

[root@Server ~]# vim /etc/nginx/nginx.conf        #编辑nginx配置文件
 38     server {
 39         listen       7777;        #修改端口号
 40         listen       [::]:80;
 41         server_name  _;
 42         #root         /usr/share/nginx/html;
 43         root        /myweb2;

[root@Server ~]# nginx -s reload

四、布尔值的查询与修改

[root@Server ~]# getsebool -a |grep  http        #查看http的策略是否开启
httpd_anon_write --> off
httpd_builtin_scripting --> on
httpd_can_check_spam --> off
httpd_can_connect_ftp --> off
httpd_can_connect_ldap --> off
······

[root@Server ~]# setsebool -P httpd_anon_write=1        #开启httpd_anon_writec策略
[root@Server ~]# getsebool -a |grep  http
httpd_anon_write --> on        #策略已开启
httpd_builtin_scripting --> on
httpd_can_check_spam --> off
httpd_can_connect_ftp --> off
httpd_can_connect_ldap --> off

······

相关文章:

RHCE第七章:SElinux

一、SElinux SELinux 是一套安全策略系统 1.作用: (1)SELinux 域限制:对服务程序的功能进行限制,以确保服务程序做不了出格的事 (2)SELinux 安全上下文:对文件资源的访问限制&am…...

一文简单记录打通K8s+Kibana流程如何启动(Windows下的Docker版本)

为ES和Kibana组建Docker网络 docker network create elastic下载8.18.0版本镜像Es并启动 docker run --name es-node01 --net elastic -p 9200:9200 -p 9300:9300 -t docker.elastic.co/elasticsearch/elasticsearch:8.18.0启动Kibana(简单一些直接咯和ES对应版本…...

【系统参数合法性校验】spring-boot-starter-validation

JSR303校验 统一校验的需求 前端请求后端接口传输参数,是在controller中校验还是在Service中校验? 答案是都需要校验,只是分工不同。 Contoller中校验请求参数的合法性,包括:必填项校验,数据格式校验&…...

蓝桥杯 10. 凯撒加密

凯撒加密 原题目链接 题目描述 给定一个单词,请使用凯撒密码将这个单词加密。 凯撒密码是一种替换加密的技术,单词中的所有字母都在字母表上向后偏移 3 位后被替换成密文。 即: a → db → e⋯w → zx → ay → bz → c 输入描述 输入…...

Discord多账号注册登录:如何同时管理多个账户?

Discord是许多人、特别是游戏玩家和社区管理者的重要沟通工具。随着用户需求的增长,越来越多的人开始在Discord上注册多个账号进行管理。例如,个人和工作账号的区分,多个游戏社区的参与,或者通过不同的身份进行更灵活的社交互动。…...

Harbor默认Redis与Notary组件弱口令漏洞分析与修复指南

一、 背景 某资源池控制面和运行面生产环境部署的harbor被漏扫出弱口令需要进行整改,主要涉及 default、server、signer用户存在弱口令。 二、 分析与处理 首先需求确认这三个用户是harbor那个组件使用,最好确认的是default这个用户,它是r…...

【Prometheus-Postgres Exporter安装配置指南,开机自启】

目录 内容概述 一、安装步骤1. 安装 PostgreSQL Exporter2. 创建 PostgreSQL 监控用户3. 配置 Systemd 服务4. 启动并验证服务5. 集成到 Prometheus 内容概述 本教程详细指导如何安装 PostgreSQL Exporter(版本 0.15.0),包括: 软…...

leetcode:3005. 最大频率元素计数(python3解法)

难度:简单 给你一个由 正整数 组成的数组 nums 。 返回数组 nums 中所有具有 最大 频率的元素的 总频率 。 元素的 频率 是指该元素在数组中出现的次数。 示例 1: 输入:nums [1,2,2,3,1,4] 输出:4 解释:元素 1 和 2 的…...

论文导读 - 基于特征融合的电子鼻多任务深度学习模型研究

基于特征融合的电子鼻多任务深度学习模型研究 原论文地址:https://www.sciencedirect.com/science/article/pii/S0925400524009365 引用此论文(GB/T 7714-2015): NI W, WANG T, WU Y, et al. Multi-task deep learning model f…...

VSCode突然连接不上服务器(已解决)

可恶,不知道昨天还好好的VSCode还可以连接到服务器,今天打开就连接不上了,搜了一圈很多都说是服务端的vscode-server这个文件里面保存的commitID与当前我们VSCode上的ID不一致导致连接失败(据说是因为VSCode自动更新导致的&#x…...

解决Ollama run qwen3:32b: Error: unable to load model问题

问题描述 在尝试使用Ollama部署Qwen3模型时,许多用户遇到了以下错误: ollama run qwen3:32b Error: unable to load model: /Users/xxxx/.ollama/models/blobs/sha256-3291abe70f16ee9682de7bfae08db5373ea9d6497e614aaad63340ad421d6312这个错误通常会…...

C++ 单例对象自动释放(保姆级讲解)

目录 单例对象自动释放(重点*) 方式一:利用另一个对象的生命周期管理资源 方式二:嵌套类 静态对象(重点) 方式三:atexit destroy 方式四:atexit pthread_once 单例对象自动释…...

李录谈卖出股票的时机:价值投资的动态决策框架

作为最贴近芒格与巴菲特投资理念的中国投资人,李录对卖出时机的思考融合了价值投资的核心逻辑与实战经验。通过其在哥伦比亚大学的多场演讲及访谈(主要集中于2006年、2013年及后续公开内容),我们可以将其观点归纳为以下五个维度&a…...

Docker的简单使用(不全)

Docker Hello World Docker 允许在容器内运行应用程序,使用docker run命令来在容器内运行一个应用程序 输出Hello World runoobrunoob:~$ docker run ubuntu:15.10 /bin/echo "Hello world"Hello world docker:Docker的二进制执行文件 run…...

A2A与MCP:理解它们的区别以及何时使用

随着AI不断深入到商业工作流中,多个AI代理(Agent)之间的无缝协作成为了一个主要挑战。 为了解决这个问题,Google Cloud推出了一种名为Agent2Agent(A2A)的开放协议,旨在使不同平台和系统中的AI代…...

AI Agent开源技术栈

构建和编排Agent的框架 如果您是从头开始构建,请从这里开始。这些工具可以帮助您构建Agent的逻辑——做什么、何时做以及如何处理工具。您可以将其视为将原始语言模型转化为更自主的模型的核心大脑。 2. 计算机和浏览器的使用 一旦你的Agent能够规划&#xff0c…...

判断用户选择的Excel单元格区域是否跨页?

VBA应用程序开发过程中,经常需要处理用户选中的单元格区域,有的应用场景中,需要限制用户选中区域位于同一页中(以打印预览显示的分页划分),但是VBA对象模型中并没有提供相应的接口,用于快速查询…...

驱动开发硬核特训 · Day 24(上篇):走进Linux内核时钟子系统 —— 硬件基础全解析

一、前言 在 SoC(System on Chip)设计中,“时钟(Clock)”不仅是信号同步的基石,也是各个模块协调运作的前提。没有合理的时钟体系,CPU无法运行,外设无法通信,存储器无法…...

【GPU 微架构技术】Pending Request Table(PRT)技术详解

PRT(Pending Request Table)是 GPU 中用于管理 未完成内存请求(outstanding memory requests)的一种硬件结构,旨在高效处理大规模并行线程的内存访问需求。与传统的 MSHR(Miss Status Handling Registers&a…...

角度(degrees)和弧度(radians)转换关系

目录 1.从角度转换到弧度: 2.从弧度转换到角度: 示例 将90度转换为弧度: 将π/3​弧度转换为角度: 角度(degrees)和弧度(radians)之间的转换关系可以通过以下公式来实现&#xff…...

【大语言模型DeepSeek+ChatGPT+GIS+Python】AI大语言模型驱动的地质灾害全流程智能防治:风险评估、易发性分析与灾后重建多技术融合应用

地质灾害是指全球地壳自然地质演化过程中,由于地球内动力、外动力或者人为地质动力作用下导致的自然地质和人类的自然灾害突发事件。在降水、地震等自然诱因的作用下,地质灾害在全球范围内频繁发生。我国不仅常见滑坡灾害,还包括崩塌、泥石流…...

第十六届蓝桥杯 2025 C/C++组 25之和

目录 题目: 题目描述: 题目链接: 思路: 思路详解: 代码: 代码详解: 题目: 题目描述: 题目链接: P12339 [蓝桥杯 2025 省 B/Python B 第二场] 25 之和…...

万界星空科技QMS质量管理系统几大核心功能详解

QMS质量管理系统(Quality Management System)是一款专为现代企业设计的、全面且高效的质量管理工具,融合了现代质量管理理念与前沿的信息技术,旨在帮助企业构建完善的质量管理体系,确保产品和服务质量。以下为你详细介…...

SSR同构渲染深度解析

同构渲染(Isomorphic Rendering)是SSR(服务器端渲染)的核心概念,指同一套代码既能在服务器端运行,也能在客户端运行。下面我将从原理到实践全面介绍SSR同构渲染。 一、同构渲染核心原理 1. 基本工作流程 …...

【论文阅读/复现】RT-DETR的网络结构/训练/推理/验证/导出模型

利用ultralytics仓库,复现RT-DETR官方实验环境。 使用基于ResNet50和ResNet101的RT-DETR。 目录 一 RT-DETR的网络结构 1 编码器结构 2 RT-DETR 3 CCFF中的融合块 4 实验结果 二 RT-DETR的安装/训练/推理/验证/导出模型 1 安装 2 配置文件 3 训练 4 推理 …...

KUKA机器人关机时冷启动介绍

KUKA机器人在正常关机时,可以从示教器上操作。在示教器上操作时需要选择“冷启动”方式关闭计算机。等示教器屏幕关闭之后,再把主开关旋钮关闭。 一、先登录【管理员】权限,再在【主菜单】下选择【关机】。 二、在关机的默认中,…...

MCP Java SDK 介绍与使用指南

MCP与MCP Java SDK 概念 MCP 是什么? 模型上下文协议(Model Context Protocol, MCP)是用于标准化AI模型与工具间通信的规范。通过定义通用接口,确保不同AI组件(如模型推理服务、工具插件)能无缝协作。MCP …...

【Java核心】一文理解Java面向对象(超级详细!)

一:概述 1.1Java类及类的成员 属性、方法、构造器、代码块、内部类 1.2 面向对象的特征 封装、继承、多态(抽象) 1.3 其它关键字的使用 This、super、package、import、static、final、interface、abstract 1.4 面向对象和面向过程 &…...

2025年DDoS攻击防御全解析:应对超大流量的实战策略

一、2025年DDoS攻击的新趋势 超大规模攻击常态化:攻击流量突破300Gbps,部分案例甚至达到T级规模,传统单点防御已无法应对。 混合攻击模式盛行:攻击者结合应用层(HTTP Flood、CC攻击)与网络层(U…...

【动态导通电阻】 GaN PiN二极管电导调制对动态 RON 的影响

2020 年,浙江大学电气工程学院的Shaowen Han等人采用实验研究的方法,对垂直 GaN-on-GaN PiN 二极管中电导调制的瞬态行为及其对动态导通电阻(RON)的影响进行了深入探究。他们基于高质量的 GaN 基板开发的垂直 GaN-on-GaN 功率器件具有高电流容量和高击穿电压等优势,而与间…...

第十六届蓝桥杯 2025 C/C++B组第一轮省赛 全部题解(未完结)

目录 前言: 试题A:移动距离 试题C:可分解的正整数 试题D:产值调整 试题E:画展布置 前言: 我参加的是第一轮省赛,说实话第一次参加还是比较紧张的,真到考场上看啥都想打暴力&…...

MySQL 实战 45 讲 笔记 ----来源《极客时间》

01 | 基础架构:一条SQL查询语句是如何执行的? 1. MySQL 可以分为 Server层 和 存储引擎层 两部分。Server 层包括连接器、查询缓存、分析器、优化器、执行器等。存储引擎层支持 InnoDB、MyISAM等. (1) 连接器:管理连接,权限认证…...

海思SD3403边缘计算AI核心设备概述

1、海思SD3403边缘计算AI设备4TOPS算力(SD3403模组) 2、AI训练服务器 (≥60TOPS算力 INT8 算力越高AI训练速度越快) 3、普通监控IPC摄像机(低成本,批量化安装项目) 4、AI数据标定工作终端 (≥10TOPS算力 IN…...

算法设计:回溯法的基础原理与应用

目录 一、基本概念 二、适用问题 三、基本步骤 四、算法模式 递归回溯算法模式(求一个解) 非递归回溯算法模式(求一个解) 非递归回溯算法模式(求所有解) 五、经典应用 1数字组合问题 2数字排列问题…...

PyTorch 深度学习实战(23):多任务强化学习(Multi-Task RL)之扩展

之前的PyTorch 深度学习实战(23):多任务强化学习(Multi-Task RL)总结扩展运用代码如下: import torch import torch.nn as nn import torch.optim as optim import numpy as np from torch.distributions import Norm…...

音视频开发---视频编码基础

一、视频编码的必要性 1. 存储与传输成本高 未经编码压缩的原始视频的数据量极大,例如:一般电影的亮度信号采样频率为13.5MHz;色度信号的频带通常为亮度信号的一半或更少,为6.75MHz或3.375MHz。以4:2:2的采样频率为例,Y信号采用13.5MHz,色度信号U和V采用6.75MHz采样,…...

深入蜂窝物联网 第四章 Cat-1 与 5G RedCap:带宽、低时延与未来趋势

1. 前言与应用场景 随着物联网对带宽与时延的需求不断增长,LTE Cat-1 和 5G RedCap(Reduced Capability)应运而生: Cat-1:在传统 LTE 网络上提供最高 10 Mbps 下行、5 Mbps 上行,兼容性佳; 5G RedCap:在 5G NSA/SA 网络中提供 1–20 Mbps,时延可降至 10 ms 级,且模组…...

FPGA 39 ,FPGA 网络通信协议栈进阶,RGMII、ARP 与 UDP 协议与模块设计( RGMII、ARP、UDP原理与模块设计 )

目录 目录​​​​​​​​​​​​​​ 一、核心原理 1.1 RGMII 接口:高效数据传输的物理桥梁 1.2 ARP 协议:IP 与 MAC 地址的动态映射引擎 1.3 UDP 协议:轻量级数据传输的高效选择 1.4 FPGA 实现流程 二、时序约束 2.1 时序约束理论…...

《系统分析师-第三阶段—总结(七)》

背景 采用三遍读书法进行阅读,此阶段是第三遍。 过程 本篇总结第13章第14章的内容 第13章 第14章 总结 系统设计分为概要设计与详细设计,然后重点讲解了处理流程设计,输入输出原型设计,面向对象设计、人机交互设计&#xff1…...

Lightroom 2025手机版:专业编辑,轻松上手

在摄影和图像编辑的世界里,Adobe Lightroom一直是一个不可或缺的工具。无论是专业摄影师还是摄影爱好者,都依赖它来提升照片的质量和视觉效果。今天,我们要介绍的 Lightroom 2025手机版,是Adobe公司为移动设备量身定制的照片编辑器…...

Cursor:AI时代的智能编辑器

在开发者社区掀起热潮的Cursor,正以破竹之势重塑编程工具格局。这款基于VS Code的AI优先编辑器,不仅延续了经典IDE的稳定基因,更通过深度集成的智能能力,将开发效率推向全新维度。2023年Anysphere公司获得的6000万美元A轮融资&…...

x86架构-k8s设置openebs的hostpath作为默认存储类的部署记录

文章目录 前言一、openebs是什么?二、准备步骤1.下载yaml文件2.准备一个新的单点k8s用于测试2.将openebs-operator.yaml中的镜像修改成使用国内加速源的 三、执行yaml1.openebs-operator.yaml2.local-hostpath-pvc.yaml和local-hostpath-pod.yaml 四、关于默认存储路…...

废品回收小程序:全链路数字化解决方案,赋能绿色未来

用户端:一键触达,便捷回收新体验 废品百科与估价指南:分类标准与实时价格一目了然,用户轻松掌握废品价值。一键预约,轻松回收:指尖轻点即可完成预约,上门服务省时省力。精准定位,导…...

Kotlin和JavaScript的对比

Kotlin和JavaScript有一些相似之处,但也存在显著的差异,下面从多个方面为你详细分析: 相似点 1. 语法灵活性 变量声明:二者在变量声明上都较为灵活。在JavaScript里,借助var、let和const可以声明变量。其中&#xf…...

蓝桥杯 5. 拼数

拼数 原题目链接 题目描述 给定 n 个正整数 a1, a2, …, an,你可以将它们任意排序。 现要将这 n 个数字连接成一排,即令相邻数字收尾相接,组成一个数。 问,这个数最大可以是多少。 输入格式 第一行输入一个正整数 n&#x…...

(即插即用模块-特征处理部分) 四十四、(2024 TGRS) FEM 特征增强模块

文章目录 1、Feature Enhancement Module2、代码实现 paper:FFCA-YOLO for Small Object Detection in Remote Sensing Images Code:https://github.com/yemu1138178251/FFCA-YOLO 1、Feature Enhancement Module 遥感图像中,小目标的特征通…...

“情况说明“以后,Unity XR 开发者如何选择?

Unity自4月7日发布了一系列“情况说明”,点进来的朋友应该都是看过的,此处不再赘述。此后引发了开发者社区的广泛关注和讨论。作为细分领域的XR开发者,此时也会面临着工具和版本的抉择或迷茫。笔者同样面临这些问题,因为要确定未来…...

c#版yolo可视化标注和一键免环境训练系统0429更新介绍

yolo免环境一键训练工具c#版yolo标注工具 ## 更新日志 - 2025.4.1: 1、软件上线 - 2025.4.6 1、调整界面,修复用户在1920*1080不能全部显示问题 2、修复 刷新当前目录 无法加载新增图片问题 3、新增 下一张图片快捷键 Enter或者ctrl↓&…...

Leetcode 3533. Concatenated Divisibility

Leetcode 3533. Concatenated Divisibility 1. 解题思路2. 代码实现 题目链接:3533. Concatenated Divisibility 1. 解题思路 这一题的话事实上如果我们原始的数组有序排列一下,然后依次考察每个元素是否可以被选用,此时,我们得…...

CosyVoice、F5-TTS、GPT-SoVITS、Fish-Speech声音模型项目深度对比:选型指南

在数字人、虚拟助手、智能客服等应用快速发展的背景下,文本转语音(TTS)和语音克隆技术已成为AI领域的核心技术之一。本文将对目前主流的四个开源语音合成项目——CosyVoice、F5-TTS、GPT-SoVITS 和 Fish-Speech进行全方位对比分析&#xff0c…...