如企业网站模板下载/厦门百度关键词seo收费
目录
一、系统安全的加固
1、账号安全的基本措施
1.1 将用户设置为无法登录
1.2 锁定长期不使用的账号
1.3 删除无用的账号
1.4 锁定账号文件passwd、shadow
2、密码安全控制
2.1 设置密码有效期
2.1.1 适用于新建用户
2.1.2 适用于已有用户
2.2 强制用户下次登录一定修改密码
3、历史命令限制
3.1 临时清除历史指令
3.2 开机后清除
3.3 用户退出后清除
3.4 终端自动注销
3.5 减少记录的命令条数
4、切换用户
4.1 su
4.2 sudo
4.2.1 概述
4.2.2 sudo的特性
4.2.3 提权操作
4.2.4 别名
4.2.5 子目录
二、PAM安全认证
1、概述
2、pam相关文件
3、pam工作原理
4、专用配置文件/etc/pam.d/ 格式
5、PAM模块
5.1 shell模块
5.2 securetty模块
5.3 pam_nologin.so模块
5.4 limit模块
6、ulimit命令
一、系统安全的加固
1、账号安全的基本措施
1.1 将用户设置为无法登录
操作:将用户的Shell设为/sbin/nologin,就能让该用户无法登录
shell——/sbin/nologin比较特殊,所谓“无法登陆”指的仅是这个用户无法使用bash或其他shell来登陆系统而已,并不是说这个账号就无法使用系统资源
usermod -s /sbin/nologin 用户名 #将非登录用户的shell设为/sbin/nologin
1.2 锁定长期不使用的账号
passwd -l 用户名 #锁定用户账号密码
passwd -u 用户名 #解锁用户账号密码
passwd -S 用户名 #查看用户账号状态
1.3 删除无用的账号
userdel -r 用户名 #删除用户账号
1.4 锁定账号文件passwd、shadow
lsattr /etc/passwd /etc/shadow
#显示 /etc/passwd 和 /etc/shadow 文件的扩展属性,如是否设置了不可更改 (i)、不可删除 (d) 等属性chattr +i /etc/passwd /etc/shadow #锁定配置文件,所有用户不能修改
chattr -i /etc/passwd /etc/shadow #解锁配置文件
2、密码安全控制
2.1 设置密码有效期
2.1.1 适用于新建用户
vim /etc/login.defs #在/etc/login.defs配置文件里设置
2.1.2 适用于已有用户
chage 选项 用户名
选项 | 说明 |
---|---|
-m | 密码可更改的最小天数,为零时代表任何时候都可以更改密码 |
-M | 密码保持有效的最大天数 |
-w | 用户密码到期前,提前收到警告信息的天数 |
-E | 帐号到期的日期。过了这天,此帐号将不可用 |
-d | 上一次更改的日期 |
-i | 停滞时期。如果一个密码已过期这些天,那么此帐号将不可用 |
-l | 列出当前的设置。由非特权用户来确定他们的密码或帐号何时过期 |
2.2 强制用户下次登录一定修改密码
chage -d 0 用户名 #强制用户下次登录一定修改密码
3、历史命令限制
3.1 临时清除历史指令
history -c #临时清除历史指令
3.2 开机后清除
vim ~/.bashrc
#将清除历史命令写入配置文件中,该文件的修改只会影响到当前用户,即开机后清除,只对当前用户有效
echo " " >~/.bash_history
#开机之前先运行:将空格重定向至~/.bash_history文件中,即清空
3.3 用户退出后清除
vim ~/.bash_logout
#将清除历史命令写入配置文件中,该文件的修改只会影响到当前用户,即退出该用户后清除,只对当前用户有效
echo " " >~/.bash_history
#开机之前先运行:将空格重定向至~/.bash_history文件中,即清空
3.4 终端自动注销
vim /etc/profile #所有用户生效
export TMOUT=60 #设置超时时间,用户闲置后注销
3.5 减少记录的命令条数
vim /etc/profile #所有用户生效
export HISTSIZE=50
#设置最多只记录50条历史命令,export设置环境变量,HISTSIZE历史命令记录条数
4、切换用户
4.1 su
用于切换用户身份的命令
切换用户的方式:
- su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录,即不完全切换
- su - UserName:登录式切换,会读取目标用户的配置文件,切换至自已的家目录,即完全切换
注:管理员用户切换至其他用户无须密码,非管理员用户切换时需要密码
在pam模块中, 主要有pam_ rootok.so和pam_ wheel.so两个模块组合限制用户使用su命令
vim /etc/pam.d/su #打开su的PAM配置文件
注:
- 默认情况下第一行开启、第二行注释:root使用su切换普通用户就不需要输入密码,允许所有用户间使用su命令进行切换
- 两行都注释:允许所有用户都能使用su命令,但root下使用su切换到其他普通用户需要输入密码
- 开启两行:只有root用户和wheel组内的用户才可以使用su命令,whell组是超级管理员的组
- 第一行注释、第二行开启:表示只有wheel组内的用户才能使用su命令,root用户也被禁用su命令,root属于root组
4.2 sudo
4.2.1 概述
sudo
命令允许普通用户以超级用户(root)的身份来执行特定的命令。这是一种安全的方式,可以限制普通用户在系统上执行特权操作的能力
4.2.2 sudo的特性
-
sudo能够授权指定用户在指定主机上运行某些命令。如果未授权用户尝试使用 sudo,会提示联系管理员
-
sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器
-
sudo使用时间戳文件来执行类似的“检票”系统。当用户调用sudo并且输入它的密码时,用户获得了一张存活期为5分钟的票
-
sudo的配置文件是sudoers文件,它允许系统管理员集中的管理用户的使用权限和使用的主机。它所存放的位置默认是在/etc/sudoers,属性必须为0440
4.2.3 提权操作
用户提权操作
①原本mimi用户作为普通用户无法挂载
②在/etc/sudoers里添加mimi用户可以使用挂载光盘的命令操作
visudo:推荐使用,自带语法检查功能
注:
输入的命令要与配置文件里添加的命令一致,否则不能识别
③如果普通用户使用sudo命令时不想进行密码验证,需取消密码验证功能,可在配置文件里加上NOPASSWD:
用户组提权操作
%yun ALL= NOPASSWD:/usr/bin/cat /var/log/m*,!/usr/bin/cat /var/log/m* *
此命令代表yun用户组成员只能同时查看一个文件,而不能同时查看多个文件
其中!代表取反,不能执行此命令
,表示可添加多个命令,中间用逗号隔开
4.2.4 别名
sudo别名有四种类型:
-
User_Alias(用户)
-
Runas_Alias(代表用户)
-
Host_Alias(登录主机)
-
Cmnd_Alias(命令)
别名格式:必须大写字母,数字可以使用但是不能放在开头
Host_Alias MYHOSTS = localhost
User_Alias MYUSERS = dh,mimi
Cmnd_Alias MYCMNDS = /usr/bin/*MYUSERS MYHOSTS=NOPASSWD:MYCMNDS
4.2.5 子目录
可以创建单独的文件来配置sudo
命令的行为,这样可以更好地组织和管理sudo
的权限设置。每个文件中可以包含针对特定用户或用户组的特权配置,这样就可以更灵活地管理sudo的权限
①在/etc/sudoers.d/目录下,建一个专属于单个用户mimi的配置文件
二、PAM安全认证
1、概述
PAM(Pluggable Authentication Modules,可插拔认证模块)是一种在 Unix-like系统中实现身份验证的框架。PAM 允许系统管理员通过配置不同的模块来定义用户身份验证过程,包括密码验证、指纹识别、智能卡等。这种模块化的方法使得系统管理员可以根据需要定制认证过程而无需修改应用程序本身。
在 Linux 中,PAM 用于处理各种认证任务,包括用户登录、密码更改、账号管理等。PAM 的配置文件通常位于 /etc/pam.d/
目录下,每个应用程序或服务都有一个对应的 PAM 配置文件。这些文件定义了认证过程中使用的模块以及它们的顺序和参数。
2、pam相关文件
-
包名: pam
rpm -qi pam #查看当前系统pam
*******************************************
rpm -ql pam #查看模块
-
模块文件目录:/lib64/security/*.so
ls /usr/lib64/security/*.so|wc -l
#统计共有多少个模块文件
-
特定模块相关的设置文件:/etc/security/
man 8 模块名 #可以查看模块的帮助信息
-
应用程序调用PAM模块的配置文件
主配置文件:/etc/pam.conf,默认不存在,一般不使用主配置
为每种应用模块提供一个专用的配置文件:/etc/pam.d/APP_NAME
注:如/etc/pam.d存在,/etc/pam.conf将失效
3、pam工作原理
①应用程序调用PAM库: 当一个应用程序需要进行身份验证(比如用户登录、密码更改等)时,它会调用PAM库,请求进行认证
②PAM配置文件: PAM 的配置文件通常位于 /etc/pam.d/
目录下。每个应用程序或服务都有一个对应的 PAM 配置文件。这些配置文件定义了认证过程中使用的模块以及它们的顺序和参数
③PAM模块堆栈: PAM 模块被组织成一个堆栈,应用程序的 PAM 配置文件指定了这个堆栈中模块的顺序。当进行身份验证时,PAM 将按照指定的顺序调用每个模块,并根据模块的返回状态来决定认证的成功或失败
④模块执行: 在堆栈中,每个模块都有特定的任务,比如密码验证、账号检查等。PAM 框架会将相应的用户提供的信息传递给每个模块,模块则根据配置的规则进行相应的认证操作
⑤返回结果: 每个模块执行完成后都会返回一个状态码,指示认证是否成功。PAM 框架会根据这些状态码来决定是否允许用户继续操作
4、专用配置文件/etc/pam.d/ 格式
第一列内容:type(模块类型)
type:指模块类型,即功能 | |
---|---|
Auth | 账号的认证和授权,比如用户登录时,验证你的用户名存不存在 |
Account | 帐户的有效性,与账号管理相关的非认证类的功能,如:用来限制/允许用户对某个服务的访问时间,限制用户的位置(例如:root用户只能从控制台登录) |
Password | 用户修改密码时密码复杂度检查机制等功能 |
Session | 用户会话期间的控制,如:最多打开的文件数,最多的进程数等 |
-type | 表示因为缺失而不能加载的模块将不记录到系统日志,对于那些不总是安装在系统上的模块有用 |
PAM框架的基本流程包括四个主要阶段:
①认证管理 (authentication management):接受用户名和密码,进而对该用户的密码进行认证
②账户管理(account management):检查帐户是否被允许登录系统,帐号是否已经过 期,帐号的登录是否有时间段的限制等
③密码管理(password management):主要是用来修改用户的密码
④会话管理(session management):主要是提供对会话的管理和记账。 控制类型也可以称做 Control Flags,用于 PAM 验证类型的返回结果
第二列内容:control(控制位)
PAM库该如何处理与该服务相关的PAM模块的成功或失败情况,一个关键词实现
control:PAM库该如何处理与该服务相关的PAM模块的成功或失败情况 | |
---|---|
required | 一票否决,如果失败,最后一定会失败,但是还会继续执行下面操作验证失败仍然会继续,但返回Fail |
requssite | 一票否决,如果失败会立即反馈失败信息,并立即结束认证,返回Fail |
sufficient | 验证成功会立即返回,不再继续,否则忽略结果并继续 |
optional | 不用于验证,只显示信息 |
include | 表示在验证过程中调用其他的 PAM 配置文件 |
第三列内容:module-path(PAM模块): 用来指明本模块对应的程序文件的路径名,模块规定了系统的一些程序应该如何有效操作
第四列内容:Arguments: 用来传递给该模块的参数
5、PAM模块
5.1 shell模块
主要功能是检查有效shell,pam_shells.so模块只允许规定的shell类型通过,使在/etc/shells 文件中存在的类型通过
案例:不允许使用/bin/csh的用户本地登录(借用su模块添加相关配置)
①把/bin/csh从/etc/shells文件中删除,再创建一个/bin/csh类型的用户
②在/etc/pam.d/su的配置文件中启用shell的PAM认证模块
③此时/bin/csh类型的用户mimi将无法登录
5.2 securetty模块
默认情况下centos是不允许用户使用telnet协议(密码明文传输,不安全)远程登录的,该模块功能为只允许root用户在/etc/securetty列出的安全终端上登陆
案例:CentOS 7允许root在telnet登陆
①在客户端和服务端都注释安全模块功能
②模拟远程登录
客户端和服务端同样的操作:
yum install -y telnet-server.x86_64 #安装telnet程序
systemctl start telnet.socket #开启telnet服务
systemctl status telnet.socket #查看telnet服务是否开启
systemctl stop firewalld #关闭防火墙
5.3 pam_nologin.so模块
如果/etc/nologin文件存在,将导致非root用户不能登陆,当该用户登陆时,会显示/etc/nologin文件内容,并拒绝登陆。可运用在维护场景下
要求:默认此模块可以对ssh等登录有效,但不影响su登录
touch /etc/nologin #/etc/nologin文件存在,将导致非root用户不能登陆
echo "系统维护中" > /etc/nologin #设置提示信息
rm -rf /etc/nologin #删除/etc/nologin文件,其他普通用户恢复登录
5.4 limit模块
指 limits.conf
配置文件,它位于 /etc/security/
目录下。这个文件用于设置系统范围内的用户资源限制,包括硬件资源和服务的限制。这些限制可以影响用户会话的各种方面,如 CPU 使用、内存使用、文件打开数等
domain | 用户名 |
@组名 | |
*表示所有用户和组 | |
type | hard:硬限制 |
soft:软限制 | |
—:软硬一起,相当于硬限制 | |
item | core :限制核心文件大小(KB) |
data :最大数据大小(KB) | |
fsize :最大文件大小(KB) | |
memlock :最大锁定在内存中的地址空间(KB) | |
nofile :打开文件描述符的最大数目 | |
rss :最大常驻集大小(KB) | |
stack :最大堆栈大小(KB) | |
cpu :最大cpu时间(MIN) | |
nproc :最大进程数 | |
as :地址空间限制(KB) | |
maxlogins :该用户的最大登录数 | |
maxsyslogins :系统上的最大登录数 | |
priority :带锁运行用户进程的优先级 | |
locks :用户可以持有的最大文件数 | |
sigpending :挂起信号的最大数量 | |
msgqueue : POSIX消息队列使用的最大内存(字节) | |
nice :允许提升的最大优先级(-20~19) | |
rtprio :最大实时优先级 |
案例:限制用户mimi最多可用打开五个进程
6、ulimit命令
- ulimit是linux shell的内置命令,它具有一套参数集,用于对shell进程及其子进程进行资源限制
- ulimit只影响shell进程及其子进程,用户登出后失效
- 可以在profile中加入ulimit的设置,变相的做到永久生效
- 通过
ulimit
命令,系统管理员可以限制用户对系统资源的访问,以提高系统的安全性和稳定性
选项 | 说明 |
---|---|
-H | 设置硬件资源限制 |
-S | 设置软件资源限制 |
-a | 显示当前所有的资源限制 |
-c size | 设置core文件的最大值.单位:blocks |
-d size | 设置数据段的最大值.单位:kbytes |
-f size | 设置创建文件的最大值.单位:blocks |
-l size | 设置在内存中锁定进程的最大值.单位:kbytes |
-m size | 设置可以使用的常驻内存的最大值.单位:kbytes |
-n size | 设置内核可以同时打开的文件描述符的最大值.单位:n |
-p size | 设置管道缓冲区的最大值.单位:kbytes |
-s size | 设置堆栈的最大值.单位:kbytes |
-t size | 设置CPU使用时间的最大上限.单位:seconds |
-u size | 最大用户进程数 |
-v size | 设置虚拟内存的最大值.单位:kbytes |
unlimited | 一个特殊值,用于表示不限制 |
ulimit -a #查看系统的相关资源限制设置
修改tcp最大链接数
ulimit -n 1500 #设置内核最多可以同时打开1500个文件
ab -c2000 -n5000 http://172.16.12.10/ #压测
相关文章:

Linux系统安全及应用
目录 一、系统安全的加固 1、账号安全的基本措施 1.1 将用户设置为无法登录 1.2 锁定长期不使用的账号 1.3 删除无用的账号 1.4 锁定账号文件passwd、shadow 2、密码安全控制 2.1 设置密码有效期 2.1.1 适用于新建用户 2.1.2 适用于已有用户 2.2 强制用户下次登录一…...

初识Web服务器
一、web服务器 1、什么是web服务器? web服务器就是web项目的容器,我们将开发好的web项目部署到web容器中,才能使用网络中的用户通过浏览器进行访问。 一张图带你了解web服务器有啥作用: 在我的电脑上有一个已经做好的项目&#…...

IOS - 手机安装包 ipa 常见几种方式
安装 ipa 包的方法有很多中,可以通过不同的软件安装,本文只列出了常用的几种,做个简单的归纳整理 1、iTunes 安装 数据线连接手机之后,会自动连接iTunes,(第一次连接的时候会提示是否信任此电脑࿰…...

60、resnet50 权值和参数加载
上一节我们将 resnet50 中需要下载的权值,以及每层卷积的参数,都下载并且保存到了 仓库 resnet50_weight 目录,在仓库的这个连接。 在将权值保存好之后,接下来就是要看如何使用这些权值,也就是如何加载。本节就介绍下我们实战过程中,如何加载这些权值。 加载权值 加载权…...

wordpress在界面将站点地址直接修改为https导致上不去问题的解决办法
wordpress在界面将站点地址直接修改为https导致上不去问题的解决办法 #修改数据库yz_options...

数字IC后端实现之快速获取innovus中drv violation的所有net list
在Innovus中place_opt_design和optDesign阶段,我们经常会看到如下所示的log提示信息,核心关键词是“ Reasons for remaining drv violations”。而且告诉我们总共有819条net存在drv violation,且无法被工具优化掉。 Reasons for remaining dr…...

【开源】基于JAVA语言的智能教学资源库系统
目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 课程档案模块2.3 课程资源模块2.4 课程作业模块2.5 课程评价模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 课程档案表3.2.2 课程资源表3.2.3 课程作业表3.2.4 课程评价表 四、系统展示五、核心代…...

数据库定义和操作语句的重要语法
数据库📊的10种语法 数据查询语句 select : 用于从数据库中检索数据。 select column1, column2,.... from table_name where condition; select distinct : 用于从数据库中检索唯一的数据值。 select DISTINCT column1, clumn2,... from table_name; 工作原理…...

计算机组成原理 CPU的功能和基本结构和指令执行过程
文章目录 CPU的功能和基本结构CPU的功能CPU的基本结构 指令执行过程指令周期概念指令执行方案指令数据流取周期数据流析指周期数据流执行周期数据流中断周期数据流 数据通路的功能和基本结构数据通路的功能数据通路的结构单总线 CPU的功能和基本结构 #mermaid-svg-0uHwjZOZh4kS…...

批量归一化:彻底改变深度学习架构
一、介绍 在深度学习的动态领域,批量归一化的引入标志着神经网络训练方法的关键转变。这项创新技术由 Sergey Ioffe 和 Christian Szegedy 在 2015 年提出,已成为现代神经网络架构的基石。它解决了训练深度网络的关键挑战,特别是处理臭名昭著…...

Spring05
一、Spring事务管理入门 1.1、创建数据库和表 创建一个Spring数据库,在Spring数据库中创建tb_account(账户表),并初始化数据。 1.2、编写Service层、Mapper层以及调用层 1.2.1、AccountServiceImpl实现了AccountService接口 1.2.2、Mapper层中的代码 1…...

MvvmToolkit的使用
背景:MvvmLight不更新了,用Toolkit代替 1、首先下载好社区版本的NuGet包 2、ViewModel中需要继承ObservableObject,查看ObservableObject可以看到里面有实现好InotifyPropertyChanged。 3、对于属性的set,可以简写成一行ÿ…...

分布式【一致性Hash算法简介】
一致性Hash是一种特殊的Hash算法,由于其均衡性、持久性的映射特点,被广泛的应用于负载均衡领域,如nginx和memcached都采用了一致性Hash来作为集群负载均衡的方案。 一致性Hash算法简介 在了解一致性Hash算法之前,先来讨论一下Ha…...

PHP命令行脚本接收传入参数的三种方式
1.使用$argv or $argc参数接收,会把文件本身计算在内 $argv: 以数组形式接收保存参数 $argc:保存参数个数 <?php echo "接收到{$argc}个参数"; print_r($argv); //执行 //php /usr/local/php/bin/php test.php 接收到1个…...

【STM32】STM32学习笔记-ADC单通道 ADC多通道(22)
00. 目录 文章目录 00. 目录01. ADC简介02. ADC相关API2.1 RCC_ADCCLKConfig2.2 ADC_RegularChannelConfig2.3 ADC_Init2.4 ADC_InitTypeDef2.5 ADC_Cmd2.6 ADC_ResetCalibration2.7 ADC_GetResetCalibrationStatus2.8 ADC_StartCalibration2.9 ADC_GetCalibrationStatus2.10 A…...

1329:【例8.2】细胞 广度优先搜索
1329:【例8.2】细胞 时间限制: 1000 ms 内存限制: 65536 KB 【题目描述】 一矩形阵列由数字0 到9组成,数字1到9 代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。如: 4 10 0234500067 1034560500 2045600671 00000000…...

9款免费网络钓鱼模拟器详解
根据《2023年网络钓鱼状况报告》显示,自2022年第四季度至2023年第三季度,网络钓鱼电子邮件数量激增了1265%。其中,利用ChatGPT等生成式人工智能工具和聊天机器人的形式尤为突出。 除了数量上的激增外,网络钓鱼攻击模式也在不断进…...

linux cpu、memory 、io、网络、文件系统多种类型负荷模拟调测方法工具
目录 一、概述 二、stress介绍和使用 2.1 介绍 2.2 使用 三、stress-ng介绍和使用 3.1 介绍 3.2 使用 3.3 实例 四、sysbench 4.1 介绍 4.2 使用 五、lmbench 5.1 介绍 5.2 使用 一、概述 今天介绍两款cpu负荷调试工具,用来模拟多种类型的负载。主要用来模拟CPU…...

1018:奇数偶数和1028:I love 闰年!和1029:三角形判定
1018:奇数偶数 要求:输入一个整数,判断该数是奇数还是偶数。如果该数是奇数就输出“odd”,偶数就输出“even”(输出不含双引号)。 输入样例:8 输出样例:even 程序流程图:…...

数据密集型应用系统设计--第2章 数据模型与查询语言
一、引言 数据模型可能是开发软件最重要的部分,而且还对如何思考待解决的问题都有深远的影响。 大多数应用程序是通过一层一层叠加数据模型来构建的。每一层都面临的关键问题是:如何将其用下一层来表示? 1.作为一名应用程序开发人员,观测现实…...

yolo 分割label格式标注信息图片显示可视化查看
参考: https://github.com/ultralytics/ultralytics/issues/3137 https://blog.csdn.net/weixin_42357472/article/details/135218349?spm=1001.2014.3001.5501 需要把坐标信息在图片上显示 代码 1)只画出了坐标边缘 import cv2 import numpy as np from random impor…...

霍兰德职业兴趣测试 60题(免费版)
霍兰德职业兴趣理论从兴趣的角度出发探索职业指导的问题,明确了职业兴趣的人格观念,使得人们对于职业兴趣的认识有了质的变化。在霍兰德职业兴趣理论提出来之前,职业兴趣和职业环境二者分别独立存在,正是霍兰德的总结,…...

MySQL之视图内连接、外连接、子查询
目录 一、视图 1.1 含义 2.1 视图的基本语法 二、案例 三、思维导图 一、视图 1.1 含义 虚拟表,和普通表一样使用 视图(view)是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据…...

以报时机器人为例详细介绍tracker_store和event_broker
报时机器人源码参考[1][2],本文重点介绍当 tracker_store 类型为 SQL 时,events 表的表结构以及数据是如何生成的。以及当 event_broker 类型为 SQL 时,events 表的表结构以及数据是如何生成的。 一.报时机器人启动 [3] Rasa 对话系统启动方…...

理解JavaScript事件循环机制
JavaScript作为前端开发的核心语言之一,其事件循环机制是实现异步编程的关键。本文将深入探讨JavaScript事件循环机制,帮助您更好地理解它是如何工作的,以及如何在前端开发中充分利用这一机制。 1. 什么是事件循环? JavaScript是…...

自定义View之重写onMeasure
一、重写onMeasure()来修改已有的View的尺寸 步骤: 重写 onMeasure(),并调用 super.onMeasure() 触发原先的测量用 getMeasuredWidth() 和 getMeasuredHeight() 取到之前测得的尺寸,利用这两个尺寸来计算出最终尺寸使用 setMeasuredDimensio…...

专为Mac用户设计的思维导图软件MindNode 2023 for Mac助您激发创意!
在现代快节奏的生活中,我们经常需要整理思绪、规划项目、记录灵感。而思维导图作为一种高效的思维工具,能够帮助我们更好地整理和展现思维。现在,我们介绍一款强大而直观的思维导图软件——MindNode 2023 for Mac,助您拓展思维边界…...

Linux命令——用户和权限相关
文章目录 1 用户管理1.1 用户标识符1.2 用户添加1.3 用户删除1.4 用户配置文件1.4.1 passwd文件1.4.2 shadow文件1.4.3 group文件 2 密码管理3 权限管理 1 用户管理 1.1 用户标识符 用户标识符主要是UID和GID,UID表示用户id,GID表示用户组id。在登录的…...

linux反汇编工具: ida pro、rizinorg/cutter; ubuntu 22 flameshot延迟截图 以应对下拉菜单
rizinorg/cutter rizinorg/cutter 是 命令行反汇编工具 rizinorg/rizin 的图形化界面, 这比 ida pro跑在kvm虚拟机中方便多了, ubuntu22.04下直接下载Cutter-v2.3.2-Linux-x86_64.AppImage后即可运行,如下图: 注意 有个同名的报废品: radare2/Cutter 即 radare2的图形化界…...

【INTEL(ALTERA)】使用NiosV/m 处理器,niosv-download 为什么会失败?
说明 在英特尔 Quartus Prime Pro Edition 软件 23.3 版及更高版本中将 Nios V 处理器软件下载到非流水线Nios V/m 处理器时,可能会出现此问题。 这是由于处理器限制,仅影响非流水线Nios V/m 处理器。 以下其他处理器不受此限制的影响: 管道…...