shell 密码生成
echo \`< /dev/urandom tr -dc \_A-Z-a-z-0-9 | head -c32\`
或者
yum install pwgen
pwgen 12位随机密码
列出所有变量
set
查看二进制文件内容
hexdump /usr/sbin/init > 1.txt
检测修复磁盘
e2fsck
随机数取
import random
print (random.randrange(1,29))
vim 粘贴格式乱
set paste
清理cache内存
/etc/sysctl.conf
vm.drop\_caches = 1
vm.drop\_caches = 2
vm.drop\_caches = 3
操作机录写入message
vim rsys.sh
cat >> /etc/profile <<EOF
HISTFILESIZE\=2000
HISTSIZE\=2000
HISTTIMEFORMAT\="%Y%m%d-%H%M%S: "
export HISTTIMEFORMAT
export PROMPT\_COMMAND\='{ command=$(history 1 | { read x y; echo $y; }); logger -p local1.notice -t bash -i "user=$USER,ppid=$PPID,from=$SSH\_CLIENT,pwd=$PWD,command:$command"; }'
EOF
echo "127.0.0.1 secaudit.xf.conf" >>/etc/hosts
echo ':msg,contains, "Did not receive identification string from 127.0.0.1" ~' >>/etc/rsyslog.conf
echo "authpriv.\* @secaudit.xf.conf" >>/etc/rsyslog.conf
echo "local1.notice @secaudit.xf.conf" >>/etc/rsyslog.conf
service rsyslog restart
安装桌面图形化
yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
systemctl set-default graphical.target
configure时
vim auto/cc/gcc
#debug
#CFLAGS="$CFLAGS -g" ##这一行注释起来,关闭编译时的调试模式,这样编译得到的源码包的大小会减少很多
centos7阿里云源安装
wget \-O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget \-O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
解决ssh连接慢的问题
第一个:sed \-i 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/g' /etc/ssh/sshd\_config
第二个:sed \-i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd\_config
第三个:systemctl restart sshd.service
mysql 导入大数据
set global max\_allowed\_packet\=268435456;
show global variables like 'max\_allowed\_packet';
apache 查看并发数
netstat \-n | awk '/^tcp/ {++S\[$NF\]} END {for(a in S) print a, S\[a\]}'
内核升级
这里升级内核方法:
\[root@k8s-master01 ~\]# uname -r
3.10.0-862.el7.x86\_64
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
安装完成后检查 /boot/grub2/grub.cfg 中对应内核 menuentry 中是否包含 initrd16 配置,如果没有,再安装一次!
\[root@k8s-master01 ~\]# yum --enablerepo=elrepo-kernel install -y kernel-lt
设置开机从新内核启动
\[root@k8s-master01 ~\]# grub2-set-default 0
重启机器
\[root@k8s-master01 ~\]# init 6
安装内核源文件(在升级完内核并重启机器后执行,也可以不用执行这一步。可选):
\[root@k8s-master01 ~\]# yum --enablerepo=elrepo-kernel install kernel-lt-devel-$(uname -r) kernel-lt-headers-$(uname -r)
\[root@k8s-master01 ~\]# uname -r
4.4.180-2.el7.elrepo.x86\_64
py随机数
def v\_code():
ret = “”
for i in range(5):
num = random.randint(0,9)
alf = chr(random.randint(65,122))
num\_alf = str(random.choice(\[num,alf\]))
ret +=num\_alf
return ret
print (v\_code())
取消ssl 私钥密码
1.使用openssl命令去掉私钥的密码
openssl rsa -in ~/.ssh/id\_rsa -out ~/.ssh/id\_rsa\_new
2.备份旧私钥
mv ~/.ssh/id\_rsa ~/.ssh/id\_rsa.backup
3.使用新私钥
mv ~/.ssh/id\_rsa\_new ~/.ssh/id\_rsa
4.设置权限
chmod 600 ~/.ssh/id\_rsa
python共享文件(同网段共享大文件)
python -m http.server --directory 共享路径 -b 0.0.0.0 8080
直接访问ip + 端口 即可
可以判断一个命令是否支持
command -v yum
expr 做比较处理
参考文章
https://www.cnblogs.com/f-ck-need-u/p/7231832.html
获取本机ip
IP=\`ip addr |grep inet |sed -n '3p'|awk '{print $2}' |awk -F '/' '{print $1}'\`
邮件发送
vim /etc/mail.rc
\# smtp服务器认证的用户名
\# smtp服务器认证的用户名
set from=larryd.yin@feisu.com
\# smtp服务器的地址
set smtp=smtp.exmail.qq.com
\# 邮件认证的方式
set smtp-auth=login
\# smtp服务器认证的用户名
set smtp-auth-user=larryd.yin@feisu.com
\# smtp服务器认证的用户密码(授权码)
set smtp-auth-password=yfqAyfq1020
\# 忽略验证
set ssl-verify=ignore
set nss-config-dir=/etc/maildbs/
mail -s “test” |mail -s “test1” larryd.yin@feisu.com
时区修改
复制相应的时区文件,替换系统时区文件;或者创建链接文件
cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime
例如:在设置中国时区使用亚洲/上海(+8)
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
服务器启动流程
启动第一步--加载 BIOS
当你打开计算机电源,计算机会首先加载 BIOS 信息,BIOS 信息是如此的重要,以至于计
算机必须在最开始就找到它。这是因为 BIOS 中包含了 CPU 的相关信息、设备启动顺序信
息、硬盘信息、内存信息、时钟信息、PnP 特性等等。在此之后,计算机心里就有谱了,
知道应该去读取哪个硬件设备了。
启动第二步--读取 MBR
众所周知,硬盘上第 0 磁道第一个扇区被称为 MBR,也就是 Master Boot Record,即主
引导记录,它的大小是 512 字节,别看地方不大,可里面却存放了预启动信息、分区表信
息。系统找到 BIOS 所指定的硬盘的 MBR 后,就会将其复制到 0x7c00 地址所在的物理内存中。其实被复制到物理内存的内容就是 Boot Loader,而具体到你的电脑,那就是 lilo 或者 grub了。
启动第三步--Boot Loader
Boot Loader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可
以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,
以便为最终调用操作系统内核做好一切准备。Boot Loader 有若干种,其中 Grub、Lilo 和 spfdisk 是常见的 Loader。我们以 Grub 为例来讲解吧,毕竟用 lilo 和 spfdisk 的人并不多。系统读取内存中的 grub 配置信息(一般为 menu.lst 或 grub.lst),并依照此配置信息来启动不同的操作系统。
启动第四步--加载内核
根据 grub 设定的内核映像所在路径,系统读取内存映像,并进行解压缩操作。此时,屏幕
一般会输出“Uncompressing Linux”的提示。当解压缩内核完成后,屏幕输出“OK,booting the kernel”。系统将解压后的内核放置在内存之中,并调用 start\_kernel()函数来启动一系列的初始化函数并初始化各种设备,完成 Linux 核心环境的建立。至此,Linux 内核已经建立起来了,基于 Linux 的程序应该可以正常运行了。
启动第五步--用户层 init 依据 inittab 文件来设定运行等级
内核被加载后,第一个运行的程序便是/sbin/init,该文件会读取/etc/inittab 文件,并依据
此文件来进行初始化工作。其实/etc/inittab 文件最主要的作用就是设定 Linux 的运行等级,其设定形式是“:id:5:initdefault:”,这就表明 Linux 需要运行在等级 5 上。Linux 的运行等级设定如下:
0:关机
1:单用户模式
2:无网络支持的多用户模式
3:有网络支持的多用户模式
4:保留,未使用
5:有网络支持有 X-Window 支持的多用户模式
6:重新引导系统,即重启
启动第六步--init 进程执行 rc.sysinit
在设定了运行等级后,Linux 系统执行的第一个用户层文件就是/etc/rc.d/rc.sysinit 脚本程序,它做的工作非常多,包括设定 PATH、设定网络配置(/etc/sysconfig/network)、启
动 swap 分区、设定/proc 等等。如果你有兴趣,可以到/etc/rc.d 中查看一下 rc.sysinit 文件。
启动第七步--启动内核模块
具体是依据/etc/modules.conf 文件或/etc/modules.d 目录下的文件来装载内核模块。
启动第八步--执行不同运行级别的脚本程序根据运行级别的不同,系统会运行 rc0.d 到 rc6.d 中的相应的脚本程序,来完成相应的初始化工作和启动相应的服务。
启动第九步--执行/etc/rc.d/rc.local
你如果打开了此文件,里面有一句话,读过之后,你就会对此命令的作用一目了然
rc.local 就是在一切初始化工作后,Linux 留给用户进行个性化的地方。你可以把你想设置
和启动的东西放到这里。
启动第十步--执行/bin/login 程序,进入登录状态
根分区扩容
查看根分区不够用了
![](https://mmbiz.qpic.cn/sz_mmbiz_png/oibefyPicvTky9PQiaiaxyABD3cTIiaVIwTUqNXA6zDvvZjOKYjJbzWlu3nYtOcag4b6yWDnenIZVKQ1ZUZa2CP3x4Q/640?wx_fmt=png)
关掉系统,从新增加一块硬盘,开机。(云主机不用关机直接添加就行)
fdisk –l 本次增加的磁盘叫做/dev/vdb
![](https://mmbiz.qpic.cn/sz_mmbiz_png/oibefyPicvTky9PQiaiaxyABD3cTIiaVIwTUqoQ3b0iayMEA2InahNTOKhniaFFBre1LcLmHvlOnOXCiaO4eNC1zjHL0ug/640?wx_fmt=png)
给新增加的磁盘分区:
fdisk /dev/vdb
输入p,查看分区;(新加的硬盘是没有分区的,如果有 数据可以情况,输入d删除)
输入n ,创建新分区;
输入p,创建主分区
输入1,新建xvdc的第一个主分区,(或者回车即可)
回车(默认从开始分)
输入最大的柱面数,也就是磁盘的最大数;或者回车(默认最大的)
选择格式t
列出格式l
输入格式:8e
查看:p
输入w ,保存退出
重启完成后,pvcreate /dev/vdb1 将/dev/vdb1创建为PV
![](https://mmbiz.qpic.cn/sz_mmbiz_png/oibefyPicvTky9PQiaiaxyABD3cTIiaVIwTUqWicdx6AvjHwiaEb1E9qggGrb6OGvcL7dIhF6wjcyiaiaXs2XVibcB0BfeGA/640?wx_fmt=png)
df –lh 查看根分区的名字,或者说查看需要扩展分区的名字
vgdisplay
![](https://mmbiz.qpic.cn/sz_mmbiz_png/oibefyPicvTky9PQiaiaxyABD3cTIiaVIwTUq5dOcCWHK7QHuqM4iakFck4iaqAGtnIKLyacYNZyLs05kHvaDUFDO6mKQ/640?wx_fmt=png)
vgextend cl /dev/vdb1
将/dev/vdb1扩展成为根分区
![](https://mmbiz.qpic.cn/sz_mmbiz_png/oibefyPicvTky9PQiaiaxyABD3cTIiaVIwTUq2WJlTRKicWUNkyYO25Qzb6YKXCnqTSeEu5kSFRumHWfKJd40uYlwMicA/640?wx_fmt=png)
vgdisplay查看卷组情况,几下Free PE数,
![](https://mmbiz.qpic.cn/sz_mmbiz_png/oibefyPicvTky9PQiaiaxyABD3cTIiaVIwTUqDgZiablAtAAiayIpuX4DXrp6myFBXN1aapdEZf4JBYJy6Yb6dsaAa0ag/640?wx_fmt=png)
查看lvdisplay 查看根LV的Path
![](https://mmbiz.qpic.cn/sz_mmbiz_png/oibefyPicvTky9PQiaiaxyABD3cTIiaVIwTUqPvR7kriceHmia27hGUp2ZbwPzyibXxlkW2ELTYmHcLcoIuB4JGKjSCVvg/640?wx_fmt=png)
扩容整个加的硬盘到根分区:
lvextend -l +100%FREE /dev/cl/root
或者:扩容100G
lvextend -l +100G /dev/cl/root
100G的硬盘总共是25599,而其中一部分是用作标记、或者别的预留,所以要少留一点
查看:lvdisplay
使扩容生效:xfs_growfs /dev/cl/root
Centos6.X 使用:resize2fs /dev/cl/root
![](https://mmbiz.qpic.cn/sz_mmbiz_png/oibefyPicvTky9PQiaiaxyABD3cTIiaVIwTUq1ucg5MYf9GquO6ZGHMsDUEGXvO6N3zFBrKaWZLEjuzLlHnhalbKwBQ/640?wx_fmt=png)
df –lh 查看一下根分区已经扩展好了。
![](https://mmbiz.qpic.cn/sz_mmbiz_png/oibefyPicvTky9PQiaiaxyABD3cTIiaVIwTUqK4GIjN0EINjoUnOjA2TJrXg0uJAxqlYQiaFU04Evb8vBZPYINvPJZMA/640?wx_fmt=png)
vmware 热添加磁盘
添加磁盘后
确定主机总线号
\[root@openstack ~\]# reboot ls /sys/class/scsi\_host/^C
\[root@openstack ~\]# ls /sys/class/scsi\_host/
host0 host1 host2
\[root@openstack ~\]# echo "- - -">/sys/class/scsi\_host/host0/scan
\[root@openstack ~\]# echo "- - -">/sys/class/scsi\_host/host1/scan
\[root@openstack ~\]# echo "- - -">/sys/class/scsi\_host/host2/scan
\[root@openstack ~\]# lslb
\-bash: lslb: command not found
\[root@openstack ~\]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 49G 0 part
├─centos-root 253:0 0 44G 0 lvm /
└─centos-swap 253:1 0 5G 0 lvm \[SWAP\]
sdb 8:16 0 20G 0 disk
sr0 11:0 1 1G 0 rom
\[root@openstack ~\]#
将文件1 的内容逐行拼接到文件2的第一行
awk '{print $1}' 1 |paste - 2
取出括号内的字符
cut -d '(' -f2|cut -d ')' -f1
shell 随机密码
date +%s |sha256sum |base64 |head -c 10 ;echo
抓包分析
tcpdump tcp -i ens33 -t -s 0 -c 100 and dst port ! 22 and src net 10.10.1.0/24 -w ./out.cap
(1)tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型(2)-i eth1 : 只抓经过接口eth1的包(3)-t : 不显示时间戳(4)-s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包(5)-c 100 : 只抓取100个数据包(6)dst port ! 22 : 不抓取目标端口是22的数据包(7)src net 192.168.1.0/24 : 数据包的源网络地址为192.168.1.0/24(8)-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析
为了帮助大家更好的学习网络安全,我给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂这些资料!
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取