1、编写脚本实现传入进程pid,查看对应进程/proc下cpu、内存指标 #!/bin/bash grep '^Vm' /proc/$1/status ps -eo pid,ppid,%cpu,pcpu|grep $1
2、编写脚本实现每分钟检查一个主机端口是否存活(提示使用nmap),如果检查到端口不在线,sleep 10s,如果三次都不存在记录到日志 vim nmap.sh #!/bin/bash for ((i=1;i<=3;i++));do nmap -sS 10.15.51.50 -p135|grep filtered status=$(echo $?) if [ $status -eq 0 ];then sleep 10 else break fi done if [ $status -eq 0 ];then logger "nmap error" fi
3、编写脚本/root/bin/excute.sh,判断参数文件是否为sh后缀的普通文件,如果是,添加所有人可执行权限,否则提示用户非脚本文件 vim /root/bin/excute.sh #!/bin/bash if [[ $1 =~ .sh$ ]];then chmod +x $1 else echo "no .sh file!" fi
4、编写脚本/root/bin/nologin.sh和login.sh 实现禁止和充许普通用户登录系统 vim /root/bin/login.sh #!/bin/bash while read line;do uid=$(echo $line|cut -d: -f3) uname=$(echo $line|cut -d: -f1) if [ $uid -ge 1000 ];then echo $line usermod -s /bin/bash $uname fi done </etc/passwd
vim /root/bin/nologin.sh #!/bin/bash while read line;do uid=$(echo $line|cut -d: -f3) uname=$(echo $line|cut -d: -f1) if [ $uid -ge 1000 ];then echo $line usermod -s /sbin/nologin $uname fi done </etc/passwd
5、编写脚本/root/bin/sumid.sh,计算/etc/passwd文件中的第十个用户和第20用户的ID之和 vim /root/bin/sumid.sh #!/bin/bash num1=`sed -nr '10s#.:([0-9]):[0-9].*#\1#p' /etc/passwd`
num2=`sed -nr '20s#.:([0-9]):[0-9].*#\1#p' /etc/passwd`
echo $[num1+num2]