美文网首页
2019-05-05 第七周作业

2019-05-05 第七周作业

作者: ritch | 来源:发表于2019-05-06 16:36 被阅读0次

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

    #!/bin/bash
    #查看proc对应进程下的CPU、内存指标
    read -p "please input pid : " pid
    pid_exist=`ps aux | awk '{print $2}' | grep $pid`
    if [ ! $pid_exist ];then
            echo "$pid is not exist"
    else
            echo 'memory usage :'
            cat /proc/$pid/status | grep ^Vm
            echo 'cpu usage :'
            ps -Lo pid,lwp,pcpu -p $pid
    fi
    

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

    #!/bin/bash
    read -p "please input a ip address : " ip_addr
    read -p "please input a port : " port
    port_stat=`nmap $ip_addr -p $port | grep "^[0-9]" | awk '{print $2}'`
    i=1
    while [ "$i" -le 3 ];do
            if [ "$port_stat" != "open" ];then
                    sleep 10s
            else
                    break
            fi
            let i++
            if [ $i -eq 3 ];then
                    echo "host:$ip_addr port:$port is not open" >> /var/log/host_port.log
            fi
    done
    

    3. 编写脚本/root/bin/execute.sh,判断参数文件是否为sh后缀的普通文件,如果是,添加所有人可执行权限,否则提示用户非脚本文件

    #!/bin/bash
    file=`echo "$1"|sed -nr 's/.*\.(sh$)/\1/p'`
    if [ "$file" = "sh" -a -f "$1" ];then
            chmod a+x $1
            echo "已添加所有人执行权限"
    else
            echo "$1 非脚本文件"
    fi
    
    

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

      1 #!/bin/bash
      2 # 禁止普通用户登录系统
      4 
      5 if [ ! -f "/etc/nologin" ];then
      6     touch "/etc/nologin"
      7 fi
    
      1 #!/bin/bash
      2 #允许普通用户登录系统
      4 
      5 [ -f "/etc/nologin" ] && rm -f /etc/nologin
    

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

    #!/bin/bash
    nl /etc/passwd|awk -F '[[:space:]]+|:' '$2==10||$2==20{i+=$5}END{print i}'
    

    相关文章

      网友评论

          本文标题:2019-05-05 第七周作业

          本文链接:https://www.haomeiwen.com/subject/yflcoqtx.html