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

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

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]