【RH124】第六章 管理本地用户和组
系列文章目录
第一章 红帽企业Linux入门
第二章 访问命令行
第三章 从命令行管理文件
第五章 创建、查看文本文件
第六章 管理本地用户和组
文章目录
- 系列文章目录
- 前言
- 一、用户和组
- 1、用户
- 2、组
- 二、获取超级用户访问权限
- 1、root用户
- 2、切换用户账户
- 3、sudo配置
- 三、管理本地用户账户
- 1、创建用户
- 2、修改用户
- 3、删除用户
- 4、设置密码
- 5、UID范围
- 四、管理本地组账户
- 1、创建组
- 2、修改组
- 3、删除组
- 4、更改组成员
- 5、比较主要组和补充组
- 6、临时更改主要组
- 五、管理用户密码
- 1、影子密码和密码策略
- 2、密码验证
- 3、配置密码期限
- 4、限制访问
- 5、非登录shell
- 六、问答
- 1、Linux 对用户的管理会涉及到哪三个系统文件,请给出各自的名称并简述其条目结构。
- 2、用户的主组和辅助组有什么区别?
- 3、在 shell 切换用户时,su user 和 su – user 这两个命令有什么区别?
- 4、说明 sudo 命令作用,su、sudo 和 sudo -i 有什么区别?
- 5、怎么创建用户,怎么彻底删除用户(包含用户数据)?
- 6、怎么创建组,怎么添加组成员?能否删除主组,说出原因。
- 7、请解释 nologin shell,在什么场合会用到。
前言
创建、管理和删除本地用户和组,以及管理本地密码策略。
一、用户和组
1、用户
用户账户在可以运行命令的人员和程序之间提供了安全界限。
系统通过分配的唯一标识号(用户ID或UID
)来区分不同的用户账户。
系统使用/etc/passwd
文件存储有关本地用户的信息。
用户有以下三种主要类型:
- 超级用户:名称为
root
,账户UID为0
,具有完全的系统访问权限; - 系统用户:供服务进程使用,无法以交互式方式登录;
- 普通用户:具有有限权限的处理日常工作的普通用户账户。
与用户有关的常见命令:
id
:显示有关当前已登录用户的信息;id 用户名
:查看某个用户的信息;ls -l
:查看文件所有者;ls -ld
:查看目录所有者,而不是目录内容;ps
:查看进程信息,-a
查看该终端所有进程,-u
显示与进程关联的用户。
2、组
组是需要共享文件和其他系统资源权限的用户的集合。
系统通过分配唯一的标识号(组ID或GID
)来区分不同的组。
系统使用/etc/group
文件存储有关本地组的信息。
主要组和补充组:
- 主要组:每个用户只有一个主要组,拥有用户创建的文件。创建普通用户的时候,会创建 一个与用户同名的组,作为该用户的
主要组
。 - 补充组:是用户可以属于的其他组,用于资源共享和权限分配。成员资格存储在
/etc/group
文件中。 id命令
可显示用户的组成员资格。
二、获取超级用户访问权限
1、root用户
该用户拥有系统的全部权限
,可用来管理系统。
root用户才可以安装或删除软件以及管理系统文件及任务。
默认只有root用户
能管理硬盘,普通用户
可控制可移动设备,如USB设备。
root用户拥有足以破坏系统的无限制权限,建议仅在需要时升级到root用户特权。
2、切换用户账户
su (-) user1
:切换到user1用户账户,需要提供user1用户的密码;su (-)
:省略用户名,切换到root;sudo
:通过 sudo 使用自己的密码获取 root 访问权限;su 与 su - , sudo 的区别
:su 和 sudo 切换之后还是当前用户的环境,su - 切换之后是新用户的环境,
若切换到 root 用户,提示符会变为超级用户(root)提示符#
;- sudo 好处:将所有执行的命令记录到 /var/log/secure 中。
- sudo 命令的必要性:出于安全原因,某些情况下,root用户配置为没有有效的密码。所以,用户无法使用密码以root身份登录系统,同时也无法使用su来获取交互式Shell。此时需要使用sudo命令来获取root访问权限。
- 如何通过 sudo 访问 root 账户:使用
sudo -i
命令,切换到root账户并且运行该用户的默认shell及关联的交互式登录脚本。
若在没有交互式脚本的情况下运行 shell,使用 sudo -s。
3、sudo配置
sudo 命令的主要配置文件是 /etc/sudoers
,配置举例如下:
%wheel ALL=(ALL:ALL) ALL
第一部分表示:规则所应用到的用户或组
,%指定一个组,这里代表 wheel 组;
第二部分表示:在具有此文件的任何主机
上,whell组中的用户可以在系统上以任何其他用户
和任何其他组
运行命令。
第三部分表示:whell组中的用户可以运行任何命令
。
可在 /etc/sudoer.d 下创建文件启用sudo权限,例如 /etc/sudoer.d/user01 ,从目录中删除文件,即可禁用sudo访问权限。
三、管理本地用户账户
1、创建用户
useradd username
:创建名为 username 的用户,要设置密码之后才能登录;useradd -u UID username
:- u 选项为用户 username 指定 UID;- 在
/etc/login.defs
文件中为新创建的用户账户设置一些默认选项,如有效UID编号的范围和默认密码过期规则,更改此文件对现有用户无影响。
2、修改用户
使用 usermod --help
命令显示用于修改账户的选项.
3、删除用户
userdel username
:从/etc/passwd
中删除 username 用户的详细信息,但用户主目录(用户拥有的文件)保持不变userdel - r username
:从 /etc/passwd 中删除 username 用户,同时删除用户主目录;- root 用户可以使用
find / -nouser -o -nogroup
命令查找所有无人拥有的文件和目录。
4、设置密码
paswd username
:为 username 用户设置初始密码或更改其现有密码;
5、UID范围
UID 0
:root 账户UID;UID 1-99
:分配给静态系统用户,手动预设,传统服务账户,通常不自动分配;UID 100-999
:分配给动态系统用户(system users),系统服务用户,由系统或软件包自动创建,不允许登录;UID 1000+
:分配给普通用户,手动创建的用户,允许登录。
四、管理本地组账户
1、创建组
groupadd -g GID groupname
:创建GID为GID的组,组名为groupname,若省略 -g GID ,则会自动分配GID;groupadd -r groupname
:创建系统组。
2、修改组
- groupmod -n newname groupname:更改组名;
- groupmod -g GID groupname:更改GID。
3、删除组
groupdel groupname
:删除组。- 如果该group为主组,则无法删除。
4、更改组成员
usermod -g groupname username
:更改用户主要组;usermod -aG groupname username
:将用户添加到 groupname 这个补充组。
5、比较主要组和补充组
可在 /etc/passwd
文件中查看主要组;
可在 /etc/group
文件中查看用户补充组。
6、临时更改主要组
newgrp groupname
:将主要组切换为groupname组。
五、管理用户密码
1、影子密码和密码策略
- 加密密码最初储存在全局可读的 /etc/passwd 文件中,后来由于常见的字典式攻击,将加密后的哈希密码转移至
/etc/shadow
文件,该文件只有root用户可以读取。
2、密码验证
用户在登录时,使用salt加密用户passwd,然后进行哈希,之后进行比较
这种方式允许系统判断用户是否键入了正确的密码,同时又不以用于登录的密码形式来存储密码。
3、配置密码期限
- 使用 chage 命令修改密码生命周期。
chage -m 0 -M 90 -W 7 -I 14 username
:
-m :最短期限为0天
-M:最长期限为90天
-W:警告期为7天
-I : 不活动期为14天 - 通过编辑
/etc/login.defs
文件中密码期限配置项来设置密码生命周期。
4、限制访问
usremod -L username
:锁定用户账户,该用户将无法登录系统;usermod -U username
:解锁用户或者重新启用账户的访问权限。
5、非登录shell
usermod -s /sbin/nologin username
:将用户的登录shell设置为nologin shell。
六、问答
1、Linux 对用户的管理会涉及到哪三个系统文件,请给出各自的名称并简述其条目结构。
- /etc/passwd:存储用户的基本信息;
用户名:密码占位符:UID:GID:注释:主目录:默认shell
- /etc/shadow:存储用户的加密密码和密码策略;
用户名:加密密码:最后更改日期:最小天数:最大天数:警告期:禁用期:过期时间:保留字段
- /etc/group:存储组信息与组成员关系。
组名:密码占位符:GID:组成员列表(逗号分隔)
2、用户的主组和辅助组有什么区别?
3、在 shell 切换用户时,su user 和 su – user 这两个命令有什么区别?
su user
:切换用户,但保留当前环境变量
(尤其是 PATH);su - user
:切换用户并加载目标用户的登录环境,相当于真正登录该用户
。
4、说明 sudo 命令作用,su、sudo 和 sudo -i 有什么区别?
-
sudo 作用:
允许授权用户以其他用户身份执行命令,默认是以 root 身份运行。
权限由/etc/sudoers
控制。 -
区别:
5、怎么创建用户,怎么彻底删除用户(包含用户数据)?
- 创建用户:
useradd username
; - 彻底删除用户:
userdel -r username
。
6、怎么创建组,怎么添加组成员?能否删除主组,说出原因。
-
创建组:
groupadd groupname
; -
添加组成员:
设置主组:usermod -g groupname username
;
添加到补充组:usermod -aG groupname username
; -
不能删除主组
原因:主组是用户身份的重要组成部分,直接删除会导致系统一致性问题和权限错乱,因此必须先切换用户的主组。
7、请解释 nologin shell,在什么场合会用到。
- 系统服务账户:比如 nobody、daemon、www-data
- 限制某些用户无法登录系统:例如仅用于 FTP、数据库、系统守护进程
相关文章:
【RH124】第六章 管理本地用户和组
系列文章目录 第一章 红帽企业Linux入门 第二章 访问命令行 第三章 从命令行管理文件 第五章 创建、查看文本文件 第六章 管理本地用户和组 文章目录 系列文章目录前言一、用户和组1、用户2、组 二、获取超级用户访问权限1、root用户2、切换用户账户3、sudo配置 三、管理本地用…...
Linux学习笔记——中断
中断 硬中断和软中断的定义与区别硬中断(Hardware Interrupt)软中断(Software Interrupt) 硬中断与软中断的区别总结上半部和下半部机制详解为什么要分为上半部和下半部?上半部下半部 下半部的三种实现机制Linux中断响…...
Linux 进程间通信:信号机制
Linux 进程间通信:信号机制 在多进程操作系统中,进程之间的通信至关重要,尤其是在Linux系统中,信号(Signal)作为一种特殊的进程间通信方式,广泛用于进程之间的协调和控制。信号可以看作是操作系…...
计算机控制系统:arduino控制无源滤波器播放音乐
1 电脑播放简单音节 播放哆瑞咪发嗦啦西 在音频处理领域,声音合成是通过计算机算法模拟人类声音的一种技术。具体来说,模拟哆瑞咪发嗦啦西音节需要声卡先接收基本音符的信号,然后通过数字信号处理技术,将该信号转换为模拟声音输出…...
FTP协议和win server2022安装ftp
FTP协议简介 FTP(File Transfer Protocol,文件传输协议)是一种用于在网络上的计算机之间传输文件的标准网络协议。它被广泛应用于服务器与客户端之间的文件上传、下载以及管理操作。FTP支持多种文件类型和结构,并提供了相对简单的…...
UNet 改进(4):融合Ghost Module的轻量化分割网络
引言 在计算机视觉领域,U-Net因其优秀的性能在图像分割任务中广受欢迎。 随着模型复杂度的增加,计算资源和内存消耗也大幅上升。 本文将介绍一种改进的U-Net架构,通过引入Ghost Module来实现模型的轻量化,同时保持分割性能。 代码概述 这个实现构建了一个基于U-Net架构…...
香港VPS服务器如何优化CPU和内存使用率?
# 香港VPS服务器CPU与内存优化全攻略 在香港VPS服务器上优化CPU和内存使用率是提升性能、降低成本的关键。以下是经过验证的优化策略,涵盖从系统配置到应用层调优的全方位方案。 ## 一、系统级优化 ### 1. 内核参数调优 **调整swappiness值**(减少交…...
简单-快速-高效——模块化解析controlnet网络结构
资源 ControlNet论文:Adding Conditional Control to Text-to-Image Diffusion Models 官方项目:lllyasviel/ControlNet: Let us control diffusion models ControlNet 1.1项目地址:lllyasviel/ControlNet-v1-1-nightly diffusers框架的Co…...
C语言:字符串处理函数strstr分析
在 C 语言中,strstr 函数用于查找一个字符串中是否存在另一个字符串。它的主要功能是搜索指定的子字符串,并返回该子字符串在目标字符串中第一次出现的位置的指针。如果没有找到子字符串,则返回 NULL。 详细说明: 头文件…...
跨境企业应对美国加税:策略突围与破局之道
在全球经济一体化的浪潮中,跨境企业的业务发展与国际关系、贸易政策紧密相连。美国作为全球重要的经济体,其加税行为犹如一场突如其来的风暴,给众多跨境企业的运营带来了巨大冲击与挑战。面对这一严峻形势,跨境企业若想在波涛汹涌…...
Rust 是如何层层防错的
一、Rust 的多层防错机制 🧱 第一层:Rust语言自带的“编译时护盾” —— 错误连运行都跑不起来 错误类型Rust 怎么发现的?工具/机制举个例子✅ 语法缺陷写错了代码格式或语法Rust Analyzer(智能补全)少写了分号、括号…...
一种反激变换器的设计思路(01)
反激式转换器具有低成本且易于构建的优势,常被用作功率较低设备和电器的主要电源。其中固定开关频率(FF)和可变开关频率(QR)是两种基本的操作开关模式。本案例中,输入电压(Vin)为17V…...
Streamlit性能优化:缓存与状态管理实战
目录 📌 核心特性 📌 运行原理 (1)全脚本执行 (2)差异更新 📌 缓存机制 ❓为什么使用缓存? 使用st.cache_data的优化方案 缓存适用场景 使用st.session_state的优化方案 &…...
楼宇自控系统凭何成为建筑稳定、高效、安全运行的关键
在现代建筑领域,随着建筑规模的不断扩大和功能的日益复杂,建筑的稳定、高效、安全运行成为了至关重要的课题。楼宇自控系统犹如建筑的“智慧大脑”,凭借其卓越的功能和技术,在这三个关键方面发挥着不可替代的作用,成为…...
【学习自用】配置文件中的配置项
server.port服务器端口,常被用于指定应用程序运行时所监听的端口号spring.datasource.url用于配置数据源的数据库连接URLspring.datasource.username用于指定连接数据库的用户名spring.datasource.password用于配置数据源时设置数据库连接密码的属性mybatis.mapper-…...
《解码 C/C++ 关键字:科技编程的核心指令集》
序号语言关键字原型实现原理功能返回值类型使用示例注意事项应用场景1Cautoauto 数据类型 变量名;函数调用时在栈上分配内存,函数结束自动释放声明自动变量,变量生命周期限于函数执行期间无c<br>void func() {<br> auto int num 10;<br&…...
Linux 性能调优之CPU调优认知
写在前面 博文内容为《性能之巅 系统、企业与云可观测性(第2版)》CPU 章节课后习题答案整理内容涉及: CPU 术语,指标认知CPU 性能问题分析解决CPU 资源负载特征分析应用程序用户态CPU用量分析理解不足小伙伴帮忙指正对每个人而言,真正的职责只有一个:找到自我。然后在心中…...
《P2660 zzc 种田》
题目背景 可能以后 zzc 就去种田了。 题目描述 田地是一个巨大的矩形,然而 zzc 每次只能种一个正方形,而每种一个正方形时 zzc 所花的体力值是正方形的周长,种过的田不可以再种,zzc 很懒还要节约体力去泡妹子,想花最少的体力值…...
Model Context Protocol(MCP)介绍
“Model Context Protocol(MCP)”是近年来在多模态大模型或可扩展智能系统中出现的一个概念,其主要目标是为大模型提供结构化的上下文管理和动态记忆机制。它解决的是在长时间对话、多轮交互、任务切换等复杂情境中,模型如何理解“…...
解决使用PendingIntent.getBroadcast时出现java.lang.IllegalArgumentException异常的问题
当app为targetSdk31及以上,并且在Android12及以上系统中调用PendingIntent.getBroadcast(context, 0, intent, 0)接口时会抛出异常: java.lang.IllegalArgumentException: com.haier.uhome.uplus.seasia: Targeting S (version 31 and above) requires …...
创建一个简单的HTML游戏站
创建一个简单的HTML游戏站涉及多个步骤,包括规划网站结构、设计用户界面、编写游戏逻辑以及测试和部署。下面是一个详细的步骤指南: 1. 规划网站结构 确定目标受众:了解你的目标用户群体。选择游戏类型:决定你要开发的游戏类型&…...
AIDD-人工智能药物设计-TCMP-12个公开的中药数据库
12个公开的中药数据库 数据库是中药网络药理学研究不可或缺的数据来源之一。目前已经建立了若干中药数据库,提供有关中药的各方面信息,包括疾病、方剂、草药或天然产物、生物活性成分和靶点。这些数据库成为中医药与现代生物医学之间的桥梁,…...
基于大模型的阵发性室上性心动过速风险预测与治疗方案研究
目录 一、引言 1.1 研究背景与意义 1.2 研究目的与目标 1.3 研究方法与数据来源 二、阵发性室上性心动过速概述 2.1 定义与分类 2.2 发病机制与流行病学 2.3 临床表现与诊断方法 三、大模型在阵发性室上性心动过速预测中的应用 3.1 大模型技术原理与特点 3.2 模型构…...
基于金字塔视觉变换的类引导网络高分辨率遥感图像高效语义分割
Class-Guidance Network Based on the Pyramid Vision Transformer for Efficient Semantic Segmentation of High-Resolution Remote Sensing Images 摘要 多分类语义分割中类之间的小差异和类内的大变化是全卷积神经网络的“编码器-解码器”结构没有完全解决的问题&#…...
高级:数据库面试题全攻略
一、引言 数据库是软件开发中不可或缺的组件,面试官通过相关问题,考察候选人对数据库核心概念的理解、实际应用能力以及在复杂场景下的问题解决能力。本文将深入解读数据库的索引、事务、锁机制等常见面试问题,结合实际开发场景,…...
如何避免Python爬虫重复抓取相同页面?
在网络爬虫开发过程中,重复抓取相同页面是一个常见但必须解决的问题。重复抓取不仅会浪费网络带宽和计算资源,降低爬虫效率,还可能导致目标网站服务器过载,甚至触发反爬机制。本文将深入探讨Python爬虫中避免重复抓取的多种技术方…...
LeetCode.02.04.分割链表
分割链表 给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你不需要 保留 每个分区中各节点的初始相对位置。 示例 1: 输入:head [1,4,3,2,5,2], x …...
鸿蒙开发_ARKTS快速入门_语法说明_渲染控制---纯血鸿蒙HarmonyOS5.0工作笔记012
然后我们再来看渲染控制 首先看条件渲染,其实就是根据不同的状态,渲染不同的UI界面 比如下面这个暂停 开启播放的 可以看到就是通过if 这种条件语句 修改状态变量的值 然后我们再来看这个, 下面点击哪个,上面横线就让让他显示哪个 去看一下代码 可以看到,有两个状态变量opt…...
MOP数据库中的EXPLAIN用法
EXPLAIN 是 SQL 中的一个非常有用的工具,主要用于分析查询语句的执行计划。执行计划能展示数据库在执行查询时的具体操作步骤,像表的读取顺序、使用的索引情况、数据的访问方式等,这有助于我们对查询性能进行优化。 语法 不同的数据库系统&…...
软考 系统架构设计师系列知识点 —— 设计模式之抽象工厂模式
本文内容参考: 软考 系统架构设计师系列知识点之设计模式(2)_系统架构设计师中考设计模式吗-CSDN博客 https://baike.baidu.com/item/%E6%8A%BD%E8%B1%A1%E5%B7%A5%E5%8E%82%E6%A8%A1%E5%BC%8F/2361182 特此致谢! Abstract Fac…...
告别水下模糊!SU-YOLO:轻量化+尖峰神经网络,用“类脑计算”实现水下目标毫秒级识别
目录 一、摘要 二、引言 三、相关工作 SNN 物体检测 水下物体探测 水下图像去噪 归一化 四、方法 水下尖峰YOLO 尖峰干扰器 SU-Block SpikeSPP 编码器和检测头 分批归一化 五、Coovally AI模型训练与应用平台 六、实验结果 数据集和实施细节 数据集 实施细节…...
Three.js 系列专题 8:实战项目 - 构建一个小型 3D 游戏
内容概述 本专题将通过一个实战项目展示 Three.js 的综合应用。游戏包含迷宫生成、角色移动、相机控制和简单的物理碰撞检测(可选)。这将帮助你将之前学到的知识融会贯通。 学习目标 整合几何体、光照、动画和交互知识。实现基本的游戏逻辑和用户控制。可选:使用 Cannon.j…...
嵌入式笔试(一)
C语言和嵌入式软件 面试题(共10题 时间30分钟) 1. 请写出下面声明的含义。 int(*s[10])(int);定义了一个数组为s包含十个元素,每个元素都是函数指针,函数的参数为一个int类型,返回值也是int类型2. 选择题 设有一台计算机,它有一条加法指令,每次可计算三个数的和。如果要…...
spark 的流量统计案例
创建一个目录为data...
局域网访问 Redis 方法
局域网访问 Redis 方法 默认情况下,Redis 只允许本机 (127.0.0.1) 访问。如果你想让局域网中的其他设备访问 Redis,需要 修改 Redis 配置,并确保 防火墙放行端口。 方法 1:修改 Redis 配置 1. 修改 redis.conf(或 me…...
LeetCode题五:合并两个有序链表
基本思路其实就是:先建立一个空链表,然后将尾节点放在头结点上; 如果第一个链表节点值较小,那么先将list1插入新链表中,然后将尾节点后移;相同的,第二个也需要比较;移动新链表的指针…...
深入探索 `malloc`:内存分配失败的原因及正确使用规范
文章目录 一、malloc 内存分配失败的常见原因1. 内存不足2. 内存越界访问3. 内存碎片化4. 系统限制5. 错误的使用方式 二、如何正确使用 malloc1. 检查返回值2. 释放内存3. 避免内存越界4. 优化内存使用5. 调整系统参数6. 使用高效的内存分配器 三、总结 在 C 语言中࿰…...
处理Excel的python库openpyxl、xlrd、xlwt、panda区别
openpyxl、xlrd、xlwt、pandas 都能处理 Excel 表格,但用途和适合的场景不同。今天做个总结: 库名功能支持格式读写支持样式备注openpyxl全面的.xlsx处理库.xlsx(Excel2007)✅✅✅首选xlrd读取.xls文件的老牌工具.xls(…...
【C++11】特殊类的设计 单例模式 类型转换
目录 一、特殊类的设计: 1、设计一个不能够拷贝的类: 2、设计一个只能在堆上创建的类 3、设计一个只能在栈上创建的类 4、设计一个不能被继承的类: 二、单例模式: 设计一个只能创建一个对象的类: 饿汉模式&…...
基于vue框架的助农特色农产品销售系统i7957(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
系统程序文件列表 项目功能:用户,商品分类,农产品信息,特价商品,爱心捐赠 开题报告内容 基于Vue框架的助农特色农产品销售系统开题报告 一、研究背景与意义 (一)研究背景 随着乡村振兴战略的深入实施,特色农产品作为农村经济的重要组成部…...
Linux 学习笔记(3):ls 命令深入剖析与实践应用(期末、期中复习必备)
前言 一、ls 命令基础语法 命令示例 二、工作目录与 HOME 目录 1.工作目录 2.HOME 目录 三、结语 前言 在 Linux 系统的学习旅程中,基础命令的掌握是迈向熟练操作的关键一步。其中,ls 命令作为我们探索系统文件和目录结构的常用工具,有着…...
最简CNN based RNN源码
1.源码: GitCode - 全球开发者的开源社区,开源代码托管平台 最终的效果: 数据集是20个周期,1024点sin(x)加了偏置。其中用于训练的有1024-300点。最后300点用来进行测试。上面的右侧输出的,其实对应左侧x73之后的波形࿰…...
大模型是如何把向量解码成文字输出的
hidden state 向量 当我们把一句话输入模型后,例如 “Hello world”: token IDs: [15496, 995]经过 Embedding Transformer 层后,会得到每个 token 的中间表示,形状为: hidden_states: (batch_size, seq_len, hidd…...
Elasticsearch:加快 HNSW 图的合并速度
作者:来自 Elastic Thomas Veasey 及 Mayya Sharipova 过去,我们曾讨论过搜索多个 HNSW 图时所面临的一些挑战,以及我们是如何缓解这些问题的。当时,我们也提到了一些计划中的改进措施。本文正是这项工作的成果汇总。 你可能会问…...
Elasticsearch单节点安装手册
Elasticsearch单节点安装手册 以下是一份 Elasticsearch 单节点搭建手册,适用于 Linux 系统(如 CentOS/Ubuntu),供学习和测试环境使用。 Elasticsearch 单节点搭建手册 1. 系统要求 操作系统:Linux(Cent…...
前端用户列表与后端分页协同设计
分页实现方案 在现代Web应用中,用户列表展示与分页是一个常见的功能需求。前端与后端通过API协同工作,使用PageHelper等工具实现高效分页。 例如: 后端实现 (使用PageHelper) public PageResult DishPage(DishPageQueryDTO dishPageQuery…...
MyBatis的第四天学习笔记下
10.MyBatis参数处理 10.1 项目信息 模块名:mybatis-007-param数据库表:t_student表结构: id: 主键name: 姓名age: 年龄height: 身高sex: 性别birth: 出生日期 sql文件: create table t_student ( id bigint auto_increm…...
三类人解决困境的方法
有一个视频讲述了三类人解决困境的方法,视频中有持续流出干净水源的水龙头,一杯装满脏水的玻璃杯。第一类普通人是拿着玻璃杯放到水龙头下不断接水,水龙头一直开着的第二类高手是把脏水倒到水池里,然后打开水龙头接水,…...
蓝桥杯第十一届省赛C++B组真题解析
蓝桥杯第十一届省赛CB组真题解析 八、回文日期https://www.lanqiao.cn/problems/348/learning 方法一:暴力枚举所有的日期,记录有多少个回文日期。 #include <bits/stdc.h> using namespace std; int month[13]{0,31,28,31,30,31,30,31,31,30,31…...
Tailscale 的工作原理*
Tailscale 的核心原理基于 WireGuard VPN,它实现了端到端加密的 点对点(P2P)连接,但在必要时会通过 中继服务器(DERP) 进行中转。整体来说,它是一个 零配置的 Mesh VPN,让所有设备看…...