Other

Linux使用fdisk进行分区

linux挂载完新硬盘后,需要分区并格式化后才能mount并使用  1、root 登录,查看df -h 查看当前已经挂载到系统的磁盘   2、fdisk -l 查看当前系统内所有的磁盘,找到刚刚没有看到的磁盘,例如/dev/vdb   3、fdisk /dev/vdb 格式化该磁盘 m是查看帮助 n是增加新分区,d是删除分区 输入 n 回车后 , 来创建一个分区 , 创建分区的时候它会提示你是要创建一个主分区还是一个扩展分区 , 如果默认敲回车的话他就会创建一个主分区 , 主分区就是使用默认的 MBR-Main Boot Record(主引导记录) 来创建四个主分区 . 然后就是需要输入一个分区号 , 默认回车就是设置为 1 , 我们也可以设置为 2 或 3 或 4. 然后就是需要我们来设置它的起始扇区 , 一般起始扇区就是 2048 开始的. 此时就是来设置它的结束扇区 , 如果此时直接回车的话就是将这整块硬盘作为一个分区了 , 如果你想给这个分区划分为1个G或者是划分为2个G , 那么这个时候就有两个方法 。第一种就是对扇区进行一个计算 , 一个扇区是占 512字节 , 那个1个G的话就需要自己来算1个G有多少个扇区(512字节) 。第二种就是给分区设置1个G就直接使用 +1G 即可. 设置完毕后我们来看下这个分区 , 输入 p 回车 。

javaSE-多态

目录instanceof关键字final关键字抽象类和抽象方法接口 instanceof关键字 https://www.cnblogs.com/huachuantingyumian/p/16207004.html final关键字 当类使用final关键字修饰时,类不允许被继承。 public final class A{ } 当方法使用final关键字修饰时,方法不允许被重写。 public final void a() 当基本类型使用final修饰时,其值不可修改。 当引用类型使用final修饰时,引用类型不允许指向其他对象。 final int a = 10;//不允许修改值 final String s = string;//不允许指向其他对象 抽象类和抽象方法 使用abstract关键字定义抽象类和抽象方法。 public abstract class A { public abstract void a(); } 允许在抽象类中定义具体方法。 public abstract class A { public abstract void a(); public void a1() { System.out.println(a1); } } 抽象类的子类必须实现其抽象方法,除非子类也是抽象类。 public class A1 extends A{ @Override public void a() { } } public abstract class A1 extends A{ } 抽象类无法通过new关键字直接创建实例,只能创建包含实现的匿名内部类实例。 A a = new A() { @Override public void a() { } }; 抽象类支持向上转型和向下转型 public abstract class A { public abstract void a(); } public class A1 extends A{ @Override public void a() { System.

java 流程控制 do while 循环

对于while来说,如果不满足条件则不能进入循环 ,但有时候我们需要不满足也至少执行一次  do while 和while 循环相似, 不同的是do while 至少会执行一次 语法 do{  //代码语句 }while(布尔表达式);  while 和do while 的区别 while 前判断后执行,do while 前执行后判断 do while 至少保证我们的循环体至少执行一次   

LeetCode-数据库197(lead( )函数)

197题干 编写一个 SQL 查询,来查找与之前(昨天的)日期相比温度更高的所有日期的 id 。 返回结果 不要求顺序 。 SQL架构 Create table If Not Exists Weather (id int, recordDate date, temperature int) Truncate table Weather insert into Weather (id, recordDate, temperature) values ('1', '2015-01-01', '10') insert into Weather (id, recordDate, temperature) values ('2', '2015-01-02', '25') insert into Weather (id, recordDate, temperature) values ('3', '2015-01-03', '20') insert into Weather (id, recordDate, temperature) values ('4', '2015-01-04', '30') 示例     题解 select Id from ( select temperature, recordDate, lead(id,1) over (order by recordDate) as 'Id', lead(recordDate,1) over (order by recordDate) as 'nextDate', lead(temperature,1) over (order by recordDate) as 'nextTemp' from weather )t where nextTemp > temperature and DATEDIFF(nextDate, recordDate) = 1  窗口函数lead( ) # lead()语法 LEAD(<expression>[,offset[, default_value]]) OVER ( PARTITION BY (expr) ORDER BY (expr) ) offset 是从当前行向前行的行数,以获取值。offset 必须是一个非负整数。如果offset 为零,则 LEAD() 函数计算 expression当前行的值。如果省略 offset,则 LEAD() 函数默认使用一个。如果没有后续行,则 LEAD() 函数返回 default_value 。

7-10周Java总结

7-10周Java总结 前言 经过了前几周的学习之后,对于Java有了更进一步的理解,这几周的学习明显要比之前几周难一些,前五周基本上是一些基础知识的学习,没有涉及到特别难的东西,而这几周所学习的知识点难度有所提升,并且所作的题目也比之前的难很多,这让我有些力不从心。继承、多态、抽象、接口,再到后来的链表学习,难度在一点点加大,虽然题量几乎没有大变化,但是由于难度有变化,所以我需要花费的时间更多了。  PTA PTA上面的题目主要有两种类型,一部分是一些基础类问题,主要目的是帮我们夯实基础,将基础语法、基础知识一遍遍重复,应用到那些题目中去,从而更加熟练的掌握这些基础知识,以便之后的使用;另一部分是一些实验类的题目,让我们对Java的特点有更深刻的了解,让我们的代码逐渐规范,同时能够锻炼我们的思维能力以及对于题目的理解能力。 第四次 这次作业的三道题是循序渐进的,由点到线再到面,一步一步由简到繁。  第一题 输入连个点的坐标,计算两点之间的距离 输入格式: 4个double类型的实数,两个点的x,y坐标,依次是x1、y1、x2、y2,两个点的坐标之间以空格分隔,每个点的x,y坐标以英文“,”分隔。例如:0,0 1,1或0.1,-0.3 +3.5,15.6。若输入格式非法,输出Wrong Format。若输入格式合法但坐标点的数量超过两个,输出“wrong number of points”。 输出格式: 计算所得的两点之间的距离。例如:1.4142135623730951 第一题比较简单,只是计算两点之间的坐标,相较来说还是比较容易做出来的。   第二题 用户输入一组选项和数据,进行与直线有关的计算。选项包括:1:输入两点坐标,计算斜率,若线条垂直于X轴,输出Slope does not exist。2:输入三个点坐标,输出第一个点与另外两点连线的垂直距离。3:输入三个点坐标,判断三个点是否在一条线上,输出true或者false。4:输入四个点坐标,判断前两个点所构成的直线与后两点构成的直线是否平行,输出true或者false.5:输入四个点坐标,计算输出前两个点所构成的直线与后两点构成的直线的交点坐标,x、y坐标之间以英文分隔,,并输出交叉点是否在两条线段之内(不含四个端点)的判断结果(true/false),判断结果与坐标之间以一个英文空格分隔。若两条线平行,没有交叉点,则输出is parallel lines,have no intersection point。 输入格式: 基本格式:选项+:+坐标x+,+坐标y+ +坐标x+,+坐标y。例如:1:0,0 1,1如果不符合基本格式,输出Wrong Format。如果符合基本格式,但输入点的数量不符合要求,输出wrong number of points。不论哪个选项,如果格式、点数量都符合要求,但构成任一条线的两个点坐标重合,输出points coincide, 类图如下:    这一题涉及到了一些线之间的计算,明显要比第一题难一些,特别是在判断两条线是否平行的时候,由于我没有最初考虑斜率不存在的情况,所以一直在出错,经过好久的尝试才解决掉。还有一个问题就是两直线交点的判断,我最初一直没有完成交点是否在线段上的判断,也是经过好久的写写改改才完成。  第三题 用户输入一组选项和数据,进行与三角形有关的计算。选项包括:1:输入三个点坐标,判断是否是等腰三角形、等边三角形,判断结果输出true/false,两个结果之间以一个英文空格符分隔。2:输入三个点坐标,输出周长、面积、重心坐标,三个参数之间以一个英文空格分隔,坐标之间以英文,分隔。3:输入三个点坐标,输出是钝角、直角还是锐角三角形,依次输出三个判断结果(true/false),以一个英文空格分隔,4:输入五个点坐标,输出前两个点所在的直线与三个点所构成的三角形相交的交点数量,如果交点有两个,则按面积大小依次输出三角形被直线分割成两部分的面积。若直线与三角形一条线重合,输出The point is on the edge of the triangle5:输入四个点坐标,输出第一个是否在后三个点所构成的三角形的内部(输出in the triangle/outof triangle)。必须使用射线法,原理:由第一个点往任一方向做一射线,射线与三角形的边的交点(不含点本身)数量如果为1,则在三角形内部。如果交点有两个或0个,则在三角形之外。若点在三角形的某条边上,输出on the triangle 输入格式: 基本格式:选项+:+坐标x+,+坐标y+ +坐标x+,+坐标y。点的x、y坐标之间以英文,分隔,点与点之间以一个英文空格分隔。 输出格式: 基本输出格式见每种选项的描述。异常情况输出:如果不符合基本格式,输出Wrong Format。如果符合基本格式,但输入点的数量不符合要求,输出wrong number of points。如果输入的三个点无法构成三角形,输出data error。注意:输出的数据若小数点后超过6位,只保留小数点后6位,多余部分采用四舍五入规则进到最低位。小数点后若不足6位,按原始位数显示,不必补齐。例如:1/3的结果按格式输出为 0.

Bat系列---【windows11家庭版如何安装hyper-v虚拟机?】

1.在桌面上新建hyper.txt文件,把下面的内容粘进去 pushd %~dp0 dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hv.txt for /f %%i in ('findstr /i . hv.txt 2^>nul') do dism /online /norestart /add-package:%SystemRoot%\servicing\Packages\%%i del hv.txt Dism /online /enable-feature /featurename:Microsoft-Hyper-V -All /LimitAccess /ALL Pause 2.保存,并把文件名后缀txt改成bat。 3.右键,用管理员身份运行,等待程序安装完(时间有点长)   4.重启电脑。

网站SQL注入之数字型注入和字符型注入

什么是SQL注入- (SQL Injection)是一种常见的Web安全漏洞,攻击者利用这个漏洞,可以访问或修改数据,或者利用潜在的数据库漏洞进行攻击。1,是一种将SQL语句插入或添加到应用(用户)的输入参数中的攻击2,这些参数传递给后台的SQL数据库服务器加以解析并执行 SQL注入分类-- 按数据类型分类,1,分为 整形注入 整型注入 (不需要闭合,大多数不需要注释符号)2,字符串类型注入 (需要闭合,或者需要注释) -- 按注入语法分类,1,UNION query SQL injection(可联合查询注入)2,Error-based SQL injection(报错型注入)3,Boolean-based blind SQL injection(布尔型注入)4,Time-based blind SQL injection(基于时间延迟注入)5,Stacked queries SQL injection(可多语句查询注入) http://www.wyzdjg.top/payload/sql/number.php?id=1 and 1=1 页面正常http://www.wyzdjg.top/payload/sql/number.php?id=1 and 1=2 页面不正常说明后台sql语句再接受id这个参数的时候,并没有给参数添加引号,所以 1=1(真)和 1=2(假)生效了。如下 $id = $_GET['id']; $sql = select * from admins where id = $id; #所以加上 and 1=1 语句就变为: select * from admins where id = 1 and 1=1 #为真有数据 select * from admins where id = 1 and 1=2 #为假查不到数据 $id = $_GET['id']; $sql = select * from admins where id = $id; #所以加上 and 1=1 语句就变为: select * from admins where id = 1 and 1=1 #为真有数据 select * from admins where id = 1 and 1=2 #为假查不到数据 http://www.

在Apache Cassandra数据库软件中报告高严重性RCE安全漏洞

研究人员披露了ApacheCassandra一个现已修补的高严重性安全漏洞的细节,如果这个漏洞得不到解决,可能会被滥用来获取受影响安装的远程代码执行(RCE)。 DevOps公司JFrog的安全研究员在周二发表的一篇技术文章中称:“Apach的这个安全漏洞很容易被利用,有可能对系统造成严重破坏,但幸运的是,它只在Cassandra的非默认配置中出现。” Apache Cassandra是一个开源的、分布式的NoSQL数据库管理系统,用于管理跨商品服务器的大量结构化数据。 该漏洞被跟踪为CVE-2021-44521(CVSS得分:8.4),该漏洞涉及一个特定的场景,其中用户定义函数(udf)的配置被启用,有效地允许攻击者利用NashornJavaScript引擎,逃离沙箱,并实现不可信代码的执行。 具体来说,我们发现Cassandra部署易受CVE-2021-44521的攻击。Yaml配置文件包含以下定义: enable_user_defined_functions:true enable_scripted_user_defined_functions:true enable_user_defined_functions_threads:false “当[enable_user_defined_functions_threads]选项设置为false,所有UDF调用函数在卡珊德拉守护线程运行,安全经理一些权限,“Kaspi说,从而允许敌人禁用安全沙箱的经理和突破和在服务器上运行任意shell命令。 ApacheCassandra用户建议升级到版本3.0.26,3.11.12和4.0.2,以避免漏洞可能的利用,它通过添加一个新的标志“allow_extra_insecure_udfs”来解决这个缺陷,该标志默认设置为false,并防止关闭安全管理器。 “潜伏”在软件中的漏洞为黑客提供了破坏网络及数据的“捷径”。数据显示,90%以上的网络安全事件是由软件自身安全漏洞被利用导致的,可以说,不安全的软件大大提高了网络系统遭到攻击的风险。 通过安全可信的自动化静态代码检测工具能有效减少30-70%的安全漏洞!诸如缓冲区溢出漏洞、注入漏洞及XSS等。此外静态代码检测有助于开发人员第一时间发现并修正代码缺陷,这将为开发人员节省大量时间,同时也能降低企业维护安全问题的成本。

linux 搭建sftp服务器

1.创建sftp用户组 groupadd sftp 2.创建sftp用户并加入到sftp用户组 useradd -g sftp sftp 修改sftp用户密码 passwd sftp 3.创建/data/sftp/目录,并将它指定为sftp组用户的home目录 mkdir -p /data/sftp usermod -d /data/sftp sftp 4.修改ssh 配置文件/etc/ssh/sshd_config 将如下这行注释掉 Subsystem sftp /usr/libexec/openssh/sftp-server 添加 以下几行 Subsystem sftp internal-sftp Match Group sftp ChrootDirectory /data/sftp/ 设置用户上传文件的根目录 ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no (修改原有的 yes为no 不起用转发代理) 注意: ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root,即/data及子目录/data/sftp/ 属主和属组必须是root ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,也就是说权限最大设置只能是755 5.设置Chroot目录权限 chown root:root /data/sftp/ chmod 755 /data/sftp/ 6.新建一个目录供sftp用户上传文件,这个目录属主属组为sftp,所有者有写入权限所有组无写入权限(即权限为755) mkdir /data/sftp/upload chown sftp:sftp /data/sftp/upload chmod 755 /data/sftp/upload 7.重启sshd服务测试 8.在linux其他服务器上进行验证,sftp 用户名@ip地址 sftp [email protected] get 下载文件 put 上传文件 需进入到upload目录下执行put/get 上传下载

Linux命令学习八:gzip、zip、tar

压缩与解压缩:gzip、gunzip gzip命令  使用gzip命令压缩文件的时候,需要注意以下几点:  1. gzip命令只能压缩文件,而不能压缩目录; 2. gzip压缩完目标文件后,源文件会被删除,只留下压缩后的文件; 3. gzip后面可以跟多个文件,命令会生成多个压缩文件,而不会把多个文件压缩到一个文件; 4. 文件经它压缩过后,其名称后面会多出.gz的扩展名; 基本语法 gzip [参数] 文件 参数说明 参数 说明 -d 解开压缩文件 -v 显示执行过程 -l 显示压缩文件的信息 -r 递归压缩 实例  将dir1里面的文件全部压缩,这个命令是将dir1下面的文件,每个文件都压缩成独立的压缩文件 gzip -r dir1 gunzip命令  gunzip命令就是用来角压缩gzip命令压缩的文件。跟gzip一样,解压完文件后,源压缩文件就会被自动删除。 基本语法 gunzip [参数] 文件.gz 参数说明 参数 说明 -r 递归解压缩 -v 显示解压缩执行过程 实例  解压dir1下面的所有压缩文件