Unix口令生成与使用
这个密码有什么用:/etc/shadow linux用户密码就是通过这种方法hash的http basic auth的密码也是通过这种方式生成的
通过openssl生成执行
1234567891011# ubuntuopenssl passwd -6 123456参数的含义: -6 SHA512-based password algorithm -5 SHA256-based password algorithm -apr1 MD5-based password algorithm, Apache variant -1 MD5-based password algorithm# centosopenssl passwd -1 123456
就能生成一串字符串,其中参数6是最长的,1是最短的,后面123456是要加密的密码仔细观察会发现每次生成的密码都是不同的,那是因为每次执行openssl会随机生成一个salt值,可以有效防止字典反推 ...
Shell数学运算
bash 自带的数学运算
不依赖其他包,只要你的shell是bash
1234echo $(( 1 + 1 ))echo $(( 1 - 3 ))echo $(( 10 * 3 ))echo $(( 10 / 3 ))
expr
expr 可以当计算器用不过它主要还是个计数器
字符串操作12345678# 计算字符串长度expr length "hello world"# 抓取字符串,3表示从第3个字符开始,5表示抓取的字符串长度expr substr "hello world" 3 5# 抓取第一个字符串出现的位置expr index "hello world" o
四则运算1234expr 10 % 3expr 10 + 10expr 30 / 3 / 2expr 30 \* 3 # 使用乘号时,必须用反斜线屏蔽其特定含义。
bc
bc 是一个命令行的计算器工具,有些过于精简的发行版没有自带。
支持浮点数四则运算
123456789101112131415161718echo "1. ...
Centos7升级到RHEL8
本文依照redhat官方文档制作,总共分为两步,先将centos7转换为rhel7,然后再将rhel7升级为rhel8
参考文档:cenots7转换为rhel7rhel7升级为rhel8
centos7升级为rhel7升级到centos7最新版1yum update -y && reboot
安装convert2rhel1234567curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release https://www.redhat.com/security/data/fd431d51.txtcurl -o /etc/yum.repos.d/convert2rhel.repo https://ftp.redhat.com/redhat/convert2rhel/7/convert2rhel.repoyum install -y convert2rhel
开始转换12convert2rhel --username <替换为你的用户名> --password <替换为你的密码>不加--pool 会提示手 ...
内核级负载均衡 LVS DR模式 部署记录
DR模式,Director和realserver都在一个内网里面,他们都绑定上同一个VIP, 原理是通过Director Server 修改数据包的MAC地址, 所以得让realserver不响应arp,不然肯定会造成内网IP冲突
规划:
机器
IP
VIP
10.0.0.8
director
10.0.0.41
realserver1
10.0.0.42
realserver2
10.0.0.43
网卡interface
eth0
RealServer设置创建虚拟网卡个人习惯,可选,可以绑定在任何网卡上面
1ip link add ipvs0 type dummy
配置不响应ARP请求方法1: 调整内核参数方法2: 采用arptables12345# 不响应ARP请求, 修改内核参数echo "1" > /proc/sys/net/ipv4/conf/ipvs0/arp_ignoreecho "1" > /proc/sys/net/ipv4/conf/all/arp_ignoreecho &qu ...
Shell指定分隔符
为什么要指定换行符,我们看一个例子
1234567891011#!/bin/bashdata="a b cd e f"for i in $datado echo $idone
输出的结果是:
123456abcdef
因为系统默认把空格和换行都当作了分隔符。为了避免这种情况,我们可以手动指定分隔符:
123456789101112#!/bin/bashdata="a b cd e f"IFS=$'\n' # 指定分隔符为换行for i in $datado echo $idone
这样打印出来的就是:
12a b cd e f
再看一个例子:
123456#!/bin/basha="aa,bb,cc,dd,ee"for i in $ado echo $idone
输出为:aa,bb,cc,dd,ee
我们想要的输出结果可能是这样
12345aabbccddee
可以修改成这样:
123456789#!/bin/basholdIFS=$IFS #定义变量为 ...
Github Actions自动发布博客
偶然发现github actions可以执行一些命令,这下可以把我的crontab停掉了,也不用占用一台机器专门用来发布博客了,并且完全免费!!
首先我的GitHub pages和博客原始文件是分为两个仓库的,在GitHub Pages仓库里添加了一个Actions用来钉钉发通知:
GitHub仓库配置Secret需要先将环境变量配置在 Settings –> Secrets and Variables –> Actions 里面
配置后,可以在actions里面通过 ${{ secrets.dingtalk_secret }} 调用到对应的数据
针对Hexo博客的构建123456789101112131415161718192021222324252627282930313233343536name: Deploy GitHub Pageson: push: branches: - masterjobs: deploy_github_pages: runs-on: ubuntu-latest ...
Windows个人文件夹名字变英文
有时候windows用户文件夹里面有些会变成英文,虽然没什么影响,不过强迫症会不舒服(比如我)
这种情况是由于文件夹内没有desktop.ini导致的,或者desktop.ini权限不正确
desktop.ini 文件是一个隐藏文件
windows10的desktop.ini文件内容下载:
123[.ShellClassInfo]LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21798IconResource=%SystemRoot%\system32\imageres.dll,-184
桌面:
12345[.ShellClassInfo]LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21769IconResource=%SystemRoot%\system32\imageres.dll,-183[{E8A54E83-A4A0-4C7F-B391-DF76B9DB9690}]AppID={1EC9B-E197 ...
KVM虚拟机常用操作记录
添加和删除网卡(虚拟硬件)查看网卡列表1sudo virsh domiflist vm-yaohai
添加网卡(模式桥接到br0)1sudo virsh attach-interface vm-yaohai --type bridge --source br0 --model virtio --config
删除网卡(指定mac地址删除)1sudo virsh detach-interface vm-yaohai --type bridge --mac 52:54:00:61:4c:f3 --config
添加网卡或删除网卡后需要重新定义,不然重启会失效
virsh dumpxml vm-yaohai > /etc/libvirt/qemu/vm-yaohai.xmlvirsh define /etc/libvirt/qemu/vm-yaohai.xml
kvm默认网桥
libvirt默认使用了一个名为default的nat网络,这个网络默认使用virbr0作为桥接接口,使用dnsmasq来为使 ...
Python脚本接受参数
完善一下python脚本,让它支持更完善的参数(长参数、短参数)
12345678910111213141516171819202122232425262728293031323334import getopt, sysdef parse_args(args=sys.argv[1:]): try: opts, args = getopt.getopt(args, "hvc:w:", ["help", "short", "verbose", "critical_num=", "warning_num="]) except getopt.GetoptError as err: print("Input parameter error") sys.exit() verbose = False short = False for opt, arg in opts: if ...
使用mimikatz读取windows密码
github地址
mimikatz 是一个小工具,可以查看到windows加载进内存的密码数据,首先最起码要使用Administrator权限启动
依次执行:
从administrator提升到system
1privilege::debug
获取明文密码
1sekurlsa::logonpasswords