泷羽sec专题课笔记-- Linux作业--开机自启动方法以及破解

  本笔记为 泷羽sec 《红队全栈课程》学习笔记,课程请可自行前往B站学习,课程/笔记主要涉及网络安全相关知识、系统以及工具的介绍等,请使用该课程、本笔记以及课程和笔记中提及工具的读者,遵守网络安全相关法律法规,切勿进行违法违规违纪的操作。

写在最前面的话,我们为什么要学习网络安全这门技术:

  • 维护国家安全

  防范网络攻击:网络安全威胁已成为国家安全的重要挑战。学习网络安全有助于识别和防范来自国内外的网络攻击,防止敌对势力通过网络手段窃取敏感信息、破坏关键基础设施或干扰社会正常运作。
  保护关键基础设施:现代社会高度依赖网络技术,金融系统、交通网络、电力供应等关键基础设施都依赖于稳定的网络环境。掌握网络安全知识有助于保护这些基础设施免受网络攻击,确保国家的正常运转。

  • 促进经济发展

  保障数字经济安全:数字经济已成为国家经济增长的重要引擎。通过学习网络安全,可以保障数字经济的健康发展,防止数据泄露和网络犯罪对经济活动的干扰。
  增强国际竞争力:在全球化的背景下,网络安全技术水平直接影响国家的国际竞争力。掌握先进的网络安全技术和策略,有助于提升国家在全球数字经济中的地位。

  • 提升社会稳定

  防范社会风险:网络犯罪和网络恐怖主义对社会稳定构成严重威胁。学习网络安全有助于及时发现和应对这些风险,维护社会的和谐与稳定。
  保护公民权益:网络安全直接关系到公民的隐私权和信息安全。通过学习网络安全,可以更好地保护公民的合法权益,增强公众对政府和企业的信任。

  • 推动科技进步

  创新安全技术:网络安全领域的技术创新不断推动信息技术的进步。学习网络安全有助于推动新技术的研发和应用,提升国家在科技领域的整体实力。
  促进国际合作:网络安全是全球性问题,需要各国共同努力应对。通过学习网络安全,可以参与国际网络安全合作,共同制定国际标准和规范,提升全球网络安全水平。

  • 强化法治建设

  完善法律法规:学习网络安全有助于推动和完善相关法律法规的制定和实施,确保网络安全工作有法可依、有章可循。
  提升执法能力:掌握网络安全知识可以提升执法部门的网络侦查和取证能力,有效打击网络犯罪,维护法律权威。

  • 培养专业人才

  构建人才梯队:网络安全领域需要大量高素质的专业人才。通过系统学习和培训,可以培养出一批具备专业知识和实战经验的网络安全专家,为国家的网络安全事业提供坚实的人才保障。

  总之,学习网络安全不仅是个人职业发展的需要,更是维护国家安全、促进经济发展、保障社会稳定和推动科技进步的重要手段。通过不断提升网络安全意识和能力,我们可以更好地应对日益复杂的网络安全挑战,为实现国家的长期稳定和发展贡献力量。


重要的事情说三遍!!!重要的事情说三遍!!!重要的事情说三遍!!!

  本节课程相关内容具有一定破坏性,请勿在物理机上操作,也请勿用于实战,请仅在实验环境 / 靶场环境中进行操作,建议只在自己已经做好镜像备份,并且里面没有任何重要资料的虚拟机中操作,虚拟机做好快照克隆镜像操作,玩坏了可以恢复。


一、作业要求和要点


  做⼀个像Windows中的⼀样⽆限重启脚本(了解LINUX中的⾃启动)

  ( 注意: 先拍个快照--别玩脱了)


1、实验环境配置

  物理机:win10

  虚拟机:vmware + Kali Linux

2、关于系统重启 和 系统无限重启 的实现

  linux中是 reboot ,我们可以直接在命令行中输入 reboot 以实现重启的效果,我们可以利用该条命令,组合 bash 脚本功能,利用 Linux 系统的一些自启动特性,比如 crontab / rc.local / init.d / systemd 等方式或者方法,让系统做到开机就重启,达到无限重启的目的。

3、实验的意义

  核心目的在于‌探索并实践 Linux 系统的无限重启现象及其解决方案‌,通过编写特定的脚本,以及对 Linux 系统自启动各种方式的利用,我们成功触发无限重启这个实验目的。

  同时通过这次实验,我们也熟悉并掌握 恢复模式 或者 编辑引导程序 将异常机器从故障中进行脱离排除,一定程度上提升了我们应对系统突发状况的能力‌。

二、使用 crontab 实现开机 reboot

1、crontab 基本用法

  我们使用 cron 任务计划实现开机自启动,首先看下 crontab 的用法:

  crontab 是 Unix 和 Linux 的一个命令,用于设置周期性被执行的任务。这些任务被称为“cron 作业”,并且由 cron 守护进程在后台自动运行。crontab 文件包含了这些作业的列表以及它们应该被执行的时间,其常用的命令如下:

crontab -e  # 编辑当前用户任务计划

crontab -l   # 查看当前用户任务计划

crontab -r   # 删除当前用户任务计划

crontab filename # 指定的文件内容替换当前用户的 crontab

  首次使用会提示使用哪种文本编辑器,1.是nano,2 和 3 都是vim,2是完整版,3是精简版。

  crontab 文件中的每一行都代表一个定时任务,格式如下:

* * * * * command_to_be_executed

- - - - -

| | | | |

| | | | +----- 星期几 (0 - 7) (Sunday=0 or 7)

| | | +------- 月份 (1 - 12)

| | +--------- 日期 (1 - 31)

| +----------- 小时 (0 - 23)

+------------- 分钟 (0 - 59)

* * * * * 表示每分钟

0 * * * * 表示

  • 分钟‌:指定任务应该在哪一分钟执行(0-59)。
  • 小时‌:指定任务应该在哪个小时执行(0-23)。
  • 日期‌:指定任务应该在月份的哪一天执行(1-31)。
  • 月份‌:指定任务应该在哪个月份执行(1-12)。
  • 星期几‌:指定任务应该在星期几执行(0-7,其中 0 和 7 都代表星期日)。

2、kali 中创建一个开机重启的任务计划 

  接下来我们使用 cron 任务计划实现开机自启动,我们需要编写一个脚本。注意,kali 用户使用下面2条命令,分别是创建两个任务计划:

crontab -e                # 这条是创建 kali 用户的任务计划

sudo crontab -e       # 这条是创建 root 用户的任务计划

  因为最终创建完任务计划,在系统中是有个文件的,这个文件的目录是在 /var/spool/cron/crontabs 目录中。

  虽然 kali 用户可以用 reboot 来直接重启系统,但是貌似写在任务计划的bash脚本中的 reboot是无法直接启动或执行的的。另外,虽然 root 用户也可以直接 reboot 命令重启系统,但是写在任务计划的bash脚本中的 reboot 必须前面加上 sudo 再能实现重启,另外这个脚本必须 chmod +x 才能被计划任务启动。

  所以,这个脚本被 cron 执行并且实时重启,必须有三个条件:1) sudo reboot ;2)用 sudo crontab -e 添加到 root 的用户任务计划中去;3)必须有 x 权限。最终脚本和任务计划应该是下面这样:

# 虽然编辑下面这个文件也可以达到同样的效果
# 但最好还是直接用 sudo crontab -e 进行编辑
┌──(kali㉿kali)-[~]
└─$ sudo tail -1 /var/spool/cron/crontabs/root
* * * * * /home/kali/rootscript.bash

┌──(kali㉿kali)-[~]
└─$ cat ~/rootscript.bash
#!/bin/bash

sudo reboot


┌──(kali㉿kali)-[~]
└─$ ls -l rootscript.bash      
-rwxrwxr-x 1 kali kali 27 Nov 30 00:57 rootscript.bash

  上面这个任务计划每一分钟会执行一次,所以最长一分钟内就会重新启动,重启后只要赶在第二次执行计划之前,快速把脚本改掉,或者把任务计划删除掉即可恢复正常。

3、crontab 的特殊时间符

  crontab 另有如下几个特殊时间符,我们关注到 @reboot 是启动时运行,使用这个特殊时间符可以缩短启动的间隔,即开机就会立即启动。

  • @reboot:系统启动时运行。
  • @yearly 或 @annually:每年运行一次,相当于 0 0 1 1 *
  • @monthly:每月运行一次,相当于 0 0 1 * *
  • @weekly:每周运行一次,相当于 0 0 * * 0
  • @daily 或 @midnight:每天运行一次,相当于 0 0 * * *
  • @hourly:每小时运行一次,相当于 0 * * * *

  接下来,我们模拟自己的操作系统被写入恶意脚本开机就重启,通过 恢复模式 进行恢复,因为 kali linux 的 VMware预装版并没有设置 root 的密码,root 尚在锁定状态,请先使用下面的命令给root账号设置个简单的密码。

sudo passwd root


另外再次重申如下:

  重要的事情说三遍!!!重要的事情说三遍!!!重要的事情说三遍!!!

  本节课程相关内容具有一定破坏性,请勿在物理机上操作,也请勿用于实战,请仅在实验环境 / 靶场环境中进行操作,建议只在自己已经做好镜像备份,并且里面没有任何重要资料的虚拟机中操作,虚拟机做好快照克隆镜像操作,玩坏了可以恢复。


三、有 root 账户情况下的恢复

  假设我们已经给 root 账户创建好了一个简单的密码(太复杂怕你们忘记),然后我们使用下面的命令,给 root 的 crontab 添加一条任务计划。

@reboot /home/kali/rootscript.bash

┌──(kali㉿kali)-[~]
└─$ cat ~/rootscript.bash            
#!/bin/bash

sudo reboot

  重启后,发现会陷入到循环重启过程中,现在我们开始恢复:

1、开机界面选择 Advanced Options

2、选择Recovery Mode

3、输入 root 密码登录系统

  有 root 密码的情况下,这里输入密码即可进入 shell 环境。

4、删掉 / 注释掉任务计划 或者 删除掉 恶意bash 脚本

5、保存退出后,重启 reboot 即可恢复正常

  kali linux 已经恢复正常。

6、视频演示

模拟系统被植入恶意代码导致无限重启的恢复(有root密码情况下)

四、无 root 账户情况下的恢复(或者即便有 root 但无效的情况下)

1、按 e 进入引导界面

2、添加 linux 这行,末尾添加 init=/bin/bash 直接进入 shell 环境

3、ctrl +x 或者 F10 重启,进入 shell,重新挂载

命令执行过程中发现 Read-only 的话重新挂载

mount -o remount,rw /

4、排查恶意脚本后,如无法正常关机或重新启动

echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger

5、 视频演示

模拟系统被植入恶意代码导致无限重启的恢复(无root密码情况下,或者即便有root密码也无效的情况下)

五、使用 rc.local 实现开机 reboot

  rc.local 目前许多linux 的发行版已经很少使用这个文件了,但是它可以做到无限循环开机。我们先要在 /etc 目录下创建这个文件:

sudo touch /etc/rc.local

  然后再在该文件内写入bash 脚本内容,并给它 +x 权限:

┌──(kali㉿kali)-[~]
└─$ sudo cat /etc/rc.local                
#!/bin/bash

sudo reboot
exit 0

┌──(kali㉿kali)-[~]
└─$ sudo chmod +x /etc/rc.local

  最后我们重启 rc-local 服务:

sudo systemctl restart rc-local 

  重启服务后 Linux 系统马上开始无限循环重启了。使用上面的有 root 账户方式进行恢复即可。

六、使用 init.d 实现开机 reboot

  在 /etc/init.d/ 文件夹中写入自启动脚本,并 sudo ln -s 至运行级别相应的 /etc/rc?.d/ 文件夹中,改名成S+数字+脚本名.sh 也可以实现开机就循环自启动的效果。/rc?.d/ 中的?是个通配符,它的编号就是相应的运行级别(runlevel),runlevel 和rc?.d中的级别一致,我们 ls -d 查看下:

┌──(kali㉿kali)-[~]
└─$ ls -d /etc/rc?.d/
/etc/rc0.d/  /etc/rc1.d/  /etc/rc2.d/  /etc/rc3.d/  /etc/rc4.d/  /etc/rc5.d/  /etc/rc6.d/  /etc/rcS.d/
                                                                                                                                                       
┌──(kali㉿kali)-[~]
└─$ ls -dl /etc/rc?.d/
drwxr-xr-x 2 root root 4096 Nov  3 11:53 /etc/rc0.d/
drwxr-xr-x 2 root root 4096 Nov  3 11:53 /etc/rc1.d/
drwxr-xr-x 2 root root 4096 Nov  3 11:53 /etc/rc2.d/
drwxr-xr-x 2 root root 4096 Nov  3 11:53 /etc/rc3.d/
drwxr-xr-x 2 root root 4096 Nov  3 11:53 /etc/rc4.d/
drwxr-xr-x 2 root root 4096 Nov  3 11:53 /etc/rc5.d/
drwxr-xr-x 2 root root 4096 Nov  3 11:53 /etc/rc6.d/
drwxr-xr-x 2 root root 4096 Aug 18 18:30 /etc/rcS.d/

  我们可以用 runlevel 命令当前运行级别是哪个,普通 kali 用户登录的运行级别一般是 5 ,同时查看下 /etc/rc5.d/ 文件夹下的文件,发现里面所有的文件都是从 /etc/init.d/ 中 ls -s 过来的,另外我们发现有 K 开头的文件也有 S 开头的文件,其中 S 是开机需要启动的脚本,K 是开机需要停止的服务,而数字是启动或者停止的顺序,具体如下:

┌──(kali㉿kali)-[~]
└─$ runlevel
N 5
                                                                                                                                                       
┌──(kali㉿kali)-[~]
└─$ cd /etc/rc5.d      
                                                                                                                                                       
┌──(kali㉿kali)-[/etc/rc5.d]
└─$ ls -n             
total 0
lrwxrwxrwx 1 0 0 17 Aug 18 15:55 K01apache2 -> ../init.d/apache2
lrwxrwxrwx 1 0 0 29 Aug 18 15:55 K01apache-htcacheclean -> ../init.d/apache-htcacheclean
lrwxrwxrwx 1 0 0 16 Aug 18 15:52 K01atftpd -> ../init.d/atftpd
lrwxrwxrwx 1 0 0 19 Aug 18 15:42 K01bluetooth -> ../init.d/bluetooth
# 信息较多未全部展示
lrwxrwxrwx 1 0 0 14 Aug 18 15:37 S01cron -> ../init.d/cron
lrwxrwxrwx 1 0 0 14 Aug 18 15:38 S01dbus -> ../init.d/dbus
lrwxrwxrwx 1 0 0 16 Nov  3 11:53 S01docker -> ../init.d/docker
lrwxrwxrwx 1 0 0 17 Aug 18 15:42 S01haveged -> ../init.d/haveged
# 信息较多未全部展示

  知道这个模式后,我们把循环启动脚本软连接到目前运行级别对应的 /etc/rc5.d/ 文件夹中,使用的命令如下:

┌──(kali㉿kali)-[/etc/init.d]
└─$ cat script.sh
#!/bin/bash

sudo reboot
exit 0

┌──(kali㉿kali)-[/etc/init.d]
└─$ sudo ln -s  /etc/init.d/script.sh /etc/rc5.d/S99script.sh
                                                                                                                                            
┌──(kali㉿kali)-[/etc/init.d]
└─$ ll /etc/rc5.d/S99script.sh 
lrwxrwxrwx 1 root root 21 Nov 30 20:24 /etc/rc5.d/S99script.sh -> /etc/init.d/script.sh

  我们尝试开机,会发现系统自动开始无限循环启动,此时使用上述有 root 密码的方式即可恢复。我们在 恢复模式 下恢复的过程中发现, 恢复模式 的 runlevel 是 1,是不是如果把上面 /etc/init.d/ 的无限启动脚本 ln -s 到 /etc/rc1.d/ 中去的话,是不是 恢复模式 也会出问题呢?

  我们处理下软连接,进行如下操作:

  此时 reboot 系统即便进入 恢复模式 ,也无法正常进入 root 的 shell ,也就是说 rc1.d 的脚本会先执行。如果需要恢复需要采用上面无 root 账户恢复的方法,请参考上文重新挂载,具体演示略。

七、使用 systemd 实现开机 reboot

  我们创建一个叫 reboot.service 的服务,enable 的时候会无限重启,disable 的时候不会无限重启,具体操作如下,首先在 /etc/systemd/system/ 目录下创建一个 reboot.service 的文件:

[Unit]
Description=Reboot Loop Service (Experimental and Dangerous)

[Service]
ExecStart=/bin/bash -c 'sudo reboot'
User=root

[Install]
WantedBy=multi-user.target

  然后按如下操作,当我们对服务进行 start 或者 restart 服务时,系统就会无限重启:

sudo systemctl daemon-reload         
systemctl enable reboot.service
sudo systemctl restart reboot.service   # 或者 start 也行

  后续可以使用 恢复模式 进行恢复,恢复模式 输入 root 账户密码,并在 恢复模式 中,使用下条命令关闭服务,系统就会恢复正常:

systemctl enable reboot.service

 八、修改 .bashrc / .zshrc 

  .bashrc / .zshrc 会在打开一个 shell 的时候加载,这给我们设置重启提供了条件,我们假设 bash / zsh 环境下切换到 root 用户,或者 root 用户打开一个 bash / zsh 的时候就重启。

  我们需要分别设置 /root/.bashrc 和 /root/.zshrc 2个文件,在文件末尾添加如下代码,注意有严格的格式要求,包括空格:

if [ "$USER" == "root" ]; then

    reboot

fi

   这样我们从 kali 账户,使用 su root 切换到 root 用户时,系统就会重启。注意,以下几种情况均会重启:

  针对 .bashrc ,在 bash 环境下切换到 root 会重启:

┌──(kali㉿kali)-[~]
└─$ bash --norc
bash-5.2$ su root
Password:           # 输完 root 密码回车,就会重启

  针对 .zshrc ,在 kali 默认 zsh 环境中,切换到 root 就会重启 :

┌──(kali㉿kali)-[~]
└─$ su root
Password: 

  针对 .zshrc ,在 恢复模式 中,进入 root 的 shell(实际就是 zsh )也会重启:

   以上因为是写在 root 的 .bashrc / .zshrc 文件中,所以我们正常启动用 kali 账户登录就不会触发重启,使用 sudo vim 命令修改两个文件即可恢复正常。

九、修改 .profile

  有别于 .bashrc / .zshrc 是在 shell 加载的时候触发,家目录中的 .profile 是在登录的时候触发,登录包括 kali 的视窗登录,和通过 ssh 登录。代码原理和本身同上面的 .bashrc / .zshrc 一样。这次我们先修改 kali 账户家目录的 .profile,具体修改如下:

vim ~/.profile

# 文末添加下列3行代码并 :wq 退出

if [ "$USER" == "kali" ]; then

    sudo reboot

fi

  然后我们启动 ssh 服务:

sudo systemctl restart ssh

  使用 windows 自带的 cmd 或者其他 ssh 登录工具登录,登录后提示如下,此时需要我们为 .profile 脚本中的 sudo reboot 输入密码,如果我们正确输入 kali 账户密码,则立即会重启,如果不想重启,此时可以按 ctrl + c 退出密码输入。

  我们再做个实验,用 kali 用户的 sudo 权限修改 root 用户家目录中的 .profile ,具体如下:

vim /root/.profile

# 文末添加下列3行代码并 :wq 退出

if [ "$USER" == "root" ]; then

    sudo reboot

fi

  修改完毕后,我们重启操作系统,到登录界面用 root 用户进行登录,登录后立即重启。注意,如果我们修改 kali 用户中的 .profile 文件去掉 sudo reboot 前面的 sudo ,也可以达到同样的效果:

十、再次重申

重要的事情说三遍!!!重要的事情说三遍!!!重要的事情说三遍!!!

  本节课程相关内容具有一定破坏性,请勿在物理机上操作,也请勿用于实战,请仅在实验环境 / 靶场环境中进行操作,建议只在自己已经做好镜像备份,并且里面没有任何重要资料的虚拟机中操作,虚拟机做好快照克隆镜像操作,玩坏了可以恢复。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/929225.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深度学习之pth转换为onnx时修改模型定义‌

文章目录 概述实现步骤python代码 概述 在将PyTorch模型(.pth文件)转换为ONNX格式时,通常的转换过程是通过torch.onnx.export函数来实现的。这个过程主要是将PyTorch模型的计算图导出为ONNX格式,以便在其他框架或环境中使用。 在…

LinuxTCP编程详解

目录 一、创建套接字 二、绑定套接字 示例 三、监听套接字 四、等待套接字 五、服务器端示例 六、连接套接字 七、客户端示例 八、Send和Recv C/S模式:Client客户端、Server服务器 TCP编程基于socket套接字实现,因此也习惯称为Socket编程 一、…

深入解析级联操作与SQL完整性约束异常的解决方法

目录 前言1. 外键约束与级联操作概述1.1 什么是外键约束1.2 级联操作的实际应用场景 2. 错误分析:SQLIntegrityConstraintViolationException2.1 错误场景描述2.2 触发错误的根本原因 3. 解决方法及优化建议3.1 数据库级别的解决方案3.2 应用层的解决方案 4. 友好提…

「Mac畅玩鸿蒙与硬件41」UI互动应用篇18 - 多滑块联动控制器

本篇将带你实现一个多滑块联动的控制器应用。用户可以通过拖动多个滑块,动态控制不同参数(如红绿蓝三色值),并实时显示最终结果。我们将以动态颜色调节为例,展示如何结合状态管理和交互逻辑,打造一个高级的…

数字IC前端学习笔记:脉动阵列的设计方法学(以串行FIR滤波器为例)

相关阅读数字IC前端_日晨难再的博客-CSDN博客https://blog.csdn.net/weixin_45791458/category_12173698.html?spm1001.2014.3001.5482 引言 脉动结构(也称为脉动阵列)表示一种有节奏地计算并通过系统传输数据的处理单元(PEs)网络。这些处理单元有规律地…

图片预处理技术介绍4——降噪

图片预处理 大家好,我是阿赵。   这一篇将两种基础的降噪算法。   之前介绍过均值模糊和高斯模糊。如果从降噪的角度来说,模糊算法也算是降噪的一类,所以之前介绍的两种模糊可以称呼为均值降噪和高斯降噪。不过模糊算法对原来的图像特征的…

【数据中心建设资料】数据中心安全建设解决方案,数据中心整理解决方案,数据中心如何做到安全保障,数据中台全方案(Word全原件)

第一章 解决方案 1.1 建设需求 1.2 建设思路 1.3 总体方案 信息安全系统整体部署架构图 1.3.1 IP准入控制系统 1.3.2 防泄密技术的选择 1.3.3 主机账号生命周期管理系统 1.3.4 数据库账号生命周期管理系统 1.3.5 双因素认证系统 1.3.6 数据库审计系统 1.3.7 数据脱敏系统 1.3.8…

十,[极客大挑战 2019]Secret File1

点击进入靶场 查看源代码 有个显眼的紫色文件夹,点击 点击secret看看 既然这样,那就回去查看源代码吧 好像没什么用 抓个包 得到一个文件名 404 如果包含"../"、"tp"、"input"或"data",则输出"…

UE5 C++ 不规则按钮识别,复选框不规则识别 UPIrregularWidgets

插件名称:UPIrregularWidgets 插件包含以下功能 你可以点击任何图片,而不仅限于矩形图片。 UPButton、UPCheckbox 基于原始的 Button、Checkbox 扩展。 复选框增加了不规则图像识别功能,复选框增加了悬停事件。 欢迎来到我的博客 记录学习过…

【数据结构】手搓链表

一、定义 typedef struct node_s {int _data;struct node_s *_next; } node_t;typedef struct list_s {node_t *_head;node_t *_tail; } list_t;节点结构体(node_s): int _data;存储节点中的数据struct node_s *_next;:指向 node…

【Win11的Bug】无法在文件夹中创建txt文件

问题 右键只能新建文件夹 , 无法新建txt文本文档 解决办法 将注册表中的一个参数从1改为0即可. 具体内容: WinR输入regeditHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System 将1改为0(下面这张图我已改过) 4.然后重新启动电脑即可 小技…

基于Matlab三点雨流计数法的载荷时间历程分析与循环疲劳评估

随着工程领域中机械设备和结构系统的复杂性不断增加,疲劳分析成为评估其可靠性与使用寿命的关键环节。载荷时间历程数据在疲劳分析中扮演着重要角色,而雨流计数法作为经典的循环计数方法,能够有效地从载荷时间历程中提取疲劳载荷循环信息。本…

二、部署docker

二、安装与部署 2.1 安装环境概述 Docker划分为CE和EE,CE为社区版(免费,支持周期三个月),EE为企业版(强调安全,付费使用)。 Docker CE每月发布一个Edge版本(17.03&…

python + PPT

ppt转化为word 对于PPT中的文本内容,如何转化为word内容呢?下面的代码可以实现如下功能 代码如下: from pptx import Presentation from docx import Documentdef clean_text(text):"""清理文本,移除控制字符&quo…

linux运维命令

防火墙相关命令 防火墙规则查看 firewall-cmd --list-all 禁ping firewall-cmd --permanent --add-rich-rulerule protocol valueicmp drop firewall-cmd --reload 执行完以上命令后,通过firewall-cmd --list-all查看规则生效情况 firewall-cmd --list-all 其…

论文笔记:Asymptotic Midpoint Mixup for Margin Balancing and Moderate Broadening

1. Motivation 在特征空间中,特征之间的collapse会导致representation learning 中的关键问题,这是因为特征之间不可区分。基于线性插值的增强方法(例如 mixup)已经显示出它们在缓解类间塌陷(称为inter-class collaps…

Elasticsearch之索引的增删改查(6.x版本)-yellowcong

1. 节点信息查看 #查看集群健康情况 curl -X GET localhost:9200/_cat/health?v&pretty#查看节点信息 curl -X GET localhost:9200/_cat/nodes?v&pretty 2. 索引管理 在es中,索引就相当于是mysql中的库了。 #查看索引列表 curl -X GET localhost:9200/…

Linux红帽认证有哪些等级?RHCE含金量如何?

工 仲 好:IT运维大本营哈喽,大家好! 红帽认证,作为一个备受瞩目的认证体系,其完善程度在行业内有口皆碑。 它清晰地划分为三个等级,分别是初级、中级和高级,每个等级都具有独特的要求和价值。…

ArcGIS求取多个点距离线要素的最近距离以及距离倒数

本文介绍在ArcMap软件中,对于点要素中的每一个点,求取其距离最近的道路的距离、距离倒数的方法。 首先,看一下本文的需求。现在已知一个点要素,其中含有多个点,假设每一个点表示城市中的一家商店;同时&…

大数据实验E5HBase:安装配置,shell 命令和Java API使用

实验目的 熟悉HBase操作常用的shell 命令和Java API使用; 实验要求 掌握HBase的基本操作命令和函数接口的使用; 实验平台 操作系统:Linux(建议Ubuntu16.04或者CentOS 7 以上);Hadoop版本:3…