centos 安全配置基线
centos 安全配置基线
- 一、系统防火墙及SE系统
- 1. 系统自带防火墙iptables(Centos6)
- 基础命令
- 查看防火墙设置
- 使用命令查看防火墙设置
- 使用命令清除防火墙
- 设置防火墙策略
- 开放指定的端口
- 屏蔽IP
- 2. 系统自带防火墙firewalled(Centos7)
- 基础命令
- 3. 开启SELinux服务(Centos7)
- 查看命令
- 二、身份鉴别
- 1.设置密码复杂度策略
- 2.设置登录策略
- (1)修改`/etc/pam.d/system-auth`,修改复杂度策略。
- (2)记录用户登录失败次数并锁定
- (3)如果启用了SSH远程登录,可以通过命令看配置
- 三、访问控制
- 1.设置root用户ssh登录策略
- 禁止root用户远程ssh登录
- 2.禁止无用的系统用户登录
- 3.检查是否存在除root以外的UID=0的用户
- 4.允许或禁止用户或组通过ssh登录
- 5.检查新建文件系统权限默认值
- 6.查看重点文件权限是否合理
- 四、安全审计
- 1. 查看进程运行是否正常
- 2.系统默认日志记录范围是否覆盖
- 3. 查看系统登录日志
- 五、入侵防范
- 1. 查看自身入侵可疑日志
- 2. 最小安装原则
- 3. 检查运行服务
- 4. 检查服务运行情况
- 六、资源控制
- 1.TCP Wrappers程序管控
- 2.设置登录超时时间
- 3. 设置普通用户最大进程数、CPU、内存等
- 4.适当关闭外设-U盘、光盘等
CentOS 是一个广泛使用的操作系统,为了确保系统的安全性,需要遵循一系列的安全基线。以下是详细的 CentOS 安全基线配置建议:
一、系统防火墙及SE系统
1. 系统自带防火墙iptables(Centos6)
防火墙会从上至下的顺序来读取配置的策略规则,在找到匹配项后就立即结束匹配工作并去执行匹配项中定义的行为(即放行或阻止)。如果在读取完所有的策略规则之后没有匹配项,就去执行默认的策略。
一般而言,防火墙策略规则的设置有两种:一种是“通”(即放行),一种是“堵”(即阻止)。当防火墙的默认策略为拒绝时(堵),就要设置允许规则(通),否则谁都进不来;如果防火墙的默认策略为允许时,就要设置拒绝规则,否则谁都能进来,防火墙也就失去了防范的作用
基础命令
- 启动:
service iptables start
- 关闭:
service iptables stop
- 查看状态:
iptables -V
- 重启 :
service iptables restart
查看防火墙设置
主要分为5种规则类型数据包:
进行路由选择前处理数据包(PREROUTING);
处理流入的数据包(INPUT);
处理流出的数据包(OUTPUT);
处理转发的数据包(FORWARD);
进行路由选择后处理数据包(POSTROUTING)
使用命令查看防火墙设置
iptables -L
使用命令清除防火墙
iptables -F
设置防火墙策略
使用iptables
命令进行添加删减。
开放指定的端口
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #允许本地回环接口(即运行本机访问本机)
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #允许已建立的或相关连的通行
iptables -A OUTPUT -j ACCEPT #允许所有本机向外的访问
iptables -A INPUT -p tcp --dport 22 -j ACCEPT #允许访问22端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT #允许访问80端口
iptables -A INPUT -p tcp --dport 21 -j ACCEPT #允许ftp服务的21端口
iptables -A INPUT -p tcp --dport 20 -j ACCEPT #允许FTP服务的20端口
iptables -A INPUT -j reject #禁止其他未允许的规则访问
iptables -A FORWARD -j REJECT #禁止其他未允许的规则访问
屏蔽IP
iptables -I INPUT -s 123.45.6.7 -j DROP #屏蔽单个IP的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP #封整个段即从123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP #封IP段即从123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 123.45.6.0/24 -j DROP #封IP段即从123.45.6.1到123.45.6.254的命令
或者直接在路径/etc/sysconfig
下,对文件iptables
编辑。
配置完成记得重启防火墙命令
2. 系统自带防火墙firewalled(Centos7)
基础命令
- 启动:
systemctl start firewalld
- 重启:
systemctl restart firewalld
- 关闭:
systemctl stop firewalld
- 查看状态:
systemctl status firewalld
- 开机禁用 :
systemctl disable firewalld
- 开机启用 :
systemctl enable firewalld
前台可视化界面-防火墙设置也可以设置
3. 开启SELinux服务(Centos7)
SELinux(Security-Enhanced Linux)是美国国家安全局在Linux开源社区的帮助下开发的一个强制访问控制(MAC,Mandatory Access Control)的安全子系统。RHEL7系统使用SELinux技术的目的是为了让各个服务进程都受到约束,使其仅获取到本应获取的资源。
简单概述下基本的三种安全访问控制类型
- MAC(强制访问控制类型)
- DAC(自主访问控制类型) --通常就是ACL策略居多
- RABC(基于角色访问控制类型)
安全性MAC>RABC>DAC
SELinux 有三种工作模式,分别是
enforcing
:强制模式。违反 SELinux 规则的行为将被阻止并记录到日志中,并且自动拦截
permissive
:宽容模式。违反 SELinux 规则的行为只会记录到日志中,只告警不拦截。一般为调试用。
disabled
:关闭 SELinux。不拦截不告警。
配置文件路径:/etc/selinux
,通过查看config
,了解目前运行状态
查看命令
cat config
或者使用命令进行查询
[root@localhost selinux]# getenforce
Enforcing
[root@localhost selinux]#
临时修改命令(不用重启机器):[root@localhost selinux]# setenforce 0 --0设为宽容莫斯
[root@localhost selinux]# getenforce
Permissive
[root@localhost selinux]# setenforce 1 --1设为强制模式
[root@localhost selinux]# getenforce
Enforcing
[root@localhost selinux]#
二、身份鉴别
1.设置密码复杂度策略
通过设置/etc/login.defs
文件,进行密码策略设置
PASS_MAX_DAYS 90
#密码最大有效期
PASS_MIN_DAYS 2
#两次修改密码的最小间隔时间
PASS_MIN_LEN 12
#密码最小长度
PASS_WARN_AGE 7
#密码过期前多少天开始提示
上述对新增用户有效,如需修改现有策略,需使用
chage
命令
2.设置登录策略
使用cracklib
模块设置密码复杂度
通过命令
rpm -qa|grep cracklib --查看服务是否运行
(1)修改/etc/pam.d/system-auth
,修改复杂度策略。
centos 6 找到 password requisite pam_cracklib.so
这么一行替换成如下:
password requisite pam_cracklib.so retry=3 difok=3 minlen=12 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
centos 7 找到password requisite pam_pwquality.so
这么一行替换成如下:
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= minlen=12 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 enforce_for_root
参数含义:
#retry
允许重试的次数
#difok=N
:新密码必需与旧密码不同的位数 difok=3
新密码必须与旧密码有3位不同
#ucredit=N
当N>0时表示新密码中大写字母出现的最多次数;当N<0时表示新密码中大写字母出现最少次数
#lcredit=N
当N>0时表示新密码中小写字母出现的最多次数;当N<0时表示新密码中小写字母出现最少次数
#dcredit=N
: N >= 0:密码中最多有多少个数字;N < 0密码中最少有多少个数字. dcredit=-1
密码中最少有1个数字
#ocredit=N
:特殊字母的个数 ocredit=-1
密码中至少有1个特殊字符
#enforce_for_root
确保即使是root用户设置密码,也应强制执行复杂性策略。
(2)记录用户登录失败次数并锁定
在/etc/pam.d/system-auth
中“#%PAM-1.0”
下面一行加入
auth required pam tally2.so onerr=fail deny=10 no magic root unlock time=300
注意:一定要加在#%PAM-1.0
下面一行
参数说明:
deny[=n]
最大尝试次数,超过锁定unlock_time
解锁时间even_deny_root
同时限制root用户root_unlock_time[=n]
设定root锁定后,多少时间解锁quiet
不对已锁定用户发出提示消息
root策略建议谨慎设置,否则很容易导致无法解锁root
设置了unlock_time
会自动解锁。否则需要手动解锁。
运行命令pam_tally2 -u 用户 -r
(3)如果启用了SSH远程登录,可以通过命令看配置
more /etc/ssh/sshd_config
设置LoginGraceTime 15m
#账号锁定时间15分钟
MaxAuthTries 3
#账号锁定阈值
三、访问控制
1.设置root用户ssh登录策略
禁止root用户远程ssh登录
通过修改 /etc/ssh/sshd_config
,将参数修改#PermitRootLogin no
重启ssh服务
service sshd restart
2.禁止无用的系统用户登录
通过命令 usermod -s /sbin/nologin 用户
--禁止用户远程登录
通过命令 usermod -s /bin/bash 用户名
--恢复允许用户远程登录
查看/etc/passwd
表示用户是否可以登录。
3.检查是否存在除root以外的UID=0的用户
通过命令 awk -F: '($3==0){print $1}' /etc/passwd
--输出当前uid=0的用户
4.允许或禁止用户或组通过ssh登录
设置ssh用户白名单、黑名单
vi /etc/ssh/sshd_config
增加用户(允许、白名单)
AllowUsers 用户1 用户2
或
添加用户组
AllowGroups 组1 组2
PS:取交集,意思两个同时允许才可以。其他禁止
取消用户(禁止、黑名单)
DenyUsers 用户1
或
DenyGroups 组1
PS:取并集,有一个设置了不允许都会不允许。
5.检查新建文件系统权限默认值
通过umask,权限掩码值检查当前用户新建文件、文件夹默认权限。root用户正常是022。
022的意思是,用文件夹最大权限777(rwxrwxrwx)-当前设置权限755(rwx-r-xr-x) = 022,为什么文件夹默认配置了执行-x权限,因为文件夹没执行的话进不去,就没意义了。
而文件权限默认都没有执行,所以就是默认最大666(rw-rw-rw)-644(rw-r–r–=002)。
普通用户默认值是002
6.查看重点文件权限是否合理
如/etc/shadow /etc/passwd(744)
/etc/group
/etc/inittab
/etc/lilo.conf
/etc/grub.conf
/etc/xinetd.conf
/etc/crontab
/etc/securetty
/etc/rc.d/init.d
/var/log/messages
/var/log/wtmp
/var/run/utmp
/var/spool/cron
/usr/sbin/init
/etc/login.defs(644)
/etc/*.conf
/sbin/bin
/etc/init.d
/etc/xinetd.d 等等
四、安全审计
本地安全审计日志功能是否正常打开运行
安装第三方工具等
1. 查看进程运行是否正常
[root@localhost selinux]# ps -ef |grep syslogd --查看进程服务情况
[root@localhost selinux]# ps aux|grep syslogd
[root@localhost selinux]# ps -ef|grep auditd --查看守护进程情况
2.系统默认日志记录范围是否覆盖
查看/etc/rsyslog.conf
配置文件。
3. 查看系统登录日志
命令lastlog
--查询登录用户、端口、时间等
命令last -x
--显示系统关闭、用户登录和退出的历史
命令lastb
--列出失败尝试的登录信息
五、入侵防范
能记录、检测到入侵行为,能记录入侵者ip、主机名、时间等。建议有条件安装第三方设备如HIDS、NIDS等。
1. 查看自身入侵可疑日志
通过查看日志,可疑识别非法访问或可疑的暴力破解。
more /var/log/secure | grep fail
2. 最小安装原则
3. 检查运行服务
命令service --status-all
--检查是否有非必要服务,如ftp、smtp等
4. 检查服务运行情况
netstat-lp
(查看开启服务)
netstat -an
(查看开启的端口)
netstat-anlp
(查看开启的端口及服务)
六、资源控制
1.TCP Wrappers程序管控
通过设置/etc/hosts.allow
和/etc/hosts.den
y文件
顺序:
1./etc/hosts.allow
2./etc/hosts.deny
3.以上都不符合,则放行
/etc/hosts.allow#ssh允许单个ip
sshd:192.168.220.1#ssh允许ip段
sshd:192.168.220.#telnet允许单个ip
in.telnetd:192.168.220.1#telnet允许ip段
in.telnetd:192.168.221.
/etc/hosts.deny
sshd:ALL
in.telnetd:ALL
#禁止相关服务
2.设置登录超时时间
通过命令查看cat /etc/profile |grep TMOUT
vi /etc/profile
添加export TMOUT=600
--600秒超时
3. 设置普通用户最大进程数、CPU、内存等
进入 /etc/security/limits.conf
文件下,
增加代码
roxy soft nproc 10240
roxy hard nproc 10240
roxy soft nofile 10240
roxy hard nofile 10240
注:roxy 为需要修改线程数的用户名,10240 为设置的进程数和文件数限制,可根据需要修改。
也可以用ulimit
命令
4.适当关闭外设-U盘、光盘等
在vi /etc/modprobe.d/blacklist.conf
里添加一行:
blacklist usb-storage
执行命令生效modprobe -r usb-storage
相关文章:
centos 安全配置基线
centos 安全配置基线 一、系统防火墙及SE系统1. 系统自带防火墙iptables(Centos6)基础命令查看防火墙设置使用命令查看防火墙设置使用命令清除防火墙设置防火墙策略开放指定的端口屏蔽IP 2. 系统自带防火墙firewalled(Centos7)基础…...
语音技术在播客领域的应用(2)
播客是以语音为主,各种基于AI 的语音技术在播客领域十分重要。 语音转文本 Whisper Whisper 是OpenAI 推出的开源语音辨识工具,可以把音档转成文字,支援超过50 种语言。这款工具是基于68 万小时的训练资料,其中包含11.7 万小时的…...
html的iframe页面给帆软BI发送消息
需求:帆软的网页组件嵌套一个HTML页面,HTML页面要给帆软发消息。 解决方法是:fineReportWindow.duchamp.getWidgetByName("txt1").setValue(666); <!DOCTYPE html> <html lang"en"> <head> <…...
Dart语言的字符串处理
Dart语言的字符串处理 目录 引言字符串的定义与基本特性字符串的创建字符串的操作字符串拼接字符串截取字符串替换字符串分割字符串查询字符串格式化正则表达式在字符串处理中的应用字符串编码与解码示例代码总结 1. 引言 在现代编程中,字符串处理是一个非常重要…...
迅为RK3576开发板Android 多屏显示
迅为iTOP-3576开发板采用瑞芯微RK3576高性能、低功耗的应用处理芯片,集成了4个Cortex-A72和4个Cortex-A53核心,以及独立的NEON协处理器。它适用于ARM PC、边缘计算、个人移动互联网设备及其他多媒体产品。 1.1 Android 多屏同显 iTOP-RK3576 开发板支持…...
基于SpringBoot+Vue旅游管理系统的设计和实现(源码+文档+部署讲解)
个人名片 🔥 源码获取 | 毕设定制| 商务合作:《个人名片》 ⛺️心若有所向往,何惧道阻且长 文章目录 个人名片环境需要技术栈功能介绍功能说明 环境需要 开发语言:Java 框架:springboot JDK版本:JDK1.8 数据库&…...
Banana Pi BPI-RV2 RISC-V路由开发板采用矽昌通信SF2H8898芯片
Banana Pi BPI-RV2 开源网关是⼀款基于矽昌SF2H8898 SoC的设备,1 2.5 G WAN⽹络接⼝、5 个千兆LAN ⽹络接⼝、板载 512MB DDR3 内存 、128 MiB NAND、16 MiB NOR、M.2接⼝,MINI PCIE和USB 2.0接⼝等。 Banana Pi BPI-RV2 开源网关是矽昌和⾹蕉派开源社…...
【0x3D】HCI_Remote_Host_Supported_Features_Notification事件详解
目录 一、事件概述 二、事件格式及参数说明 2.1. HCI_Remote_Host_Supported_Features_Notification事件格式 2.2. BD_ADDR 2.3. Remote_Host_Supported_Features 三、事件作用 3.1. 设备特性沟通与理解 3.2. 功能协商与性能优化 3.3. 设备管理与配置更新 四、应用场…...
【腾讯云】AI驱动TDSQL-C Serveress 数据库技术实战营-如何是从0到1体验电商可视化分析小助手得统计功能,一句话就能输出目标统计图
欢迎来到《小5讲堂》 这是《腾讯云》系列文章,每篇文章将以博主理解的角度展开讲解。 温馨提示:博主能力有限,理解水平有限,若有不对之处望指正! 目录 背景效果图流程图创建数据库 基本信息数据库配置设置密码控制台开…...
Unity-Mirror网络框架-从入门到精通之RigidbodyBenchmark示例
文章目录 前言示例代码逻辑测试结论性能影响因素最后前言 在现代游戏开发中,网络功能日益成为提升游戏体验的关键组成部分。本系列文章将为读者提供对Mirror网络框架的深入了解,涵盖从基础到高级的多个主题。Mirror是一个用于Unity的开源网络框架,专为多人游戏开发设计,它…...
学习记录1
[SUCTF 2019]EasyWeb 直接给了源代码,分析一下 <?php function get_the_flag(){// webadmin will remove your upload file every 20 min!!!! $userdir "upload/tmp_".md5($_SERVER[REMOTE_ADDR]);if(!file_exists($userdir)){mkdir($userdir);}if…...
EWM 供应商退货
目录 1 简介 2 参考内向交货单退货场景 2.1 后台配置 ERP 配置 EWM 配置 2.2 主数据 2.3 业务操作 3 创建 return PO 退货场景 3.1 后台配置 ERP 配置 EWM 配置 3.2 主数据 3.3 业务操作 1 简介 EWM 供应商退货支持 2种方式退货: 1)参考内向交货单退货 2)创建…...
深度学习基础--GRU学习笔记(李沐《动手学习深度学习》)
前言 GRU是RNN模型的升级版,也是LSTM的弱化版,学习GRU也是为了学习LSTM做准备,这一篇文章是学习笔记;RNN:RNN讲解参考:李沐动手学习深度学习;欢迎收藏加关注,本人将会持续更新。 文…...
Linux-C/C++--初探linux应用编程概念
对于大多数首次接触 Linux 应用编程的读者来说,可能对应用编程(也可称为系统编程)这个概念并不 太了解,所以在正式学习 Linux 应用编程之前,笔者有必要向大家介绍这些简单基本的概念,从整体上认识 到应用编…...
计算机基础专业课
后面进一步完善内容! 第一部分:计算机基础知识5% 第一章:计算机概述 第二章:信息表示与编码 第二部分:计算机软硬件基础25% 第三章:计算机系统组成(计算机组成原理) 第四章&am…...
6. 快速掌握抽象类及接口
目录 1. 抽象类1.1 抽象类语法1.2 抽象类特性1.3 抽象类的作用 2. 接口2.1 接口语法2.2 接口的特性 3. 接口案例4. 常用接口4.1 Comparable接口---compareTo()方法4.2 clonable接口---clone方法4.2 深拷贝和浅拷贝 5. Object类5.1 equals()方法5.2 toString()方法5.3 hashCode(…...
P6周:VGG-16算法-Pytorch实现人脸识别
🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊 我的环境 语言环境:Python 3.8.12 编译器:jupyter notebook 深度学习环境:torch 1.12.0cu113 一、前期准备 1.设置GPU im…...
GPT-5 传言:一场正在幕后发生的 AI 变革
新的一年,让我们从一个引人入胜的话题开始:如果我告诉你,GPT-5 并非虚构,而是真实存在呢?它不仅真实存在,而且正在你看不见的地方悄然塑造着世界。我的基本假设是:OpenAI 已经秘密开发出 GPT-5&…...
mac配置 iTerm2 使用lrzsz与服务器传输文件
mac配置 1. 安装支持rz和sz命令的lrzsz brew install lrzsz2. 下载iterm2-send-zmodem.sh和iterm2-recv-zmodem.sh两个脚本 # 克隆仓库 git clone https://github.com/aikuyun/iterm2-zmodem ~/iterm2-zmodem# 进入到仓库目录 cd ~/iterm2-zmodem# 设置脚本文件可执行权限 c…...
一、1-2 5G-A通感融合基站产品及开通
1、通感融合定义和场景(阅读) 1.1通感融合定义 1.2通感融合应用场景 2、通感融合架构和原理(较难,理解即可) 2.1 感知方式 2.2 通感融合架构 SF(Sensing Function):核心网感知控制…...
深度学习加速性能分析与Roofline Model
深度学习加速性能分析 动因:由于深度学习加速器普遍采用时分复用(当然随着Graphcore等dataflow类型的芯片除外,他们是空间划分)。此时,硬件资源在不同时刻执行的计算发生变化,很难以单一时刻的计算类型进行硬件设计。所以寻找平均资源利用率就变得更重要方法:针对不同任…...
React 第三方状态管理库相关 -- Redux MobX 篇
一、redux 首先安装依赖: npm install redux react-redux reduxjs/toolkit 示例代码: // src/store/index.js import { configureStore } from reduxjs/toolkit import couterSlice from ./couterSliceconst store configureStore({reducer:{coute…...
“扣子”开发之四:与千帆AppBuilder比较
上一个专题——“扣子”开发——未能落地,开始抱着极大的热情进入,但迅速被稚嫩的架构模型折磨打击,硬着头皮坚持了两周,终究还是感觉不实用不趁手放弃了。今天询问了下豆包,看看还有哪些比较好的AI开发平台࿰…...
C++实现红黑树
红黑树 红黑树的概念 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或 Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍&…...
Vue3:当v-if和v-for同时使用时产生的问题和解决办法
更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码: https://gitee.com/nbacheng/nbci…...
python爬虫入门(理论)
python爬虫 学习网站 一、准备 环境搭建 requests beautifulsoup4 selenium 爬虫架构 URL管理器:管理URL,存储已爬取或待爬取的URL 网页下载器:破解网页,进行下载 网页解析器:对网页的HTML样式、连接的URL等进…...
有效提取激光雷达点云平面点
有效地面点云的提取和平面点的识别是通过一系列步骤实现的。以下是主要步骤: 高度过滤: 首先,根据激光雷达传感器的安装高度,对当前帧扫描得到的点云进行高度过滤,以初步分割出地面点云。假设第 k k k 帧的点云为 { …...
Vulnhub DC-8靶机攻击实战(一)
导语 Vulnhub DC-8靶机教程来了,好久没有更新打靶的教程了,这次我们在来更新一期关于Vulnhub DC-8的打靶训练,如下所示。 安装并且启动靶机 安装并且启动靶机,如下所示。 开始信息采集 进入到Kali中,通过如下的命令来查找到靶机的IP地址。 arp-scan -l根据上面的结…...
基于PHP的校园新闻发布管理
摘要 近年来,随着互联网技术的迅速发展,人们获取新闻的渠道也变得越来越多样化,已经不再拘束于传统的报纸、期刊、杂志等纸质化的方式,而是通过网络满足了人们获得第一手新闻的愿望,这样更加有助于实现新闻的规范化管…...
LabVIEW时域近场天线测试
随着通信技术的飞速发展,特别是在5G及未来通信技术中,天线性能的测试需求日益增加。对于短脉冲天线和宽带天线的时域特性测试,传统的频域测试方法已无法满足其需求。时域测试方法在这些应用中具有明显优势,可以提供更快速和精准的…...
组播PIM-原理介绍+报文分析+配置示例
个人认为,理解报文就理解了协议。通过报文中的字段可以理解协议在交互过程中相关传递的信息,更加便于理解协议。 因此本文将在PIMv2协议报文的基础上进行介绍,以详细介绍组播协议PIM。 这里需要说明的是,以下内容都针对的是ASM&a…...
规避路由冲突
路由冲突是指在网络中存在两个或多个路由器在进行路由选择时出现矛盾,导致网络数据包无法正确传输,影响网络的正常运行。为了规避路由冲突,可以采取以下措施: 一、合理规划IP地址 分配唯一IP:确保每个设备在网络中都有…...
Asp .Net Core 实现微服务:集成 Ocelot+Nacos+Swagger+Cors实现网关、服务注册、服务发现
什么是 Ocelot ? Ocelot是一个开源的ASP.NET Core微服务网关,它提供了API网关所需的所有功能,如路由、认证、限流、监控等。 Ocelot是一个简单、灵活且功能强大的API网关,它可以与现有的服务集成,并帮助您保护、监控和扩展您的…...
【C++】非类型模板参数 || 类模板的特化
目录 1. 非类型模板参数 2. 模板特化 3. 类模板特化 3.1.全特化 3.2 部分特化 3.3 参数更进一步限制 3.4 类模板应用 1. 非类型模板参数 模板参数分类类型形参与非类型形参。类型形参即:出现在模板参数列表中,跟在class或者typename之类的参数类型…...
Python基本概念与实践
Python语言,总给我一种“嗯?还能这么玩儿?”的感觉 Python像一个二三十岁的年轻人,自由、年轻、又灵活 欢迎一起进入Python的世界~ 本人工作中经常使用Python,针对一些常用的语法概念进行持续记录。 一、类与常见数据结…...
SQL Prompt 插件
SQL Prompt 插件 注:SQL Prompt插件提供智能代码补全、SQL格式化、代码自动提示和快捷输入等功能,非常方便,可以自行去尝试体会。 1、问题 SSMS(SQL Server Management Studio)是SQL Server自带的管理工具,…...
1.6 从 GPT-1 到 GPT-3.5:一路的风云变幻
从 GPT-1 到 GPT-3.5:一路的风云变幻 人工智能的进步一直是科技领域的一个重要话题,而在自然语言处理(NLP)领域,GPT(Generative Pre-trained Transformer)系列模型的发布,标志着一个又一个技术突破。从2018年发布的 GPT-1 到2022年推出的 GPT-3.5,OpenAI 的每一次更新…...
centos 7 Mysql服务
将此服务器配置为 MySQL 服务器,创建数据库为 hubeidatabase,将登录的root密码设置为Qwer1234。在库中创建表为 mytable,在表中创建 2 个用户,分别为(xiaoming,2010-4-1,女,male&…...
参数校验 Spring Validation框架
后端参数校验 解决:校验前端传入的参数是否符合预期 1、引入依赖 使用Spring Validation框架 <!-- validation参数校验框架--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validatio…...
sunrays-framework 微调
文章目录 1.common-log4j2-starter 动态获取并打印日志存储的根目录的绝对路径以及应用的访问地址1.目录2.log4j2.xml 配置LOG_HOME3.LogHomePrinter.java 配置监听器4.spring.factories 注册监听器5.测试1.common-log4j2-starter-demo 配置2.启动测试 2.common-minio-starter …...
Java正则转带中划线或下划线属性名为驼峰命名
Java正则转带中划线或下划线属性名为驼峰命名。 利用Java正则分组匹配的方式,将属性名中 -(_) 后接的字母,匹配上了去掉当前 -(_),将后接的字母转为大写,再追加拼接起来,就完成了驼峰命名。 String lineToHump(Strin…...
WebSocket实现分布式的不同方案对比
引言 随着实时通信需求的日益增长,WebSocket作为一种基于TCP的全双工通信协议,在实时聊天、在线游戏、数据推送等场景中得到了广泛应用。然而,在分布式环境下,如何实现WebSocket的连接管理和消息推送成为了一个挑战。本文将对比几…...
Linux下的dev,sys和proc(TODO)
(TODO) 还有一个sysfs 在 Linux 系统中,/dev、/sys 和 /proc 是三个特殊的虚拟文件系统目录,它们各自有特定的用途,主要用于与设备和内核交互。以下是它们的详细区别和功能说明: 1. /dev(Devi…...
JavaScript系列(32)-- WebAssembly集成详解
JavaScript WebAssembly集成详解 🚀 今天,让我们深入了解JavaScript与WebAssembly的集成,这是一项能够显著提升Web应用性能的关键技术。 WebAssembly基础概念 🌟 💡 小知识:WebAssembly(简称W…...
通过外部链接启动 Flutter App(详细介绍及示例)
通过外部链接启动 Flutter App(firebase_dynamic_links 和 app_links) 详细介绍 通过外部链接启动flutter App 的使用及示例 在我们的APP中,经常有点击链接启动并进入APP的需求(如果未安装跳转到应用商店)。Android通…...
计算机视觉模型的未来:视觉语言模型
一、视觉语言模型 人工智能已经从识别数据中的简单模式跃升为理解复杂的多模态数据。该领域的发展之一是视觉语言模型 (VLM) 的兴起。这类模型将视觉和文本之间联系起来,改变了我们理解视觉数据并与之交互的方式。随着 VLM 的不断发展,它们正在为计算机视觉设定一个新的水平…...
CTK插件框架学习-源码下载编译(01)
1、编译环境 window11、vs17、Qt5.14.0、cmake3.27.4 2、下载链接 cmake:Index of /files/v3.20 qt:Index of / vs22以前的版本需要登录下载:Visual Studio 较旧的下载 - 2019、2017、2015 和以前的版本 vs22下载:下载 Visu…...
Python 字符串分割时 spilt 和 re 效率对比
假设 有一些文件名是 数字_文档名 的格式,如何用python将数字提取出来? 可以使用 Python 的正则表达式模块 re 提取文件名中的数字部分。以下是实现代码: 示例代码: import re# 示例文件名列表 file_names ["1_file1.txt…...
AUTOSAR通信篇 - PDU和收发数据
点击订阅专栏不迷路 文章目录 一、概述二、OSI模型与AUTOSAR层级关系三、I-PDU、N-PDU、L-PDU及其关系3.1. L-PDU3.2. N-PDU3.3. I-PDU 四、数据流4.1. 普通数据流4.2. 诊断数据流4.3. 动态PDU数据流4.4. 安全通信数据流4.5. XCP数据流 返回总目录 一、概述 在学习Autosar通信…...
wps数据分析000002
目录 一、快速定位技巧 二、快速选中技巧 全选 选中部分区域 选中部分区域(升级版) 三、快速移动技巧 四、快速录入技巧 五、总结 一、快速定位技巧 ctrl→(上下左右)快速定位光标对准单元格的上下部分双击名称单元格中…...