1、查看某证书的详细信息,server.crt是对应组件的crt文件;可以校验证书的加密算法,过期时间等
# openssl x509 -in filename.crt -text -noout
2、验证ssl重协商是否开启(重协商协议开启之后,攻击者很容易利用此协议攻击系统,handshake过程数据都是加密的,被攻击者很难察觉到)
先查询接口开放的端口和对应的IP
# netstat -tunpl| grep 8025 // 端口为服务对应的开启端口号
输入命令之后,再输入R,如果不断输入有返回值,则重协商开启;输入R之后结束,则表示重协商协议关闭
# openssl s_client -connect ip:port
3、查询空链接文件
# df -l | awk '{if (NR!=1) print $6}' | xargs -I '{}' find -L '{}' -xdev -type l 2>/dev/null
4、程序中谨慎使用高危命令,防止sudo提权误操作更改系统核心文件与权限,如
执行rm、chown、chmod等高危命令时,需要先判断文件使用场景,是否软连接文件,可以考虑加-h参数防止更改软连接文件
5、ulimit
Linux对于每个用户,系统限制其最大进程数。为提高性能,可以根据设备资源情况,设置各linux 用户的最大进程可以用ulimit -a 来显示当前的各种用户进程限制。
下面我把某linux用户的最大进程数设为10000个:
ulimit -u 10240
对于需要做许多 socket 连接并使它们处于打开状态的 Java 应用程序而言,
最好通过使用 ulimit -n xx 修改每个进程可打开的文件数,缺省值是 1024。
ulimit -n 4096 将每个进程可以打开的文件数目加大到4096,缺省为1024
其他建议设置成无限制(unlimited)的一些重要设置是:
数据段长度:ulimit -d unlimited
最大内存大小:ulimit -m unlimited
堆栈大小:ulimit -s unlimited
CPU 时间:ulimit -t unlimited
虚拟内存:ulimit -v unlimited
6、 解压rpm包2为源文件,之后可以查看rpm打包文件内容
# rpm2cpio $rpm_file | cpio -div
7、 绑定和解除IP
# ip address del ip dev $BASE_BOND
# ip address add ip dev $BASE_BOND
8、查找无属主的文件,防止新用户自动继承无属主文件权限
# find / -nouser
9、查看网卡速率
# /sbin/ethtool eth0 | grep Speed
# 查看所有网卡
Ifconfig
10、 dmidecode -t memery 可以查看主机对应指标的硬件信息,-t相当于--type
[root@localhost ~]$ dmidecode # 打印所有硬件信息
[root@localhost ~]$ dmidecode -q # 打印所有硬件信息,比较简洁
[root@localhost ~]$ dmidecode | grep 'Product Name' # 以过滤的方式来查看指定的硬件信息
[root@localhost ~]$ dmidecode --type bios # 查看BIOS相关的硬件信息
[root@localhost ~]$ dmidecode --type system # 查看系统相关的硬件信息
[root@localhost ~]$ dmidecode --type baseboard # 查看主板相关的硬件信息
[root@localhost ~]$ dmidecode --type chassis # 查看机箱相关的硬件信息
[root@localhost ~]$ dmidecode --type processor # 查看处理器相关的硬件信息
[root@localhost ~]$ dmidecode --type memory # 查看内存相关的硬件信息
11、 获取主机的内存信息
cat /proc/meminfo
12、显示某个进程id的所有子进程
ps -f --ppid 32481
13、根据进程查询父进程id
ps -f -p 32487
14、Top 命令常用选项(此命令可以用来经常排查系统负载,书写性能监控脚本)
选项:
- -d 秒数:指定 top 命令每隔几秒更新;默认是 3 秒;
- -b:使用批处理模式输出。一般和"-n"选项合用,用于把 top 命令重定向到文件中;
- -n 次数:指定 top 命令执行的次数。一般和"-"选项合用;
- -p 进程PID:仅查看指定 ID 的进程;
- -s:使 top 命令在安全模式中运行,避免在交互模式中出现错误;
- -u 用户名:只监听某个用户的进程;
在 top 命令的显示窗口中,还可以使用如下按键,进行一下交互操作:
- ? 或 h:显示交互模式的帮助;
- P:按照 CPU 的使用率排序,默认就是此选项;
- M:按照内存的使用率排序;
- N:按照 PID 排序;
- T:按照 CPU 的累积运算时间排序,也就是按照 TIME+ 项排序;
- k:按照 PID 给予某个进程一个信号。一般用于中止某个进程,信号 9 是强制中止的信号;
- r:按照 PID 给某个进程重设优先级(Nice)值;
- q:退出 top 命令;
15、rpm 常用参数(平时登录环境查看代码更新,系统取包时间、包文件信息等)
-ivh:安装显示安装进度--install--verbose--hash
-Uvh:升级软件包--Update;
-qpl:列出RPM软件包内的文件信息[Query Package list];
-qpi:列出RPM软件包的描述信息[Query Package install package(s)];
-qf:查找指定文件属于哪个RPM软件包[Query File];
-Va:校验所有的RPM软件包,查找丢失的文件[View Lost];
-e:删除包
-qa:查看安装哪些包,一般配合grep可以完成包过滤
-qR: 可以查看安装包依赖
--provides rpm_name 查询套件所提供的兼容度
--qpR: 查看未安装的rpm包依赖