第七周作业

1、编写脚本实现传入进程pid,查看对应进程/proc下CPU、内存指标

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/bash
#编写脚本实现传入进程pid,查看对应进程/proc下CPU、内存指标
#**************************************************************************************
read -p "Input PID Value: " pid
pid_exist=`ps aux|awk '{print $2}'|grep -w $pid`
if [ ! $pid_exist ];then
       echo "$pid is not exist!!"
  else
      echo "Memory Usage :"
      cat /proc/$pid/status | grep ^Vm
      echo "Cpu Usage : "
      echo " PID LWP CPU% :" 
      ps -eLo pid,lwp,pcpu | grep $pid
 fi

 

2、编写脚本实现每分钟检查一个主机端口是否存活(提示使用nmap),如果检查到端口不在线,sleep 10s,如果三次都不存在则记录到日志

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/bash
#编写脚本实现每分钟检查一个主机端口是否存活(提示使用nmap),如果检查到端口不在线,sleep 10s,如果三次都不存在则记录到日志
#**************************************************************************************
var1=`nmap 192.168.37.128`
var2=`nmap 192.168.37.128 | grep ^[0-9] | awk '{print $2}'| wc -l`
for i in {1..3}; do
      echo 'Execute '$i' times
     if [ $var2 -eq 0 ];then
            sleep 10s  
        else
         echo $var1 >> nmap.log  
         if      
 done 
 

3、编写脚本/root/bin/excute.sh ,判断参数文件是否为sh后缀的普通文件,如果是,添加所有人可执行权限,否则提示用户非脚本文件(创建一个文件test.sh验证)

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
#编写脚本/root/bin/excute.sh ,判断参数文件是否为sh后缀的普通文件,如果是,添加所有人可执
#权限,否则提示用户非脚本文件
#**************************************************************************************
read -p "Please input a filename: " file
if [[ $file =~ .*sh$ ]] ; then
        if [ -f $file ] ; then
                chmod a+x $file
                echo "success"
        fi
else
        echo '非脚本文件' 
fi

 

4、编写脚本/root/bin/nologin.sh和login.sh,实现禁止和充许普通用户登录系统

1
2
3
4
5
6
7
#!/bin/bash
#编写脚本/root/bin/nologin.sh和login.sh,实现禁止和充许普通用户登录系统
#***************************************************************************************
read -p "请输入禁止的用户:" user
uid=$( id $user |tr " " @ |cut -d@ -f1 |grep -o "[0-9]\{3,\}" )
[ $uid -ge 500 ] && usermod -s /bin/nologin $user || echo '该用户为系统用户,无法禁止!'
echo '该用户已禁止登陆'
1
2
3
4
5
#!/bin/bash
read -p "请输入允许登录的用户:" user
uid=$( id $user |tr " " @ |cut -d@ -f1 |grep -o "[0-9]\{3,\}" )
[ $uid -ge 500 ] && usermod -s /bin/bash $user || echo '该用户为系统用户'
echo '该用户已允许登陆'

 

5、编写脚本/root/bin/sumid.sh,计算/etc/passwd文件中的第10个用户和第 20用户的ID之和

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
#编写脚本/root/bin/sumid.sh,计算/etc/passwd文件中的第10个用户和第 20用户的ID之和
#**************************************************************************************
id10=`cat /etc/passwd|head -10|tail -1|cut -d: -f3`
id20=`cat /etc/passwd|head -20|tail -1|cut -d: -f3`
let id=id10+id20                                          
echo "$id"

id10=`cat /etc/passwd|head -10|tail -1|cut -d: -f3`
id20=`cat /etc/passwd|head -20|tail -1|cut -d: -f3`
echo id=$[id10+id20]

 

posted @ 2019-05-04 15:30  N37_shiguoqing  阅读(115)  评论(0编辑  收藏  举报