一、更改 IP
(一) ubuntu
编辑 /etc/netplan/01-netcfg.yaml
network: version: 2 renderer: networkd ethernets: ens33: addresses: [192.168.126.235/24] gateway4: 192.168.126.2 nameservers: addresses: [114.114.114.114] search: [] dhcp4: no optional: true
二、SSH密钥免密登录
ssh-keygen -t rsa -b 2048cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keyschmod 700 ~/.sshchmod 600 ~/.ssh/authorized_keysssh-copy-id 用户名@服务器地址
三、生成随机密码
四、删除文件
(一) 快速删除海量小文件
# 方法一mkdir emptyrsync --delete-before -d empty/ app/# 方法二rsync -avrtpogHP --delete 192.168.1.106::zsbak_data/data4/ /data/data4/
(二) 清空大容量文件
注意:对于正在运行的程序,特别是日志文件,删除释放空间时不能使用 rm 命令;由于程序运行时仍然占用着该文件句柄(使用 lsof 命令查看)。
五、探测端口是否存活
# telnet (Linux)echo -e '\x1dclose\x0d' | telnet www.baidu.com 80echo -e '\x1dclose\x0d' | timeout --signal=9 5 telnet www.baidu.com 80echo -e '\x1dclose\x0d' | timeout 5 telnet www.baidu.com 80# telnet (busybox容器版本)echo | telnet www.baidu.com 80echo | timeout 5 telnet www.baidu.com 80# echoecho >/dev/tcp/目标IP/目标端口## 例如:echo >/dev/tcp/172.16.15.100/22
六、数据查询统计
# MySQL 慢查询日志,统计慢查询日志分布情况grep "Query_time" slow.log | awk '{print $3}' | awk -F'.' '{print $1}' | sort -n | uniq -c
七、查看脚本所在当前目录
basedir=$(cd $(dirname $0); pwd)echo $basedir
八、加解密
(一) base64 加解密
1. 字符串
# 加密echo -n "Hello,World" | base64## 输出:SGVsbG8sV29ybGQ=# 解密echo "SGVsbG8sIFdvcmxkIQ==" | tr -d '\n' | base64 --decode## 输出:Hello, World!
echo -n:-n 选项确保加密时不会在字符串末尾添加换行符。
九、用户过期设置
# 查看用户过期情况chage -l root# 修改用户过期时间(永不过期)chage -M 99999 root# 修改密码echo root@123 | passwd --stdin root
十、history 重定向 rsyslog
yum install -y rsyslogecho 'local1.notice /var/log/history.log' >> /etc/rsyslog.confsystemctl restart rsyslogcat <<"EOF" >> /etc/bashrcexport PROMPT_COMMAND='history -a;timestamp=$(date +%FT%T%z);command=$(history 1| { read x y;echo $y; } );logger -p local1.notice -t bash -i "timestamp=[$timestamp],user=$USER,ppid=$PPID,conn=$SSH_CONNECTION,tty=$SSH_TTY,pwd=$PWD,command=$command"'EOF# 退出并重新登录
十一、普通用户使用 systemd
例如,普通用户为myuser
# 此操作中的funo需替换为实际用户cat <<EOF | tee /etc/polkit-1/rules.d/40-nopasswd_limited.rulespolkit.addRule(function(action, subject) { if (action.id.match("org.freedesktop.systemd1.") && subject.isInGroup("myuser")) { return polkit.Result.YES; }});EOFchmod 644 /etc/polkit-1/rules.d/40-nopasswd_limited.rulessystemctl restart polkit# 配置service目录权限chmod 777 /usr/lib/systemd/system# systemd-journalmkdir -p /var/log/journalchmod 755 /var/log/journalchgrp systemd-journal /var/log/journalchmod g+s /var/log/journalsystemctl restart systemd-journald
十二、手动刷新磁盘容量
echo 1 > /sys/class/block/sda/device/rescan
注意:sda 修改为需要刷新的磁盘。
十三、抓包
/usr/sbin/tcpdump -i eth0 -s 0 -l -w - dst port 3306 and host 10.6.20.61| strings | egrep -i 'SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER|CALL'